<div class="textcontainer"> <br></br> <h1>Introducing... the Grabbot!</h1> <br></br> Here is a quick overview of what it can do in 1 min: <br></br> <iframe width="420" height="315" src="https://youtube.com/embed/hUxlDln2Y8M"> </iframe> <br></br> Here is a full design review and demonstration: <br></br> <iframe width="420" height="315" src="https://youtube.com/embed/WUug37tjBpM"> </iframe> <br></br> Below is every single fusion file that I've used to print these so you can make it yourself! They're in f3d format so you can edit them directly in fusion. If you come across any issues feel free to email me at the email in my about page! <br></br> All of the pieces snap together in a simple way without glue so that everything can be replaced if the PLA breaks. The servo motor slips into the claw and screws into a hole in the side of the lower jaw. <br></br> <a download href='./clawfinal.f3d'> Download the f3d file of the top & bottom of the claw </a> <br></br> <div class="sketchfab-embed-wrapper"> <iframe title="Claw" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/1ef9838ed9c74dd8b842518e3a0e0227/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/claw-1ef9838ed9c74dd8b842518e3a0e0227?utm_medium=embed&utm_campaign=share-popup&utm_content=1ef9838ed9c74dd8b842518e3a0e0227" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Claw </a> by <a href="https://sketchfab.com/HannahBravee?utm_medium=embed&utm_campaign=share-popup&utm_content=1ef9838ed9c74dd8b842518e3a0e0227" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Hannah </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=1ef9838ed9c74dd8b842518e3a0e0227" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div> <br></br> <a download href='./housing.f3d'> Download the f3d file of the arm band </a> <br></br> <div class="sketchfab-embed-wrapper"> <iframe title="Arm Band" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/eca346d80d084324badb6277fdf0d016/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/arm-band-eca346d80d084324badb6277fdf0d016?utm_medium=embed&utm_campaign=share-popup&utm_content=eca346d80d084324badb6277fdf0d016" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Arm Band </a> by <a href="https://sketchfab.com/HannahBravee?utm_medium=embed&utm_campaign=share-popup&utm_content=eca346d80d084324badb6277fdf0d016" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Hannah </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=eca346d80d084324badb6277fdf0d016" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div> <br></br> <a download href='./box hinge.f3d'> Download the f3d file of the hinge mechanism </a> <br></br> <div class="sketchfab-embed-wrapper"> <iframe title="Hinge Joint Box" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/f51dce4b5c474a26b801abfa9e7b7c22/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/hinge-joint-box-f51dce4b5c474a26b801abfa9e7b7c22?utm_medium=embed&utm_campaign=share-popup&utm_content=f51dce4b5c474a26b801abfa9e7b7c22" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Hinge Joint Box </a> by <a href="https://sketchfab.com/HannahBravee?utm_medium=embed&utm_campaign=share-popup&utm_content=f51dce4b5c474a26b801abfa9e7b7c22" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Hannah </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=f51dce4b5c474a26b801abfa9e7b7c22" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div> <br></br> <a download href='./lightbox.f3d'> Download the f3d file of the light box</a> <br></br> <div class="sketchfab-embed-wrapper"> <iframe title="Lightbox" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/dd9b6a55d0d74f6ebc41db903b631e76/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/lightbox-dd9b6a55d0d74f6ebc41db903b631e76?utm_medium=embed&utm_campaign=share-popup&utm_content=dd9b6a55d0d74f6ebc41db903b631e76" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Lightbox </a> by <a href="https://sketchfab.com/HannahBravee?utm_medium=embed&utm_campaign=share-popup&utm_content=dd9b6a55d0d74f6ebc41db903b631e76" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Hannah </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=dd9b6a55d0d74f6ebc41db903b631e76" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div> <br></br> I first created the code for the claw opening/closing mechanism, <br></br> <pre style = "height: 200px; overflow: auto; border: 1px solid black;"> <code> #include < ESP32Servo.h> Servo servo1; const int button1 = D2; // D2 void setup() { servo1.attach (D1); pinMode(button1, INPUT_PULLUP); } void loop() { if (digitalRead(button1) == LOW) { servo1.write(80); delay(200); } if (digitalRead(button1) == HIGH) { servo1.write(150); delay(200); } } </code> </pre> <br></br> Then a separate file for the nightlight. (I used variable names to explain what I'm doing!) <br></br> <pre style = "height: 200px; overflow: auto; border: 1px solid black;"> <code> const int ledPin = D7; const int ldrPin = A0; long lastTimeWeGotMeasurement = 0; long measurementInterval = 1000; void setup() { Serial.begin(9600); pinMode (ledPin, OUTPUT); pinMode (ldrPin, INPUT); } void loop() { long currentTime = millis(); if (currentTime - lastTimeWeGotMeasurement >= measurementInterval) { int ldrStatus = analogRead(ldrPin); if (ldrStatus <=4000) { digitalWrite (ledPin, HIGH); Serial.println ("ON"); Serial.println (ldrStatus); } else { digitalWrite (ledPin, LOW); Serial.println ("OFF"); Serial.println (ldrStatus); } lastTimeWeGotMeasurement = currentTime; } } </code> </pre> <br></br> They're condensed into one code below! <br></br> <pre style = "height: 200px; overflow: auto; border: 1px solid black;"> <code> #include < ESP32Servo.h> Servo servo1; const int button1 = D2; // D2 const int ledPin = D7; const int ldrPin = A0; long lastTimeWeGotMeasurement = 0; long measurementInterval = 1000; void setup() { servo1.attach (D1); pinMode(button1, INPUT_PULLUP); Serial.begin(9600); pinMode (ledPin, OUTPUT); pinMode (ldrPin, INPUT); } void loop() { long currentTime = millis(); if (currentTime - lastTimeWeGotMeasurement >= measurementInterval) { int ldrStatus = analogRead(ldrPin); if (ldrStatus <=4000) { digitalWrite (ledPin, HIGH); Serial.println ("ON"); Serial.println (ldrStatus); } else { digitalWrite (ledPin, LOW); Serial.println ("OFF"); Serial.println (ldrStatus); } //set lastTimeWeGotMeasurement to currentTime lastTimeWeGotMeasurement = currentTime; } if (digitalRead(button1) == LOW) { servo1.write(80); } if (digitalRead(button1) == HIGH) { servo1.write(150); } } </code> </pre> <br></br> <h3> Materials needed</h3> <br></br> 1. The four 3d printed parts above - pla & tpu filament <br></br> 2. Wire <br></br> 3. Led solder <br></br> 4. Small 3x5 mm magnets <br></br> 5. Servo(s) w/ compatible screw <br></br> 6. XIAO esp32c3 microcontroller (or equivalent) <br></br> 7. Photoresistor <br></br> 8. 2-4 10k ohm resistors <br></br> 9. Power source <br></br> 10. USB cable <br></br> 11. Button <br></br> 12. Protoboard & Screws <br></br> 13. LED light(s) <br></br> <br></br> <h3> Equipment needed</h3> <br></br> 1. Soldering iron <br></br> 2. Multimedia 3D printer <br></br> 3. Screwdriver <br></br> 4. Arduino <br></br> 5. Fusion - You'll have to edit the arm band size to fit your own arm! <br></br> <br></br> <h3> Circuitry </h3> <br></br> I first created the circuitry on a breadboard (ex. nightlight circuitry) --> <br></br> <img src="./IMG_0086.jpeg" width = "400"> <br></br> Then soldered it all onto a protoboard (ex. servo circuitry) <br></br> <img src="./IMG_0087.jpeg" width = "400"> <br></br> This is an exact, color coded diagram of the final circuit so you can reproduce it! <br></br> <img src="./File Name 2.JPG" width = "500"> <br></br> <h3>A basic overview of what has changed since my final project integration documentation: <br></br> 1. Multimedia Printing with PLA and TPU to Make the Claw Flexible <br></br> 2. A Functioning Nightlight for Grabbing in the Dark - Code Checks Light Level Constantly W/ Millis() function <br></br> 3. Magnetic Attachment to the Arm Sleeve - W/ Support Spokes for Strength <br></br> 4. Pressure on the Wrist Movement creates the Opening and Closing Effect <br></br> 5. Two Claw Fixtures, Both Run Off of One Power Bank</h3> <br></br> </div>