From 7a1eb8975a023313f8adb5852d1849d692a73a93 Mon Sep 17 00:00:00 2001 From: Carmine De Rosa Date: Sat, 28 Sep 2019 18:18:35 +0200 Subject: [PATCH] optimization --- arduino/arduino.ino | 48 +++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/arduino/arduino.ino b/arduino/arduino.ino index f77f3a9..4965250 100644 --- a/arduino/arduino.ino +++ b/arduino/arduino.ino @@ -5,6 +5,8 @@ Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define SERVOMIN 330 // this is the 'minimum' pulse length count (out of 4096) - increasing SERVOMIN decrease speed #define SERVOMAX 390 // this is the 'maximum' pulse length count (out of 4096) +#define TIMER 200 +#define SERVODIVIDER 5 const char HEADER = 'H'; const char A_TAG = 'M'; @@ -64,32 +66,32 @@ void loop() { } } - - while(cycle < 8) { - for(int i=0; i<8; i++) { - Serial.print(values[i]); - Serial.print(" "); - if(values[i]>0) { - values[i]--; - digitalWrite(atomPins[i], HIGH); - //pwm.setPWM(i, 0, SERVOMIN); - if(values[i]==0) { - cycle++; - digitalWrite(atomPins[i], LOW); - //pwm.setPWM(i, 0, ((SERVOMAX-SERVOMIN)/2)+SERVOMIN); - } - } else { - //cycle++; - //digitalWrite(atomPins[i], LOW); - } - } - Serial.println(""); - delay(500); + pwm.setPWM(i, 0, SERVOMIN); + delay(values[i]*SERVODIVIDER); + pwm.setPWM(i, 0, ((SERVOMAX-SERVOMIN)/2)+SERVOMIN); + } - //digitalWrite(13, LOW); + while(cycle < 8) { + for(int i=0; i<8; i++) { + Serial.print(values[i]); + Serial.print(" "); + if(values[i]>0) { + values[i]--; + digitalWrite(atomPins[i], HIGH); + if(values[i]==0) { + cycle++; + digitalWrite(atomPins[i], LOW); + } + } + } + + Serial.println(""); + delay(TIMER); + + //digitalWrite(13, LOW); + } } } - } }