4 Comunicazione seriale tra due schede arduino.
5 La prima scheda ha un bottone come input e
6 comunica con un altra scheda che monta un LED come output.
7 Il led della seconda si accende quando rileva
8 la pressione del bottone della prima.
11 // Seconda scheda: output
13 int led = 13; // Questa scheda ha spolo l'output
14 int ledState = 0; // stato attuale del LED
15 int incomingByte; // Dato ricevuto via seriale
18 // the setup routine runs once when you press reset:
20 // initialize the digital pin as an output.
21 pinMode(led, OUTPUT); // Il PIN e' attivato come output
23 Serial.begin(9600); // Attiviamo la seriale
26 // the loop routine runs over and over again forever:
28 if (Serial.available() > 0) {
29 incomingByte = Serial.read();
30 if (incomingByte == 1) { // Verifica se viene ricevuto il dato 1
31 ledState = !ledState ; // Cambia lo stato del LED
34 Serial.print("I received: ");
35 Serial.println(incomingByte);
38 digitalWrite(led, ledState); // Aggiorna lo stato del LED
42 Una connessione analogica permette di passare un solo tipo di segnale
43 con eventuale modulazione (8bit in output da PWM e 10bit di scansione
46 - Quanti tipi di dati permette di trasmettere la seriale?
47 - Comandare un LED RGB via PWM via seriale (da una Arduino o da un PC).
48 - Che caratteristiche di latenza si hanno rispetto
49 a una connessione analogica?
50 - Rifare lo sketch utilizzando una STATE MACHINE: quando il
51 il LED viene ACCESO / SPENTO alternativamente alla pressione
53 - Dove dovremo implementare il DEBOUNCE?
54 - Dove implementare la gestione dello STATO?