You should upload all of those code and 3D model files somewhere for download, this is super cool stuff! I’m looking into doing something similar to this for my senior project at my engineering program, I want to make a self driving turret to attack my classmates 😂
Thanks so much dude! I just now hooked up two of my little DC fan motors to 3D printed rollers, and have a working shooter mechanism to mount onto this awesome contraption! I’ll keep you updated and put some credit to you on the final piece.
Super cool and looks relatively simple!! But with my limited knowledge of using arduino, I'm sure I would get hung up if I try to make one. Wanting to build a simple head or eye movement devise to track the face as a person walks by. Not too concerned about jerking motion of servos. I'd like to compose the program and load to the arduino and remove from the laptop. Would use a typical webcam camera instead of laptop camera. Use 5v PS, relays if needed, etc. Is that possible? Your video shows using Nano 3.0 but circuit diagram shows Arduino UNO. Will either work? I made arduino controlled Halloween props last year that worked great, but I still have limited knowledge.
To switch to a webcam is as simple as changing one line in the python code, the micro controller should not matter as long as the wiring is that same and the servos are connected to the same IO pins but I have yet to try it. Good luck lmk if you have any other question!
@@owenobrien8804 This is going to be a Halloween project. Trying to get this done well in advance. I will use this for a moving skull head or a pair of eyes tracking a person. I could buy a tracking security camera from Amazon, but making this devise will be more fun! Besides, I want to learn more about this stuff so I can make more projects. Will let you know if I have any hiccups (I'm sure I will). Thanks
@@owenobrien8804 I do have a couple of questions: I have a couple of Arduino boards (actually ELEGOO UNO R3) from previous projects. Will that work? And I noticed there are two programs shown. The video shows one is loaded in the laptop, and the other in the micro controller. Should both be loaded to the controller? Again, I am a novice to this but trying to learn.
@@user-ip7mu8bu6q The elegoo Arduino are the same as normal Arduino with out the Arduino brand personally I prefer to use elegoo because it’s cheaper with the same quality, the code on the laptop is the .py file and can be run with the command: python “name of file.py” and then the Arduino code can then be uploaded using the Arduino IDE.
@@owenobrien8804 I don't know what py file is, but going to look it up. I am a 71 year old retired Engineer who worked at a nuclear generating plant for my whole career, so I am used to researching things. Love learning new stuff so I am going to give this a shot. If I get too hung up, I would appreciate and little help.
Thanks for the video. how can i access to the serial port in both IDE, python IDE and arduino IDE? because when i open the serial monitor on arduino IDE, i can't open it on pycharm ?
When running the python script the serial monitor cannot be open along with the script trying to sends commands to the Arduino. To fix this you must only have one open at a time. In your case I think making sure to have the serial monitor closed before running the program will fix it
0:58 - U can C how it's jerking, and that's because of the servos - they've got min 1 degree steps and nothing you can do. maybe only bldc gimbal motors or steppers with microstepping can do it smoother. I'm bashing my head on similar to get my gopro to rotate left/right with the steering wheel of a car, and with servos, even for 50 euros, the image is terrible, jerking like here
Steppers would be a great improvement because of there greater precision and accuracy! I plan to work with the Nema 17 stepper motors soon and it would be cool to try and implement those into this design. Good luck with your project, post a video of it when it's done I like to check it out!
Like he said steppers are probably better, but I'd just gear the servos down (or use a linkage) and call it a day. Depends on the use case ofc but I think you'd only need 2/3x to 1/2x the range of motion. Just a thought.
Can anybody shed some light on a persistent problem I encounter? With code attached to this video and all of the similar face tracking videos, as soon as the python detects a face, the servo motors instantly move away from the target. I know how servo motors work and I can see how the code is supposed to work, however, every Arduino code gives the same result, the servo motors rapidly move away from the identified face.
Could it be that the servo's are wired backwards, like ground goes to positive and positive goes to ground, in that case switching the wiring might switch the direction of the way to motor turns but im not sure. A way to fix this in the code would be reflecting the image before doing the image processing of finding the face
@@owenobrien8804 Thanks, but I have tried both of these. Added code in python to invert the image. Checked the wiring and reversed it. No difference. I know it’s something in my setup, but I can’t see where. Even connected a picoscope and could see the PWM signal changing as the serial buffer was filled, but the servos still flip out and go to odd and arbitrary position.
somebody pls help me , all the things work fine the arduino code , the servo all of them , but when i run the python code and as it opens up the VIDEO window it works fine for 7-8 seconds after that it stops responding and when there is no face detected it starts responding again and when face is detected it again starts to stop. thanks for reading this
File "c:\Users\sibme\OneDrive\Desktop\Face-Tracking-Turret-main\Face-Tracking-Turret-main\Webcam_Python\face_Detection.py", line 1, in import serial ModuleNotFoundError: No module named 'serial' how can i overcome this issue? please help,sir
Do you have the code for this project? I am doing a similar project, but I will need to modify it for stepper motors instead of servos. Also, is your computer webcam supplying visual data to the device or is it something else?
I have the video from the webcam on my computer processed through Python and then the location for the servos is communicated to the servos over serial communication. The built in computer camera can be switched to a external USB camera by using a different port in the code. Heres a link to the github for a closer look. github.com/OwenTheGreenBean/Face-Tracking-Turret
I’m currently pursuing my computer science degree and have learned CAD and electronics in my free time but to do this as a major I would recommend mechatronics robotics or electrical engineering
The first parameter is string of the file path of the usb device in my case it was /dev/cu.usbserial-110, and then the 9600 is the baud width, this is declared in the arduino code as 9600 and shouldn't have to be changed. To find the first parameter on your own computer when you select ports in the arduino IDE it should say which one you are connected to and by copying that path it should work.
I am from india ....it's very sad to no body share full information like code & software , library to make ..face detect turret 😢😢😢😢😢😢😢help me pls... please share full info step by step
I love that simple example, it's a great base for other projects
its like i know what the other projects are, the ones with bullets in them
thank you so much this is simple but very useful
Merci pour cet exemple simple qui permet de mieux comprendre.
Merci beaucoup
great project
Thank you!
You should upload all of those code and 3D model files somewhere for download, this is super cool stuff! I’m looking into doing something similar to this for my senior project at my engineering program, I want to make a self driving turret to attack my classmates 😂
Awesome heres a github with all the 3D models, circuits, and code. github.com/OwenTheGreenBean/Face-Tracking-Turret
Thanks so much dude! I just now hooked up two of my little DC fan motors to 3D printed rollers, and have a working shooter mechanism to mount onto this awesome contraption! I’ll keep you updated and put some credit to you on the final piece.
@@owenobrien8804 Thank you so much. This is a huge help in starting a project of my own.
@@Discipline0777 Glad to help out!
@@owenobrien8804 😁
Interesting bro
Good job
that's so cool brother
organic jumper wires
Add some firing stuff piw piw piw 😂
so slay
that's awesome
Super cool and looks relatively simple!! But with my limited knowledge of using arduino, I'm sure I would get hung up if I try to make one. Wanting to build a simple head or eye movement devise to track the face as a person walks by. Not too concerned about jerking motion of servos. I'd like to compose the program and load to the arduino and remove from the laptop. Would use a typical webcam camera instead of laptop camera. Use 5v PS, relays if needed, etc. Is that possible? Your video shows using Nano 3.0 but circuit diagram shows Arduino UNO. Will either work? I made arduino controlled Halloween props last year that worked great, but I still have limited knowledge.
To switch to a webcam is as simple as changing one line in the python code, the micro controller should not matter as long as the wiring is that same and the servos are connected to the same IO pins but I have yet to try it. Good luck lmk if you have any other question!
@@owenobrien8804
This is going to be a Halloween project. Trying to get this done well in advance. I will use this for a moving skull head or a pair of eyes tracking a person. I could buy a tracking security camera from Amazon, but making this devise will be more fun! Besides, I want to learn more about this stuff so I can make more projects. Will let you know if I have any hiccups (I'm sure I will). Thanks
@@owenobrien8804
I do have a couple of questions: I have a couple of Arduino boards (actually ELEGOO UNO R3) from previous projects. Will that work? And I noticed there are two programs shown. The video shows one is loaded in the laptop, and the other in the micro controller. Should both be loaded to the controller? Again, I am a novice to this but trying to learn.
@@user-ip7mu8bu6q The elegoo Arduino are the same as normal Arduino with out the Arduino brand personally I prefer to use elegoo because it’s cheaper with the same quality, the code on the laptop is the .py file and can be run with the command: python “name of file.py” and then the Arduino code can then be uploaded using the Arduino IDE.
@@owenobrien8804
I don't know what py file is, but going to look it up. I am a 71 year old retired Engineer who worked at a nuclear generating plant for my whole career, so I am used to researching things. Love learning new stuff so I am going to give this a shot. If I get too hung up, I would appreciate and little help.
Thanks for the video. how can i access to the serial port in both IDE, python IDE and arduino IDE? because when i open the serial monitor on arduino IDE, i can't open it on pycharm ?
When running the python script the serial monitor cannot be open along with the script trying to sends commands to the Arduino. To fix this you must only have one open at a time. In your case I think making sure to have the serial monitor closed before running the program will fix it
0:58 - U can C how it's jerking, and that's because of the servos - they've got min 1 degree steps and nothing you can do. maybe only bldc gimbal motors or steppers with microstepping can do it smoother. I'm bashing my head on similar to get my gopro to rotate left/right with the steering wheel of a car, and with servos, even for 50 euros, the image is terrible, jerking like here
Steppers would be a great improvement because of there greater precision and accuracy! I plan to work with the Nema 17 stepper motors soon and it would be cool to try and implement those into this design. Good luck with your project, post a video of it when it's done I like to check it out!
Like he said steppers are probably better, but I'd just gear the servos down (or use a linkage) and call it a day. Depends on the use case ofc but I think you'd only need 2/3x to 1/2x the range of motion. Just a thought.
Can anybody shed some light on a persistent problem I encounter? With code attached to this video and all of the similar face tracking videos, as soon as the python detects a face, the servo motors instantly move away from the target. I know how servo motors work and I can see how the code is supposed to work, however, every Arduino code gives the same result, the servo motors rapidly move away from the identified face.
Could it be that the servo's are wired backwards, like ground goes to positive and positive goes to ground, in that case switching the wiring might switch the direction of the way to motor turns but im not sure. A way to fix this in the code would be reflecting the image before doing the image processing of finding the face
@@owenobrien8804 Thanks, but I have tried both of these. Added code in python to invert the image. Checked the wiring and reversed it. No difference.
I know it’s something in my setup, but I can’t see where. Even connected a picoscope and could see the PWM signal changing as the serial buffer was filled, but the servos still flip out and go to odd and arbitrary position.
Have you tried other servos or inverting the direction in code?
@AW-xj4un These servos are pretty shoddy. did you try different ones.
@@haseoice I have not tried others but I do have some larger more powerful ones that will work better
GREAT WORK! We'd love to offer you some boards if you may need them in the upcoming content. (PCBWay Daisy)
Cool, thanks! If i have a project that needs then I will let you know!
@@owenobrien8804 Cool thing! feel free to reach out. :)
somebody pls help me , all the things work fine the arduino code , the servo all of them , but when i run the python code and as it opens up the VIDEO window it works fine for 7-8 seconds after that it stops responding and when there is no face detected it starts responding again and when face is detected it again starts to stop.
thanks for reading this
One question, do you have the tinkercad project? It would be really useful when building it
@@eliasready I have the stl files which can be used in your slicer software to print them, it is linked on my GitHub
File "c:\Users\sibme\OneDrive\Desktop\Face-Tracking-Turret-main\Face-Tracking-Turret-main\Webcam_Python\face_Detection.py", line 1, in
import serial
ModuleNotFoundError: No module named 'serial'
how can i overcome this issue? please help,sir
pip install serial
Run this on your terminal
@@kshitijkulkarni4154 yuh yuh‼️
what do u use to run the code on ur laptop?
@@quindelira3010 I’m using the Visual Studio code to open the code and then to run it with visual studio I use a python command in the terminal
Do you have the code for this project? I am doing a similar project, but I will need to modify it for stepper motors instead of servos.
Also, is your computer webcam supplying visual data to the device or is it something else?
I have the video from the webcam on my computer processed through Python and then the location for the servos is communicated to the servos over serial communication. The built in computer camera can be switched to a external USB camera by using a different port in the code. Heres a link to the github for a closer look. github.com/OwenTheGreenBean/Face-Tracking-Turret
github link if possible?
github.com/OwenTheGreenBean/Face-Tracking-Turret
@@owenobrien8804 thanks man
Does anyone know what is it "haarcascade_frontalface_default.xml"?
And what i should replace "/dev/cu.usbserial-11" with or how to find it?
Which feild of engeneering is required to make all thsees devies
I’m currently pursuing my computer science degree and have learned CAD and electronics in my free time but to do this as a major I would recommend mechatronics robotics or electrical engineering
Computer science, but a bit of mechanics for all the CAD and assembly stuff
arduinoData = serial.Serial('/dev/cu.usbserial-110', 9600)
how should i change the /dev/cu.usbserial-110
The first parameter is string of the file path of the usb device in my case it was /dev/cu.usbserial-110, and then the 9600 is the baud width, this is declared in the arduino code as 9600 and shouldn't have to be changed. To find the first parameter on your own computer when you select ports in the arduino IDE it should say which one you are connected to and by copying that path it should work.
@@owenobrien8804 how to copy that path?
@@owenobrien8804 how to copy that path?
I am from india ....it's very sad to no body share full information like code & software , library to make ..face detect turret 😢😢😢😢😢😢😢help me pls... please share full info step by step
Github with all the code and 3D models github.com/OwenTheGreenBean/Face-Tracking-Turret
Are bhikari copy krna hi aata hai kya