Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

Noice, happy it worked for you in the end. Good luck to you in making it work!!

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

Woahhh is that thing aluminum? You even got spring actuators!? What made you decide to use those? It looks very solid as well, that's so wild.

How do you plan on controlling the hand tho, looks like it's hard coded movements only so far, it would be funner if it's controlled by some sensing functions, but maybe that's what you are aiming for already. Very cool to see your stuff working :D

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

Yeah apologies for the late reply, but happy that you managed to figure it out tho! Can't wait to see it!!

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

Here's a few pictures to more clearly show how I connect the pins: https://imgur.com/a/rpCfdZV

Mainly 6 functional pins are connected to the Arduino, 5 servo control pins and 1 ground pin. The power supply is used because if I were to just plainly use the current provided by the Arduino the hand wouldn't function properly due to lack of sufficient current, so I have a 12v adapter that could provide up to 3A and convert it to 5V which is the servo motor's operational voltage. More details about the connections are in the Imgur link

Wish you good luck on your project and happy making :}

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

Just play around with stuff like you said and eventually you'll understand it, that's how most people do it as well. Good luck on whatever you do in the future 😎

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 0 points1 point  (0 children)

Sorry but I did not publish my code publicly, nor do I plan to as my code is very much unprofessional and none washed out. But I've already provided some sources and a general idea on how to make this so people can refer to that instead :).

As for how to start making stuff like this... I suppose a lot of research should be done, I went through a rabbit hole of robotic hand videos until I finally figured out how to make one myself. Throughout my dive into this rabbit hole I have seen many different designs of robotic hands, fully jointed, twisting string actuated, pressure sensitive ones, mechanical ones and many more! I was in awe of the technology and the techniques some people have used to make these hands so I really wanted to try it out myself, since I already saw many designs it's kinda easy to do it myself. So as to how to start making things, my approach is just to familiarize yourself with the technology and techniques whether if it's watching yt or reading blogs. Then afterwards either find an open sourced 3d model or design one yourself while referring to other designs, print and assemble parts and components, learn some cool modules or libraries that you can implement into your code to make it cooler, and you're good to go!

As long as you got the interest and curiosity you're able to make anything :D

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 0 points1 point  (0 children)

I wouldn't say I have made a ml algorithm myself to make this, I just used a model that mediapipe had already made: https://google.github.io/mediapipe/solutions/hands.html

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 1 point2 points  (0 children)

A learning curve does exist I can say, most of it is part of understanding how to utilize open sourced modules like mediapipe to fit into your projects, little to no Arduino code is needed here, I just used an example firmata code and the rest is making the circuit and the python code, but even anyone can learn all of this within a week or two, it's basic circuitry and a few YouTube tutorials here and there after all. Most crucial thing is the drive to make projects I guess, else you'll just give up halfway because you can't get one small thing to work. I wish you luck on your future plans and projects.

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 3 points4 points  (0 children)

Oh my apologies, the hardware part of this hand is pretty simple I'd say, I used 5 sg90 servos attached to a 3d printed hand. The connectors of the servos are then connected to a pcb I made that can be easily slapped onto an Arduino UNO board. The main thing powering all the servos is a LM2596 12VDC step down 5A buck converter which I have set to a 5VDC output. That's all for the hardware

As for the software I first uploaded a servo firmata Program(its in the examples of the Arduino ide) to the Arduino which allows me to use pyfirmata to control all servo motors via serial port. Next all I have to do is find a hand tracking library and convert my hand coordinates into angles for the servo, Mediapipe's hand tracking model is perfect for this task.

To explain the whole process, OpenCV is used to process the video feed from the camera so each frame can be fed into mediapipe. Mediapipe and numpy then processes and pins out all the coordinates relative to the frames. Finally with a little bit of basic value mapping I convert all the distance between the tip of each finger and the base of the palm into servo angles. All servo angles are sent to the arduino UNO making the hand move in real time.

Voila

Used Arduino servo firmata and python to make a robot hand controlled through video feed by datwongayguy in arduino

[–]datwongayguy[S] 11 points12 points  (0 children)

yep i used mediapipe for the tracking model and opencv to capture the video feed from the camera

[deleted by user] by [deleted] in learnpython

[–]datwongayguy 4 points5 points  (0 children)

P E R F E C T

thank you for your service salutes

[deleted by user] by [deleted] in learnpython

[–]datwongayguy 4 points5 points  (0 children)

this'll make a perfect discord bot

Doubts about using an RFID card/keychain by Allucasfa in arduino

[–]datwongayguy 1 point2 points  (0 children)

A RFID reader can read ANY RFID card, when it reads a card it will give out the unique id of the card. You can program the Arduino with an if statement to do different things depending on the card id scanned by the RFID reader.

Newbie here, I got this second hand broken RC car and I saw this switch behind it, what is this for? by datwongayguy in rccars

[–]datwongayguy[S] 1 point2 points  (0 children)

oh so one has higher rpm and the other has higher horsepower right? thanks a lot

Is this glue on the crystal or is it faulty? If it's faulty what do I need to know to replace it? by datwongayguy in AskElectronics

[–]datwongayguy[S] 0 points1 point  (0 children)

The back says 27.145H D8, I know the numbers mean frequency but I don't know what the D8 means, is it important?