]> git.piffa.net Git - sketchbook_andrea/blob - serial/serial_comm_rx_state/serial_comm_rx_state.ino
697a39d65b0938653e9e6f910a21da1c87f31bae
[sketchbook_andrea] / serial / serial_comm_rx_state / serial_comm_rx_state.ino
1 /*
2   Serial comm: RX
3  
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.
9  */
10
11 // Seconda scheda: output
12 // PIN 0 = RX
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
16
17
18 // the setup routine runs once when you press reset:
19 void setup() {                
20   // initialize the digital pin as an output.
21   pinMode(led, OUTPUT);       // Il PIN e' attivato come output
22
23   Serial.begin(9600); // Attiviamo la seriale
24 }
25
26 // the loop routine runs over and over again forever:
27 void loop() {
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
32
33       // debug
34       Serial.print("I received: ");
35       Serial.println(incomingByte);
36     }
37   }
38   digitalWrite(led, ledState); // Aggiorna lo stato del LED
39 }
40
41 /* Domande
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 
44  come analog input).
45  
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
52  del bottone.
53  - Dove dovremo implementare il DEBOUNCE?
54  - Dove implementare la gestione dello STATO?
55  */
56
57
58