3D-Printed Robotic Hand
Date Created: June - July 2018.
Fields: Bioengineering, Electrical Engineering, Mechanical Engineering, Software Engineering.
Description: A robotic hand that mimics gestures made by the user. Developed during time at BlueStamp Engineering.
Tools Used: Soldering iron, drill, dremel, Arduino IDE.
Basic wiring of project. More images can be found on BlueStamp's Website.
It has yet to be completed, but I am so, so proud of my hand. When I first told a classmate that I was working on it, he said, "Dude, are you sure? That's listed under 'intense'." Sure, I didn't have much experience with any type of engineering (aside from software), but I was determined to make the most of my time at BlueStamp. And, well, if it didn't work out, I could always blame the instructors.
How Does It Work?
To put it simply, the user puts on a special glove that contains fancy sensors. When the user bends their fingers, the corresponding fingers on the robotic hand will bend, too.
The sensors in the glove are flex sensors. These are secured to the glove and are soldered to a PCB, which also houses twenty-five other components. Wires connected to the PCB supply power to the flex sensors using the Arduino board, and read the values given by them. The flex sensors act as variable resistors that change in value according to how much they are bent.
The Arduino board reads these drops in voltage and uses my code to translate them into a certain number of degrees (from 0 to 180). This number is sent to servos installed in the robot, and to Arduino's serial monitor, which essentially gives an inside look of the values as they are being translated.
Each servo has three wires: power, ground, and control. Power and ground are connected to an external battery in order to power the servos. The servos take in the number of degrees given by the Arduino board through their control wires. As they turn, they pull fishing lines that are attached to their horns. These fishing lines are used to bend and straighten the robot's fingers.
All in all, flex sensors read bending from the user's hand. They tell Arduino, who relays the information to the servos in a language that they understand. They then turn, pulling fishing line that is attached to the robot's fingers.
THIS IS THE MOST FRUSTRATING PROJECT I HAVE EVER DONE. I don't even know how to express how many obstacles I reached while constructing it. First, I had to spend hours researching different electrical components, what they do, and how they do it. It doesn't sound like much, but I became very, very antsy, very, very quickly. Jumping right into the project was extremely tempting, but I was years behind my peers in terms of experience and knowledge. I now have a very neatly and strategically organized "BlueStamp notebook" for storing information that I learned during the program.
I also had to be very patient with my soldering. Don't get me wrong, it's pretty fun, but soldering THIRTY different components onto a little PCB is very tedious. Even more tedious was threading the fishing line through the robot's fingers and onto the servos. If the lines weren't at the exact tightness that they should've been in, the entire finger would bend incorrectly. I spent a week attaching all the lines to the servos.
The cherry on top was restarting. I lost control of my servos, the fishing lines became tangled, and I accidentally shorted my very powerful battery. I ended up cutting all of the fishing line, removing them, and starting again. My wiring was still intact, but restarting the fishing line pretty much meant moving back to square one. I was more or less okay with this, since I could go back and fix things that I regretted doing. I'd much rather have a working project than a dysfunctional pile of wires, anyway. As of now, I'm still working on putting the fishing line back in a more efficient and permanent way. Wish me luck.
PCB is short for "Printed Ciruit Board". If that still doesn't make sense, imagine a tiny plate with a bunch of holes. Wires and other stuff are poked into these holes and are connected using something called "solder". ↩︎
Arduino's serial monitor is basically a printer, but it prints words onto a screen instead of onto a paper. If I ask Arduino to show me how many degrees it wants the servos to turn before they actually turn, it will tell me in the serial monitor. This is super helpful for debugging! ↩︎