Benvenuti in questo nuovo post.
Dopo aver precedentemente trattato come usare un modulo bluetooth (HC-06) per accendere un solo LED, ora vedremo come estendere il programma a 5 LED, aggiungendo la possibilità di accenderli tutti o di spegnerli tutti.
Materiale occorrente
- Arduino;
- Modulo Bluetooth HC-06;
- 1x LED;
- Breadboard e cavi di collegamento.
Funzionamento del circuito
Con un app Android come Blue Serial si comandano i LED.
Avviando il terminale di Blue Serial andramo a scrivere un singolo carattere che verrà inviato al modulo B/T. Questo modulo poi, tramite i pin RX e TX comunicherà ad Arduino l'azione da eseguire.
Per come è scritto il programma, quando verrranno inviate lettere maiuscole si accenedranno le uscite, al contrario, quando si invieranno lettere minuscole, le uscite si spegneranno.
Per come è scritto il programma, quando verrranno inviate lettere maiuscole si accenedranno le uscite, al contrario, quando si invieranno lettere minuscole, le uscite si spegneranno.
Lo sketch
Non credo ci sia nulla da spiegare, dato che lo sketch si commenta da sé.
void setup() { //Definisce i pin a cui sono collegati i LED pinMode(13, OUTPUT); //Rosso pinMode(12, OUTPUT); //Giallo pinMode(11, OUTPUT); //Bianco pinMode(10, OUTPUT); //Verde pinMode(9, OUTPUT); //Blu //Inizializza la comunicazione seriale Serial.begin(9600); } void loop() { //Legge un carattere dal seriale e lo pone in c char c = Serial.read(); //Se il carattere letto è 'R' accende il LED rosso if (c == 'R') { digitalWrite (13, HIGH); } //Se il carattere letto è 'r' spegne il LED rosso if (c == 'r') { digitalWrite (13, LOW); } //Se il carattere letto è 'G' accende il LED giallo if (c == 'G') { digitalWrite (12, HIGH); } //Se il carattere letto è 'g' spegne il LED giallo if (c == 'g') { digitalWrite (12, LOW); } //Se il carattere letto è 'W' accende il LED bianco if (c == 'W') { digitalWrite (11, HIGH); } //Se il carattere letto è 'w' spegne il LED bianco if (c == 'w') { digitalWrite (11, LOW); } //Se il carattere letto è 'V' accende il LED verde if (c == 'V') { digitalWrite (10, HIGH); } //Se il carattere letto è 'v' spegne il LED verde if (c == 'v') { digitalWrite (10, LOW); } //Se il carattere letto è 'B' accende il LED blu if (c == 'B') { digitalWrite (9, HIGH); } //Se il carattere letto è 'b' spegne il LED blu if (c == 'b') { digitalWrite (9, LOW); } //Se il carattere letto è '0' spegne tutti i LED if (c == '0') { digitalWrite (13, LOW); digitalWrite (12, LOW); digitalWrite (11, LOW); digitalWrite (10, LOW); digitalWrite (9, LOW); } //Se il carattere letto è '1' accende tutti i LED if (c == '1') { digitalWrite (13, HIGH); digitalWrite (12, HIGH); digitalWrite (11, HIGH); digitalWrite (10, HIGH); digitalWrite (9, HIGH); } }
Il circuito
Di seguito ecco il circuito, anch'esso molto semplice.
In questo caso però vogliamo ricordare che il modulo bluetooth deve essere scollegato quando si invia il programma ad Arduino, poiché in caso contrario occuperebbe la porta seriale impedendo al computer di comunicare con la scheda.
Dopo aver inviato il programma ad Arduino occorre scollegarlo dall'alimentazione, collegare il modulo B/T e ricollegare la scheda ad Arduino.
Ricordiamo anche i pin RX (ricevente) e TX (trasmittente) vanno collegati "ad incrociare", vale a dire RX di Arduino su TX del modulo e TX di Arduino su RX del modulo.
Se il mio lavoro vi è piaciuto commentate e ci diamo appuntamento al prossimo sketch!
Lo staff di elettromatica.blogspot.com
Davvero un bel programma, mi complimento per il lavoro svolto fino ad'ora.Continuerò a seguire i prossimi sketch...
RispondiEliminaGrazie. Mi fa piacere che le sia piaciuto il mio lavoro.
Elimina