venerdì 13 novembre 2015

ARDUINO - Bluetooth - I 5 LED

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.

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

2 commenti:

  1. Davvero un bel programma, mi complimento per il lavoro svolto fino ad'ora.Continuerò a seguire i prossimi sketch...

    RispondiElimina