Lucas; Your Cheering Buddy!

by Yara Karazi in Circuits > Arduino

393 Views, 3 Favorites, 0 Comments

Lucas; Your Cheering Buddy!

2022-06-13 20.37 (2).jpeg
WhatsApp Image 2022-06-03 at 4.33.11 PM.jpeg

Lucas, is the kind of friend you need when you are feeling blue, and in need for some encouragement. He always has your back! Showering you with fist-bumps and hi-fives right when needed! On a side note, Lucas is also short tempered, you don’t want to trigger him. Trust us! 😉


(This project is part of the Computational Design and Digital Fabrication course offered by ICD (Institute for Computational Design and Construction) in the ITECH M.Sc. Program at the University of Stuttgart).

Project by: Hussam Gomaa, Yara Karazi, Bruno Migliavacca Santos

Supplies

Here's what you will need to build your own super cool cheering buddy!


1. Body Components:

a. Model Design + 3D print

b. Gears

c. Connector 

d. Fixing Screws

e. Fishing Wires

f. Mesh Fabric (for fingers Reinforcement)

g. TPU Filament (Palm)

h. PLA Filament (Wrist + Arm)


2. Electronic Components:

a. Arduino Uno microcontroller

b. Breadboard (half)

c. Micro Servo Motor (SG90 x 5) 

d. Micro Servo Motor ( MG995 x1)

e. Ultrasonic Sensor (HC-SR04 Module)

f. Capacitors (100uF x3)

g. Resistors (10K x 3)

h. Buttons (3)

i. Jumper Wires

j. Power Adapter 5V 4a


3. Prototyping Tools:

a. Superglue

b. Cutter

c. Screwdriver 

d. Dremel multi-functioning tool

e. Double-tape


Modeling Process

sD.JPG
xdfdf.JPG

The modeling process for Lucas went through 3 stages. Starting with the hand palm where we used the ADA HAND V1.1 from Open Bionics (Link attached). The model was modified accordingly to fit the 5 servo motors needed to actuate and control the fingers movement. The second part of the modeling process is the wrist piece that also hold the bigger servo motors used to move the palm in 2-axis direction. Finally the arm piece that is connected to the wrist through 2 gears on both sides, with a supporting connector piece on one side. The arm is hollowed from the inside allowing all wirings to pass through freely to the breadboard and Arduino /uno controller.


Link to the Open Bionics 3D hand model: https://openbionicslabs.com/downloads

Circuit Diagram

Lucas Sketch_01.jpg
Lucas Sketch_schem.png

Code

Our Arduino Sketch goes as follows!

#include <Servo.h>

Servo servo1;

Servo servo2;

Servo servo3;

Servo servo4;

Servo servo5;

int trigPin = 7;

int echoPin = 8;

long distance;

long duration;

int counter = 0;

void setup() {

servo1.attach(3);

servo2.attach(5);

servo3.attach(6);

servo4.attach(9);

servo5.attach(10);


pinMode(2,INPUT);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);


}

void loop()

{

int randomvalue[] = {0,1,2,3};

const size_t n = sizeof(randomvalue) / sizeof(randomvalue[0]);

if(digitalRead(8)==LOW){

for (size_t i = 0; i < n - 1; i++)

{

size_t j = random(0, n - i);

int t = randomvalue[i];

randomvalue[i] = randomvalue[j];

randomvalue[j] = t;

delay(100);

}

}


ultra();{

if(randomvalue[0] == 0){

servo1.write(0);

servo2.write(0);

servo3.write(0);

servo4.write(0);

servo5.write(0);

}

else if(distance <= 10 && randomvalue[1] == 1)

{

servo1.write(90);

servo2.write(90);

servo3.write(0);

servo4.write(90);

servo5.write(90);

}

else if(distance <= 10 && randomvalue[2] == 2)

{

servo1.write(0);

servo2.write(90);

servo3.write(90);

servo4.write(0);

servo5.write(0);

}

else if(distance <= 10 && randomvalue[3] == 3)

{

servo1.write(90);

servo2.write(90);

servo3.write(0);

servo4.write(0);

servo5.write(90);

}


}

}

void ultra(){

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = duration*0.034/2;

}

Downloads

Assembly Process

adfxcgv.JPG
2022-06-13 20.35 (1).jpeg
2022-06-13 20.36 (3).jpeg

After the modeling process, we 3D printed our pieces using TPU filament for the hand palm to add more flexibility to the fingers actuation, and PLA filament was used for the wrist & arm parts as they require firmness and rigidity. After the 3D printing process was done, we started the model assembly process. Starting with inserting fishing wires through the fingers, attaching them to our 5 servo motors placed into the back of the palm, connected all the way to the arduino controller. We then attached the palm piece to the wrist using 2 gears on both sides that also connects the wrist to the arm.

Hand Gesturing

giffa.gif

Finally, we got Lucas to be able to perform different hand gestures using Ultrasonic Sensor, and a button to hovers in between the gestures!


We hope you enjoyed our project. Please do not hesitate to reach out for any questions. We would also love to hear your feedbacks and suggestions for the further development of our Lucas! Adios! :)