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