Hand Gestures

Hand Gestures

thingiverse

A body-driven prosthetic hand, Raptor Reloaded, is remixed into a servo-driven hand capable of performing gestures. Controlled either by movements detected by an IMU or by an Android app via bluetooth. Print Settings Printer: Fortus Supports: Yes Infill: 35% Notes: Print count: 1: Palm 1: Wrist_plate 1: Servo_holder 1: Retention_clip 2: Wrist_pin 2: Wrist_cap 2: Knuckle_pin 4: Finger_pin 4: Finger_proximal 4: Finger_tip Post-Printing Assembling Hand Follow Raptor Reloaded assembly instructions here: Instructables - Assembly-of-e-NABLEs-Raptor-Reloaded-Hand I purchased my additional materials in a kit from here: 3D Universe - Raptor Hand by e-NABLE - Assembly Materials Kit Stringing the Hand General Breadboard Setup Equipment Used Microcontroller: Teensyduino 3.2 IMU - 6DoF: Sparkfun, LSM6DS3 Servos: SG90 Flex Sensor: Sparkfun Battery Babysitter: Sparkfun BLE Nano, V1.5 Redbear Labs Battery - 800mAh 3.7V: Venom Teensyduino Programming The Teensyduino is made to be programmed via the Arduino IDE. I used version 1.6.11 - download it here: https://www.arduino.cc/en/Main/Software Follow this tutorial to install the "Teensy Loader application" and the "Teensyduino installer" https://www.pjrc.com/teensy/tutorial.html Then you can upload code to the Teensyduino. My final code running on the Teensyduino is here Hand_Project.ino. BLE Nano programming To download firmware on the BLE Nano without the MK20 USB board, we must upload it OTA. Follow the instructions here to install "RedBearLab nRF51822 Boards" add-on to the Arduino IDE:https://github.com/RedBearLab/nRF51822-Arduino/#install-board-package-add-on Download the nRF Connect app onto your Android phone:https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en Arduino Code: In Arduino, once you have the file you want to upload to the BLE Nano: Choose your board (Tools > Board > nRF51822(V1.5 32KB)) Export your sketch as a .hex file: (Sketch > Export Compiled Binary) Upload the .hex file to Google Drive (or just email it to yourself) Here is my .hex file: my_SimpleChat_OTA.hex and the original Arduino sketch that I created it from: my_SimpleChat_new.ino OTA Upload: On your Android phone, Download the .hex file Open the nRF Connect app Power the BLE Nano, and scan until you see "DFU as a device - connect to it the BLE Nano goes into bootloader mode for 5 seconds after resetting, this is when you can connect to it. Unplug and replug power to the chip to force into bootloader mode. Once connected, press the DFU button Choose "Application" Select your file from Downloads Select "no" for the init packet It will now automatically try to upload the application, but the chip is no longer in bootloader mode (5 seconds have passed). Unplug and plug the chip quickly before it exits. If it connects in time, it will upload the application. PCB Design Populated PCB IMU Control The hand has a 6 DoF IMU which is constantly reading accelerations in the x,y, and z directions as well as the angular velocity in those directions. Individual gestures are mapped to certain orientations of the hand (accelerometer data) as well as orientation and velocities. For example, multiple gestures can triggered when the hand is held upright with palm facing out. If the hand is moving forward and backwards quickly, it triggers the "rock on" gesture. If the hand is rotating about the axis of the arm, the "hang loose" gesture is triggered. The Android Application My app was based off of one of Redbear Lab's example apps . Original app: Chat My app: Chat The app searches for and connects to the BLE Nano, and then allows the user to begin sending gesture commands to the hand. The hand automatically begins in the IMU-controlled state, so the user must first press the "start" button and the hand will switch to the app-controlled state. They can now press any gesture button, which sends an integer to the BLE Nano which gets sent through to the Teensyduino. The Teensyduino is set up to echo whatever it receives, so on the bottom of the app screen we can see the numbers we have just sent (mainly for debugging purposes). What I would do differently CAD Design: The two middle servos are just a little too close to not hit each other, when they sweep around. Currently I have the right servo sitting about half a cm higher than the other so it sweeps above the other. PCB Design: In my servo connections, I have the ground and power pins opposite to how they are ordered physically. I had to cut and re-solder the servo wires. The battery connection and the flex sensor connection on the PCB both stick out on the side which sits up against the servo holder. This makes wiring a little awkward, and the pcb cannot sit flush with the servo holder.

Download Model from thingiverse

With this file you will be able to print Hand Gestures with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Hand Gestures.