Domotica con Arduino e telefono Android

 

Volevo sperimentare qualche progettino per applicazioni domotiche ed ho iniziato con i moduli bluetooth HC-05 ed HC-06..... tralasciando le conosciute ed abbondantemente citate caratteristiche dell'uno e dell'altro modulo , ve li allego in foto .... l'HC-05 a destra e l'HC-06 a sinistra.

 

L'HC-05 l'ho acquistato cosi' diciamo nudo e crudo mentre l'HC-06 gia' montato sulla sua basetta dedicata  con il led di segnalazione ed i piedini per collegarlo agevolmente alle breadboard senza dover fare saldature.

 

Ho velocemente assemblato quindi il modulo HC-06 su una breadboard con l'Arduino Nano ; anche qui le connessioni sono semplici ma ve le indico ugualmente......

 

Attenzione che dietro il modulo bluetooth troverete le indicazioni dei pin quindi colleghiamo il tutto in questo ordine :

 

dal 3,3 volt di Arduino al VCC di HC-06

dal gnd di Arduino al GND di HC-06

dal pin 1 TX1 di Arduino al RXD di HC-06 (primo in alto a destra sul Nano)

          dal pin 2 RX0 di Arduino al TXD di HC-06 ( secondo in alto a destra sul Nano)

 

 

 

 

Questo e' il montaggio completato.

Al solito utilizzo i cavetti Dupont per le connessioni tra i moduli e la Breadboard.

Adesso si tratta di mettere mano allo shield per testare il corretto funzionamento dell'accrocco.

 

Semplicissimo e direi vergognoso listato da dare in pasto alla belva :

 

void setup ()
    {
      Serial.begin(9600);
      pinMode (13, OUTPUT);
    }
    void loop ()
    {
      char c = Serial.read();
      if (c == 'h')
      {
        digitalWrite (13, HIGH);
      }
      if (c == 'l')
      {
        digitalWrite (13, LOW);
      }
    }

 

Praticamente ho indicato ad Arduino Nano di aprire la seriale a 9600 baud , porre il pin 13 in OUTPUT (quello dove in genere e' collegato il led saldato sulla scheda Arduino) , assegnare alla variabile c di tipo char quello che viene letto sul canale seriale ;

 

quindi se da tale canale ricevo il carattere "h" (minuscolo)  pongo il pin 13 a valore HIGH se invcece sempre dal canale seriale ricevo il carattere "l" (minuscolo) pongo il pin 13 a valore LOW ;

 

il led prima si accende e col secondo carattere si spegne.....

 

Si ma adesso mi direte e come faccio a mandare i caratteri ad Arduino tramite il modulo bluetooth HC-06 ???????

 

Giusto !

 

Prendete un telefono Android e scaricate da Google Play un qualsiasi terminale seriale bluetooth , io ho utilizzato Bluetooth Terminal e potete scaricarlo premendo QUI .

 

Adesso nel menu impostazioni del telefono andate in ricerca dispositivi bluetooth ed accoppiate  il modulo HC-06  solitamente digitando il codice 1234 ; 

 

aprite quindi l'app scaricata e  vi verra' chiesto di selezionare il modulo bluetooth che intendete utilizzare e farete click su HC-06 ;

 

a questo punto il led rosso del modulo bluetooth smettera' di lampeggiare e rimarra' fisso indicando cosi' che il link tra il vostro telefono ed il modulo e' stabilito.

 

 

 

 

 

 

Sulla schermata dell'app digitare il carattere "h" minuscolo e poi premete il pulsante Send , cosi' potrete vedere il led di Arduino Nano che si accende....... analogamente se digitate "l" (sempre minuscolo) e premete il tasto Send il led si spegnera'.

 

Piu' facile a farsi che a dirsi.

 

Siccome siamo sperimentatori , utilizziamo il codice Arduino come spunto per ulteriori idee per esempio comandare non piu' una sola utilizzazione ma due o tre o quattro......

 

Proviamo a collegare un sensore di temperatura ad un pin di Arduino Nano interroghiamolo con un carattere e facciamoci trasmettere sempre via Seriale il valore rilevato , convertiamolo in gradi centigradi e tanto altro.

 

Io ho gia' fatto tutto cio' ed ovviamente saro' pronto a rispondere alle vostre domande ed a risolvere eventuali dubbi in merito.

 

Vi anticipo gia' che il prossimo articoletto che presentero' riguardera, la possibilita' di accendere o spegnere per esempio un dispositivo (antifurto , condizionatore , luce interna , caldaia , ecc) tramite una semplice app che scriveremo con Mit App Inventor 2 e sempre tramite il circuitino appena presentato con la sola aggiunta di un moduletto rele'... sara' quindi una app realizzata da ognuno di noi per le personali necessita' senza dovere utilizzare il terminale seriale o app di terzi.

 

Sperimentiamo e soprattutto..... condividiamo.

 

73... Sebastiano