From: eaman Date: Wed, 4 Jan 2017 00:24:42 +0000 (+0100) Subject: zeta blink with throttle X-Git-Url: http://git.piffa.net/web?a=commitdiff_plain;h=59b4aa467169863cc282c9fe99e28f7ffc3fbe7e;p=aerei zeta blink with throttle --- diff --git a/zeta_full_1/zeta_full_1.ino b/zeta_full_1/zeta_full_1.ino index 768c772..5a2e752 100644 --- a/zeta_full_1/zeta_full_1.ino +++ b/zeta_full_1/zeta_full_1.ino @@ -25,15 +25,16 @@ void setup() { } void loop() { - // Due LED con lampeggio alternato: - right.Blink(); - left.Blink(); + thrIn = pulseIn(thrPin, HIGH, 25000); - thr = constrain(map(thrIn, 983, 2000, 0, 255),0,255) ; + thr = constrain(map(thrIn, 983, 2000, 0, 255), 0, 255) ; + // Due LED con lampeggio alternato: + right.Blink(1630 - 6 * thr ); + left.Blink(1630 - 6 * thr ); analogWrite(rtail, thr); analogWrite(ltail, thr); Serial.println(thrIn); Serial.print("\t thr:"); Serial.println(thr); - + } diff --git a/zeta_full_millis_3/zeta_full_millis_3.ino b/zeta_full_millis_3/zeta_full_millis_3.ino new file mode 100644 index 0000000..b5c1d8e --- /dev/null +++ b/zeta_full_millis_3/zeta_full_millis_3.ino @@ -0,0 +1,78 @@ +/* Esempi Vari + +Vari esempi di utilizzo della libreria. +*/ + +#include + + +// 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 ; + +long previousMillisA ; +long previousMillisB; + +void setup() { + left.Invert() ; // Parte da stato invertito rispetto al default + pinMode(rtail, OUTPUT); + pinMode(ltail, OUTPUT); + pinMode(thrPin, INPUT); + Serial.begin(9600); + + randomSeed(analogRead(0)); +} + +void loop() { + + thrIn = pulseIn(thrPin, HIGH, 25000); + thr = constrain(map(thrIn, 983, 2000, 0, 255), 0, 255) ; + // Due LED con lampeggio alternato: + right.Blink(1630 - 6 * thr ); + left.Blink(1630 - 6 * thr ); + if (thr < 240) { + analogWrite(rtail, thr); + analogWrite(ltail, thr); + } else { + lampA ; + lampB; + } + Serial.println(thrIn); + Serial.print("\t thr:"); + Serial.println(thr); + +} + + +// Functions + +static byte intervalA ; +static byte intervalB ; + +void lampA () { + // Illumina la coda r a un tempo random + if (millis() - previousMillisA > intervalA) { + previousMillisA = millis(); + digitalWrite(rtail, !digitalRead(rtail)); + // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto, + // questo ci permette di non dover avere una variabile per tracciare lo stato. + intervalA = random(50,255); + } +} + +void lampB () { + // Illumina la coda l a un tempo random + + if (millis() - previousMillisB > intervalB) { + previousMillisB = millis(); + digitalWrite(ltail, !digitalRead(ltail)); + // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto, + // questo ci permette di non dover avere una variabile per tracciare lo stato. + intervalB = random(50,255); + } +} diff --git a/zeta_full_millis_4_test/zeta_full_millis_4_test.ino b/zeta_full_millis_4_test/zeta_full_millis_4_test.ino new file mode 100644 index 0000000..def2986 --- /dev/null +++ b/zeta_full_millis_4_test/zeta_full_millis_4_test.ino @@ -0,0 +1,87 @@ +/* Esempi Vari + +Vari esempi di utilizzo della libreria. +*/ + +#include + + +// 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 ; + +long previousMillisA = 0; +long previousMillisB = 0; + +unsigned long intervalA =200; +unsigned long intervalB = 200; + +void setup() { + left.Invert() ; // Parte da stato invertito rispetto al default + pinMode(rtail, OUTPUT); + pinMode(ltail, OUTPUT); + pinMode(thrPin, INPUT); + // Serial.begin(9600); + + randomSeed(analogRead(0)); +} + +void loop() { + + thrIn = pulseIn(thrPin, HIGH, 25000); + thr = constrain(map(thrIn, 983, 2000, 0, 255), 0, 255) ; + // Due LED con lampeggio alternato: + right.Blink(1630 - 6 * thr ); + left.Blink(1630 - 6 * thr ); + if (thr < 245) { + analogWrite(rtail, thr); + analogWrite(ltail, thr); + } else { + digitalWrite(rtail, !digitalRead(rtail)); + digitalWrite(ltail, !digitalRead(ltail)); + delay(random(20,100)); + +//lampA; +//lampB; + + } + Serial.println(thrIn); + Serial.print("\t thr:"); + Serial.println(thr); + +} + + +// Functions +// TODO: non funzionano :( + + +void lampA () { + // Illumina la coda r a un tempo random + if (millis() - previousMillisA > intervalA) { + previousMillisA = millis(); + intervalA = random(50,255); + digitalWrite(rtail, !digitalRead(rtail)); + // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto, + // questo ci permette di non dover avere una variabile per tracciare lo stato. + + } +} + +void lampB () { + // Illumina la coda l a un tempo random + + if (millis() - previousMillisB > intervalB) { + previousMillisB = millis(); + intervalB = random(50,255); + digitalWrite(ltail, !digitalRead(ltail)); + // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto, + // questo ci permette di non dover avere una variabile per tracciare lo stato. + + } +}