]> git.piffa.net Git - aerei/blob - aerei/zeta/zeta_5_no_state/zeta_5_no_state.ino
common update, reorder
[aerei] / aerei / zeta / zeta_5_no_state / zeta_5_no_state.ino
1 /* Zeta test
2  *  le funzioni finali sono da controllare
3
4
5 */
6
7 #include <common.h>
8
9
10 // Due LED con lampeggio alternato:
11 Lampeggiatore right = 3;
12 Lampeggiatore left = 5;
13 const byte rtail = 6;
14 const byte ltail = 9;
15 const byte thrPin = A3;
16 byte thr ;
17 int thrIn ;
18
19 long previousMillisA = 0;
20 long previousMillisB = 0;
21
22 unsigned long intervalA = 200;
23 unsigned long intervalB = 200;
24
25 void setup() {
26   left.Invert() ; // Parte da stato invertito rispetto al default
27   pinMode(rtail, OUTPUT);
28   pinMode(ltail, OUTPUT);
29   pinMode(thrPin, INPUT);
30   // Serial.begin(9600);
31
32   randomSeed(analogRead(0));
33 }
34
35 void loop() {
36   thrIn = pulseIn(thrPin, HIGH, 25000);
37   thr = constrain(map(thrIn, 983, 2000, 0, 255), 0, 255) ;
38
39   if (thr >0 && thr < 15) {
40     digitalWrite(rtail, 1);
41 digitalWrite(ltail, 1);
42     digitalWrite(3, 1);
43 digitalWrite(5, 1);
44
45   } else if (thr < 245) {
46         // Due LED con lampeggio alternato:
47     right.Blink(1120 - 4 * thr );
48     left.Blink(1120 - 4 * thr );
49     analogWrite(rtail, thr);
50     analogWrite(ltail, thr);
51   } else {
52     digitalWrite(rtail, !digitalRead(rtail));
53     digitalWrite(ltail, !digitalRead(ltail));
54     delay(random(20, 100));
55
56     //lampA;
57     //lampB;
58
59   }
60   Serial.println(thrIn);
61   Serial.print("\t thr:");
62   Serial.println(thr);
63
64 }
65
66
67 // Functions
68 // TODO: non funzionano :(
69
70
71 void lampA () {
72   // Illumina la coda r a un tempo random
73   if (millis() - previousMillisA > intervalA) {
74     previousMillisA = millis();
75     intervalA = random(50, 255);
76     digitalWrite(rtail, !digitalRead(rtail));
77     // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto,
78     // questo ci permette di non dover avere una variabile per tracciare lo stato.
79
80   }
81 }
82
83 void lampB () {
84   // Illumina la coda l a un tempo random
85
86   if (millis() - previousMillisB > intervalB) {
87     previousMillisB = millis();
88     intervalB = random(50, 255);
89     digitalWrite(ltail, !digitalRead(ltail));
90     // Leggiamo direttamente il registro di ledB e scriviamo il suo opposto,
91     // questo ci permette di non dover avere una variabile per tracciare lo stato.
92
93   }
94 }