From: Andrea Manni Date: Sun, 19 Feb 2017 07:58:47 +0000 (+0100) Subject: Notes X-Git-Url: http://git.piffa.net/web?a=commitdiff_plain;h=2974c8b1513b2454f7f8b797f976f95b1b80a25a;p=aerei Notes --- diff --git a/aerei/yak/interrupts/interrupts.ino b/aerei/yak/interrupts/interrupts.ino index 7e1feb1..5973e8d 100644 --- a/aerei/yak/interrupts/interrupts.ino +++ b/aerei/yak/interrupts/interrupts.ino @@ -6,6 +6,7 @@ OUTPUT: 1 PWM motore: 10 2 LED ai lati con lampeggio alternato 1 LED in coda lampeggio a freq doppia + 3 Sequenza di LED da 3 unita' ripetuta 3 volte INPUT: diff --git a/aerei/yak/prototipo/prototipo.ino b/aerei/yak/prototipo/prototipo.ino index 486ec88..9b94212 100644 --- a/aerei/yak/prototipo/prototipo.ino +++ b/aerei/yak/prototipo/prototipo.ino @@ -5,6 +5,7 @@ OUTPUT: 1 PWM motore: 10 2 LED ai lati con lampeggio alternato 1 LED in coda lampeggio a freq doppia + 3 Sequenza di LED da 3 unita' ripetuta 3 volte */ #include diff --git a/aerei/zeta/zeta/zeta.ino b/aerei/zeta/zeta/zeta.ino index 7d0fbdb..9eeb455 100644 --- a/aerei/zeta/zeta/zeta.ino +++ b/aerei/zeta/zeta/zeta.ino @@ -1,7 +1,10 @@ /* Zeta -Nota: rivedere i PWM per come calcolano le pause: -non possono schendere sotto a 1ms +Versione con solo il throttle come input via pulseIn. + +Aggiunta striscia RGB sotto. + + */ #include diff --git a/aerei/zeta/zeta_5_state/zeta_5_state.ino b/aerei/zeta/zeta_5_state/zeta_5_state.ino deleted file mode 100644 index cae5347..0000000 --- a/aerei/zeta/zeta_5_state/zeta_5_state.ino +++ /dev/null @@ -1,88 +0,0 @@ -/* Zeta test - * le funzioni finali sono da controllare - - -*/ - -#include -enum states_available { // Stati della FMS - idle, // Throttle a zero - normal, // Th normale - full, // Th massimo -}; -states_available state ; - -// Due LED con lampeggio alternato: -Lampeggiatore right = 3; -Lampeggiatore left = 5; -const byte rtail = 6; -const byte ltail = 9; -const byte thrPin = A3; -byte thr ; -int thrIn ; - -Pwm rwhite = 3; -Pwm lwhite = 5; -Pwm rtp = 6 ; -Pwm ltp = 9 ; - - -void setup() { - left.Invert() ; // Parte da stato invertito rispetto al default - pinMode(rtail, OUTPUT); - pinMode(ltail, OUTPUT); - pinMode(thrPin, INPUT); - // Warning: serial breaks PWM - Serial.begin(9600); - - randomSeed(analogRead(0)); -} - -void loop() { - - thrIn = pulseIn(thrPin, HIGH, 25000); - thr = constrain(map(thrIn, 983, 2000, 0, 255), 0, 255) ; - -// FMS dispatcher - if ( thr < 10 ) { - state = idle ; - } else if ( thr > 245 ) { - state = full ; - } else { - state = normal ; - } - - switch (state) { - case idle: -rwhite.Up(200); -lwhite.Up(200); -ltp.Up(200); -rtp.Up(200); - break; - - case normal: - // Due LED con lampeggio alternato: - right.Blink(1120 - 4 * thr ); - left.Blink(1120 - 4 * thr ); - analogWrite(rtail, thr); - analogWrite(ltail, thr); - break; - - case full: - // Due LED con lampeggio alternato: - right.Blink(1120 - 4 * thr ); - left.Blink(1120 - 4 * thr ); - digitalWrite(rtail, !digitalRead(rtail)); - digitalWrite(ltail, !digitalRead(ltail)); - delay(random(20, 100)); - break; - } - - - Serial.println(thrIn); - Serial.print("\t thr:"); - Serial.print(thr); - Serial.print("\t state:"); - Serial.println(state); - -} diff --git a/aerei/zeta/zeta_prot/zeta_prot.ino b/aerei/zeta/zeta_prot/zeta_prot.ino index 7243b22..5e24024 100644 --- a/aerei/zeta/zeta_prot/zeta_prot.ino +++ b/aerei/zeta/zeta_prot/zeta_prot.ino @@ -1,82 +1,28 @@ /* Zeta prototipo - Sketch da breadboard, il throttle e' simulato con un potenziometro - o con una RX. - +Test dei vari LED */ #include -enum { // Stati della FMS - idle, // Throttle a zero - normal, // Th normale - full, // Th massimo -} state ; - -// Due LED con lampeggio alternato: -Lampeggiatore right = 13; -Pwm rpwm = 3; - -// Variabili -const byte thrPin = A3; -byte thr ; -int thrIn ; +// Due LED con lampeggio alternato: +Lampeggiatore right = 3; +Lampeggiatore left = 5; +const byte rtail = 6; +const byte ltail = 9; void setup() { - Serial.begin(9600); - pinMode(A3, INPUT); - randomSeed(analogRead(0)); + left.Invert() ; // Parte da stato invertito rispetto al default + pinMode(rtail,OUTPUT); + pinMode(ltail,OUTPUT); + } void loop() { - - // Utilizzando un potenziometro - // thrIn = analogRead(3); - // thr = constrain(thrIn / 4 , 0, 255) ; - - // Utilizzando una RX - thrIn = pulseIn(thrPin, HIGH, 25000); - // Hint: thrIn andrebbe calibrato son un Serial.write - thr = constrain(map(thrIn, 960, 2000, 0, 255), 0, 255); - - // FMS dispatcher - if ( thr < 10 ) { - state = idle ; - } else if ( thr > 245 ) { - state = full ; - } else { - state = normal ; - } - - switch (state) { - case idle: - rpwm.UD(2000); - right.Blink(); - break; - - case normal: - // Due LED con lampeggio alternato: - right.Blink(1120 - 4 * thr ); - rpwm.lSet(thr); - break; - - case full: - digitalWrite(3, HIGH); - rpwm.Set(0); - right.Swap(); - delay(50); - rpwm.Set(255); - right.Swap(); - delay(50); - break; - } - - - Serial.print(thrIn); - Serial.print("\t thr:"); - Serial.print(thr); - Serial.print("\t state:"); - Serial.println(state); - // delay(200); + // Due LED con lampeggio alternato: + right.Blink(); + left.Blink(); + digitalWrite(rtail,HIGH); + digitalWrite(ltail,HIGH); }