From c4e9c738048516fa0e6f7e3a87d73ef8cdaed79f Mon Sep 17 00:00:00 2001 From: Enzo Ribas Date: Wed, 3 Sep 2025 22:13:10 -0300 Subject: [PATCH] Move Finger Starter files and add servo setup examples Renamed and reorganized Finger Starter project files into the new Projects/Finger_Starter directory. Added example Arduino code and documentation for servo motor setup and position control. --- Projects/3D/Finger_Starter/fingerStarter.md | 22 -------- .../FingerStarterKit_InMoov.rar | Bin Projects/Finger_Starter/README.md | 45 ++++++++++++++++ .../ServoMotorSetup/Finger Starter.txt | 49 ++++++++++++++++++ .../ServoMotorSetup/Finger_Starter.ino | 49 ++++++++++++++++++ .../ServoMotorSetup/Servo Angle Set.txt | 13 +++++ .../ServoMotorSetup/Set_Servo_Position.ino | 13 +++++ 7 files changed, 169 insertions(+), 22 deletions(-) delete mode 100644 Projects/3D/Finger_Starter/fingerStarter.md rename Projects/{3D => }/Finger_Starter/FingerStarterKit_InMoov.rar (100%) create mode 100644 Projects/Finger_Starter/README.md create mode 100644 Projects/Finger_Starter/ServoMotorSetup/Finger Starter.txt create mode 100644 Projects/Finger_Starter/ServoMotorSetup/Finger_Starter.ino create mode 100644 Projects/Finger_Starter/ServoMotorSetup/Servo Angle Set.txt create mode 100644 Projects/Finger_Starter/ServoMotorSetup/Set_Servo_Position.ino diff --git a/Projects/3D/Finger_Starter/fingerStarter.md b/Projects/3D/Finger_Starter/fingerStarter.md deleted file mode 100644 index 9bb9afe..0000000 --- a/Projects/3D/Finger_Starter/fingerStarter.md +++ /dev/null @@ -1,22 +0,0 @@ -# Finger Starter - -"This is going to be interesting!! -We are going to assemble a finger to a small servo for testing it with an Arduino board. The servo I used on the pictures is a digital HK15298 but you can use also a cheap analog MG995 or even cheaper if you find and if the size specifications are the same. -The Arduino board used here is a Arduino Uno. It is best to add an external power supply because even if these servos are small they draw too much current which will or might reboot your board. -At the end of this tuto, there is also a picture that illustrate how to simply connect your servo to the board. -REMEMBER: this connection set up can only power a single servo with low Amps drawing, if your board resets itself, or if the servo jitters, it means your servo is to high power consumption for the power pin. You will need an external power supply." - - -## Parts Needed -- 1 x Servo (HK15298, MG995, or similar) -- 1 x Arduino Uno (or similar) -- 1 x Finger Starter Kit (or similar) - - -- [YouTube: Finger Assembly Tutorial](https://www.youtube.com/watch?v=0t2uhAyf2-c) - -- [Test Your Finger Sensor](https://inmoov.fr/test-your-finger-sensor/) -- [Finger Starter](https://inmoov.fr/finger-starter/) -- [YouTube: Finger Starter Demo](https://www.youtube.com/watch?v=y1LIKOaPQ1E) - -- [YouTube: Servo Connection Guide](https://www.youtube.com/watch?v=UZnay5oXk4g) \ No newline at end of file diff --git a/Projects/3D/Finger_Starter/FingerStarterKit_InMoov.rar b/Projects/Finger_Starter/FingerStarterKit_InMoov.rar similarity index 100% rename from Projects/3D/Finger_Starter/FingerStarterKit_InMoov.rar rename to Projects/Finger_Starter/FingerStarterKit_InMoov.rar diff --git a/Projects/Finger_Starter/README.md b/Projects/Finger_Starter/README.md new file mode 100644 index 0000000..3df4886 --- /dev/null +++ b/Projects/Finger_Starter/README.md @@ -0,0 +1,45 @@ +# Finger Starter + +"This is going to be interesting!! +We are going to assemble a finger to a small servo for testing it with an Arduino board. The servo I used on the pictures is a digital HK15298 but you can use also a cheap analog MG995 or even cheaper if you find and if the size specifications are the same. +The Arduino board used here is a Arduino Uno. It is best to add an external power supply because even if these servos are small they draw too much current which will or might reboot your board. +At the end of this tuto, there is also a picture that illustrate how to simply connect your servo to the board. +REMEMBER: this connection set up can only power a single servo with low Amps drawing, if your board resets itself, or if the servo jitters, it means your servo is to high power consumption for the power pin. You will need an external power supply." + + +## Parts Needed +- 1 x Servo (HK15298, MG995, or similar) +- 1 x Arduino Uno (or similar) +- 1 x Finger Starter Kit (or similar) + + +- [YouTube: Finger Assembly Tutorial](https://www.youtube.com/watch?v=0t2uhAyf2-c) + +- [Test Your Finger Sensor](https://inmoov.fr/test-your-finger-sensor/) +- [Finger Starter](https://inmoov.fr/finger-starter/) +- [YouTube: Finger Starter Demo](https://www.youtube.com/watch?v=y1LIKOaPQ1E) + +- [YouTube: Servo Connection Guide](https://www.youtube.com/watch?v=UZnay5oXk4g) + +## Instructions + +1. Assemble the finger using the Finger Starter Kit. Follow the [Finger Assembly Tutorial](https://www.youtube.com/watch?v=0t2uhAyf2-c) for detailed instructions. + +2. Connect the servo to the Arduino Uno: + - Connect the servo's power wire (usually red) to the 5V pin on the Arduino. + - Connect the servo's ground wire (usually black or brown) to a GND pin on the Arduino. + - Connect the servo's signal wire (usually yellow, orange, or white) to a PWM-capable digital pin on the Arduino (e.g., pin 9). + - If using an external power supply, connect the servo's power wire to the positive terminal of the power supply and the ground wire to the negative terminal. Ensure that the ground of the power supply is connected to the ground of the Arduino. + +3. Setup the Servo Motor + + - 3.1 Setup the Servo Motor Library in the Arduino IDE: + - Open the Arduino IDE on your computer. + - Go to `File` > `Examples` > `Servo` > `Knob`. This example code will allow you to control the servo using a potentiometer. + - Modify the code if necessary to match the pin you connected the servo signal wire to. + + - 3.2 Set the motor to the initial position: + Run the code located at [`ServoMotorSetup/Set_Servo_Position.ino`](ServoMotorSetup/Set_Servo_Position.ino) in your Arduino IDE to set the servo to its initial position. Upload the sketch to your Arduino board and verify that the servo moves to the desired starting angle. + + - 3.2 Upload the Test Code: + - Run the code located at [`ServoMotorSetup/Finger_Starter.ino`](ServoMotorSetup/Finger_Starter.ino) in your Arduino IDE to test the servo's movement. Upload the sketch to your Arduino board and observe the servo's behavior. diff --git a/Projects/Finger_Starter/ServoMotorSetup/Finger Starter.txt b/Projects/Finger_Starter/ServoMotorSetup/Finger Starter.txt new file mode 100644 index 0000000..124352e --- /dev/null +++ b/Projects/Finger_Starter/ServoMotorSetup/Finger Starter.txt @@ -0,0 +1,49 @@ +#include +#include + +SoftwareSerial mySerial(10, 11); //Rx, Tx + +Servo myServo; + +int ServoPos=0; + +void setup() +{ + mySerial.begin(9600); //Set Baudrate of bluetooth to 9600 + myServo.attach(3); //Connect Servo to Pin 3 + myServo.write(ServoPos); +} + +void loop() +{ + int data,i; + if(mySerial.available()) + { + data = mySerial.parseInt(); + if(data == 0) + { + if(ServoPos == 90) + { + for(i=90; i>=0; i--) + { + myServo.write(i); + delay(10); + } + ServoPos = 0; + } + } + + else if(data == 1) + { + if(ServoPos == 0) + { + for(i=0; i<=90; i++) + { + myServo.write(i); + delay(10); + } + ServoPos = 90; + } + } + } +} \ No newline at end of file diff --git a/Projects/Finger_Starter/ServoMotorSetup/Finger_Starter.ino b/Projects/Finger_Starter/ServoMotorSetup/Finger_Starter.ino new file mode 100644 index 0000000..a13d271 --- /dev/null +++ b/Projects/Finger_Starter/ServoMotorSetup/Finger_Starter.ino @@ -0,0 +1,49 @@ +#include +#include + +SoftwareSerial mySerial(10, 11); //Rx, Tx + +Servo myServo; + +int ServoPos=0; + +void setup() +{ + mySerial.begin(9600); //Set Baudrate of bluetooth to 9600 + myServo.attach(3); //Connect Servo to Pin 3 + myServo.write(ServoPos); +} + +void loop() +{ + int data,i; + if(mySerial.available()) + { + data = mySerial.parseInt(); + if(data == 0) + { + if(ServoPos == 90) + { + for(i=90; i>=0; i--) + { + myServo.write(i); + delay(10); + } + ServoPos = 0; + } + } + + else if(data == 1) + { + if(ServoPos == 0) + { + for(i=0; i<=90; i++) + { + myServo.write(i); + delay(10); + } + ServoPos = 90; + } + } + } +} diff --git a/Projects/Finger_Starter/ServoMotorSetup/Servo Angle Set.txt b/Projects/Finger_Starter/ServoMotorSetup/Servo Angle Set.txt new file mode 100644 index 0000000..5df7ee1 --- /dev/null +++ b/Projects/Finger_Starter/ServoMotorSetup/Servo Angle Set.txt @@ -0,0 +1,13 @@ +#include + +Servo myServo; + +void setup() +{ + myServo.attach(3); //Connect Servo to Pin 3 +} + +void loop() +{ + myServo.write(0); //Set Servo Position to 0 +} diff --git a/Projects/Finger_Starter/ServoMotorSetup/Set_Servo_Position.ino b/Projects/Finger_Starter/ServoMotorSetup/Set_Servo_Position.ino new file mode 100644 index 0000000..5df7ee1 --- /dev/null +++ b/Projects/Finger_Starter/ServoMotorSetup/Set_Servo_Position.ino @@ -0,0 +1,13 @@ +#include + +Servo myServo; + +void setup() +{ + myServo.attach(3); //Connect Servo to Pin 3 +} + +void loop() +{ + myServo.write(0); //Set Servo Position to 0 +}