From: eaman Date: Tue, 31 Jan 2017 01:08:38 +0000 (+0100) Subject: Antonino X-Git-Url: http://git.piffa.net/web?a=commitdiff_plain;h=58b4a5699a4b8beffdd19a5f982a739d82d7d660;p=aerei Antonino --- diff --git a/aerei/antonino/bugatti/bugatti.ino b/aerei/antonino/bugatti/bugatti.ino new file mode 100644 index 0000000..00d32d9 --- /dev/null +++ b/aerei/antonino/bugatti/bugatti.ino @@ -0,0 +1,73 @@ +/* Bugatti di Antonino + + 2 LED / Strisce laterali che lampeggiano alternativamente + 1 LED in PWM per il motore + 1 Striscia RGB sotto per tutta la lunghezza delle ali + + Lettura del canale Throttle (3) con la funzione Pulsein +*/ + +#include + +// LED disponibili +Lampeggiatore left = 7; +Lampeggiatore right = 8; +RGBLed sotto(6,5,9); +Pwm motore = 3; + +// RGB +Pwm rsotto = 6; +Pwm gsotto = 5; +Pwm bsotto = 3; + + +// Variabili +const byte thrPin = A3; // PIN collegato al CH3 +byte thr ; // Throttle a 8bit +int thrIn ; // Valore del th in ingresso dal servo +byte caso ; // Valore random + +void setup() { + // I PINs vengono impostati dal constructor al momento + // della dichiarazione dell'ogetto. + pinMode(A3,INPUT); + right.Invert() ; // Opzionale: inverte l'ordine del lampeggio da + // HI -> LOW --> LOW -> HI + // per avere 2 LED che lampeggiano alternativamente + + randomSeed(analogRead(0)); +} + +void loop() { + // Lettura CH3 + thrIn = pulseIn(thrPin, HIGH, 25000); + // Hint: thrIn andrebbe calibrato son un Serial.write + thr = map(thrIn, 983, 2000, 0, 255); + +// Gestione throttle + if (thr > 0 && thr < 15) { + // IDLE + + right.Blink(); + left.Blink(); + gsotto.UD(2000); + motore.UD(2000); + } else if (thr < 245) { + // Throttle medio + + right.Blink(1120 - 4 * thr ); + left.Blink(1120 - 4 * thr ); + bsotto.UD(500 + thr * 4); + motore.lSet(thr); // Luminosita' proporzionale al throttle + } else { + // Throttle al massimo: LED laterali lampeggiano a caso, + // Sotto luminosita' a caso + + caso = random(20, 240) ; + right.Swap(); + left.Swap(); + motore.lSet(caso); + sotto.SetColor(caso,caso,caso); + delay(caso); + } +} diff --git a/aerei/antonino/bugatti_test/bugatti_test.ino b/aerei/antonino/bugatti_test/bugatti_test.ino new file mode 100644 index 0000000..1d73c02 --- /dev/null +++ b/aerei/antonino/bugatti_test/bugatti_test.ino @@ -0,0 +1,39 @@ +/* Bugatti di Antonino + + Esempio base: + 2 LED / Strisce laterali che lampeggiano alternativamente + 1 LED in PWM per il motore PWM + 1 Striscia RGB sotto per tutta la lunghezza delle ali + + Lettura del canale Throttle (3) con la funzione Pulsein +*/ + +#include + +// LED disponibili +Lampeggiatore left = 7; +Lampeggiatore right = 8; +Pwm motore = 3; + +// RGB +Pwm rsotto = 6; +Pwm gsotto = 5; +Pwm bsotto = 3; + +void setup() { + // I PINs vengono impostati dal constructor al momento + // della dichiarazione dell'ogetto. + + right.Invert() ; // Opzionale: inverte l'ordine del lampeggio da + // HI -> LOW --> LOW -> HI + // per avere 2 LED che lampeggiano alternativamente + + randomSeed(analogRead(0)); +} + +void loop() { + right.Blink(); + left.Blink(); + gsotto.UD(2000); + motore.UD(2000); +}