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.
10 Scema: http://lab.piffa.net/schemi/serial_common_bb.png
11 http://lab.piffa.net/schemi/serial_common_schem.png
14 // Prima scheda: input
17 int input = 2; // Questa e' la scheda con un input
19 // the setup routine runs once when you press reset:
21 // initialize the digital pin as an output.
22 pinMode(led, OUTPUT); // Il PIN e' attivato come output
23 pinMode(input, INPUT_PULLUP); // Il PIN e' attivato come output
25 Serial.begin(9600); // Attiviamo la seriale
28 // the loop routine runs over and over again forever:
30 if (digitalRead(input) == LOW) { // Verifica se il bottone e' premuto
31 digitalWrite(led, HIGH);
35 else { // Alterativa: se non e' +5v
36 digitalWrite(led, LOW);
43 Una connessione analogica permette di passare un solo tipo di segnale
44 con eventuale modulazione (8bit in output da PWM e 10bit di scansione
47 1. Quanti tipi di dati permette di trasmettere la seriale?
48 2 Comandare un LED RGB via PWM via seriale (da una Arduino o da un PC).
49 2.1 Come si comportano le latenze?
50 2.2 C'e' perdita di segnale?
51 3. Rifare lo sketch utilizzando una STATE MACHINE: quando il
52 il LED viene ACCESO / SPENTO alternativamente alla pressione
54 - Dove dovremo implementare il DEBOUNCE?
55 - Dove implementare la gestione dello STATO?
75 1. Qualunque tipo di dati, anche lunghi flussi di dati
76 2. Si dovra' trasmettere un segnale da 0-255 e sulla ricevente
77 interpretarlo con http://www.arduino.cc/en/Reference/ParseInt
78 2.1 Tra buffer di trasmissione, timeout e conversione dei valori
79 ci sara' una latenza nel trasferimento dei dati,
80 a differenza di una connessione analigica che e' instantanea
81 ma soggetta a degradazione del segnale.
82 2.2 Non c'e' degradazione o perdita del segnale essendo una
83 trasmissione di dati digitale (fin tanto che non si deteriora
85 3. Vedere lo sketch sucessivo, basandosi su gli sketch della
86 state machine per il bottne: basic/buttons/button_state_4_state_and_condition/