summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRishi-k-s <rishikrishna.sr@gmail.com>2024-07-04 21:28:03 +0530
committerRishi-k-s <rishikrishna.sr@gmail.com>2024-07-04 21:28:03 +0530
commit3c5d0f10f1386bc64716d9e9e7556f45af948c42 (patch)
tree3c3af9c71f6e4ebbad0c6e059c200ed345b7de1f
parentad1163154c61db7a8ebf44110f786c219d0bbc5b (diff)
addeed home position
-rw-r--r--homeposition/homeposition.ino77
-rw-r--r--test/test.ino9
2 files changed, 85 insertions, 1 deletions
diff --git a/homeposition/homeposition.ino b/homeposition/homeposition.ino
new file mode 100644
index 0000000..ed3964f
--- /dev/null
+++ b/homeposition/homeposition.ino
@@ -0,0 +1,77 @@
+#include <Wire.h>
+#include <Adafruit_PWMServoDriver.h>
+
+Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
+uint16_t value = 0; // Use uint16_t for a wider range of values
+uint8_t counter = 0;
+
+#define SERVOMIN 150 // This is the 'minimum' pulse length count (out of 4096)
+#define SERVOMAX 600 // This is the 'maximum' pulse length count (out of 4096)
+
+int homePosCheck =0;
+int i =0;
+void setup() {
+ Serial.begin(9600);
+
+ Serial.println("------------------------");
+ Serial.println("Servo Home Position v1.0a");
+ // Serial.println("Enter Servo Value");
+ // Serial.println("If its 2 digit values enter it with 0 as prefix");
+ // Serial.println("Eg: for 90, type 090");
+ Serial.println("------------------------");
+
+ pwm.begin();
+ pwm.setOscillatorFrequency(27000000);
+ pwm.setPWMFreq(50);
+
+ homePos();
+}
+
+void loop() {
+ // while(homePosCheck == 0){
+ // homePos();
+ // homePosCheck++;
+ // }
+}
+
+
+void homePos() {
+ // (PWM Driver Pin, 0, val of servo)
+ //motor1
+ for(i=500;i>=395;i--){
+ pwm.setPWM(0, 0, i);
+ delay(5);
+ }
+ delay(100);
+ pwm.setPWM(1, 0, 110);
+ delay(100);
+ pwm.setPWM(2, 0, 250);
+ delay(100);
+ pwm.setPWM(3, 0, 380);
+ delay(100);
+ pwm.setPWM(4, 0, 430);
+ delay(100);
+ pwm.setPWM(5, 0, 490);
+ // //motor2
+ // for(i=0;i<=85;i++){
+ // pwm.setPWM(1, 0, i);
+ // delay(10);
+ // }
+ // //motor3
+ // for(i=0;i<=250;i++){
+ // pwm.setPWM(2, 0, i);
+ // delay(10);
+ // }
+ // //motor4
+ // for(i=0;i<=380;i++){
+ // pwm.setPWM(3, 0, i);
+ // delay(10);
+ // }
+ // //motor5
+ // for(i=0;i<=450;i++){
+ // pwm.setPWM(4, 0, i);
+ // delay(10);
+ // }
+
+ // pwm.setPWM(0, 0, 395);
+}
diff --git a/test/test.ino b/test/test.ino
index 845c5ea..f06f00d 100644
--- a/test/test.ino
+++ b/test/test.ino
@@ -56,8 +56,15 @@ void loop() {
if (counter == 3) {
Serial.println(value);
- pwm.setPWM(4, 0, value); // Arguement order => (PWM Driver Pin, 0, val of servo)
+ pwm.setPWM(5, 0, value); // Arguement order => (PWM Driver Pin, 0, val of servo)
+ // pwm.setPWM(0, 1024, 3072);
counter = 0;
value = 0; // Reset value after using it
}
}
+
+
+// void homePos(){
+// (PWM Driver Pin, 0, val of servo)
+// pwm.setPWM(0, 0, value);
+// }