PAPPAFAVA RACCOLTA MATERIALE PAPPAFAVA CRISTIAN

15. Controllare Arduino via bluetooth con Android

  • Messaggi
  • OFFLINE
    PROFPAPPAFAVA
    Post: 70
    Registrato il: 18/11/2017
    Amministrator
    PRINCIPIANTE
    00 20/02/2018 11:13
    Buon giorno a tutti, oggi vediamo una delle componenti che ci serviranno in seguito: il bluetooth.
    Il task di oggi è quindi quello di far comunicare via bluetooth Arduino e un dispositivo Android che potrebbe essere uno smartphone o un tablet.


    Elenco tutti i componenti necessari al progettino:
    Arduino
    Modulo bluetooth ZS-040 HC-06.
    Va bene anche HC-05, vediamo in seguito le differenze
    Un led
    Una resistenza da 330Ω
    Uno smartphone o un tablet Android

    Modulo bluetooth
    Il modulo bluetooth che ho a disposizione è uno ZS-040 HC-06.
    HC-05 e HC-06 usano la stessa board, ma hanno delle differenze sostanziali:

    HC-06 non ha un pulsante di switch che in HC-05 serve alla configurazione del modulo
    HC-06 ha solo 4 pin (a differenza di HC-05 che ne ha 6)
    HC-06 può funzionare solo come slave e quindi può accettare solo connessioni. HC-05 invece può anche inizializzare la connessione con un altro device.
    É importante notare che i pin di ricezione RX e di trasmissione TX del modulo bluetooth vanno collegati rispettivamente ai pin TX1 e RX0 di Arduino. Questo perché ciò che viene trasmesso dal modulo bluetooth viene ricevuto da arduino e vice versa.




    Come vediamo dall'immagine anche sopra, HC-06 ha 4 pin:
    VCC dal quale prende l'alimentazione. Il modulo funziona ad una tensione che va dai 3.6V ai 6V
    GND è terra
    RX e TX sono i due pin per la comunicazione seriale con Arduino


    [Modificato da PROFPAPPAFAVA 20/02/2018 11:14]
  • OFFLINE
    PROFPAPPAFAVA
    Post: 70
    Registrato il: 18/11/2017
    Amministrator
    PRINCIPIANTE
    00 20/02/2018 11:16
    Esempio di prova
    Ecco un semplice esempio di prova che ci permetterà di vedere le funzionalità base del modulo bluetooth. Nell'immagine qua sotto possiamo vedere il circuito da realizzare (è presente l'HC-05 perché nel programmino che usiamo per disegnare, non c'era). Tramite un'app Android sarà possibile accendere e spegnere il led.

    Collegamento


    Sketch
    char data = 0;

    void setup(){
    Serial.begin(38400); //Setta il baund per la trasmissione seriale
    pinMode(10, OUTPUT); //Setta il pin del led ad output
    }

    void loop(){
    if(Serial.available() > 0){
    data = Serial.read(); //Legge il dato in arrivo e lo mette in data
    Serial.print(data); //Stampa il valore del dato nel Serial monitor (per vederlo ricordate di impostare il baund a 38400)
    if(data == '1'){ //Se il dato ricevuto è 1, allora...
    digitalWrite(11, HIGH); //...accendi il led e...
    Serial.write("on\n"); //...invia al dispositivo il messaggio "on"
    }else if(data == '0'){ // Altrimenti se è 0 ...
    digitalWrite(11, LOW); //...spegni il led e...
    Serial.write("off\n"); //...invia al dispositivo il messaggio "off"
    }
    }
    }




    NOTA BENE:
    Visto che il bluetooth comunica in seriale, quando si va a caricare lo sketch dal computer ad Arduino, è necessario che i pin RX0 e TX1 siano liberi per evitare confitti. Se i pin sono occupati dal modulo bluetooth, vi sarà un errore che non permetterà la corretta conclusione dell'operazione.




    [Modificato da PROFPAPPAFAVA 20/02/2018 11:19]
  • OFFLINE
    PROFPAPPAFAVA
    Post: 71
    Registrato il: 18/11/2017
    Amministrator
    PRINCIPIANTE
    00 20/02/2018 11:22
    Comandare il led con l'app Android
    Nel Play Store di Google ci sono un sacco di app che ci permettono di comunicare tramite bluetooth con arduino. Una delle migliori, secondo me, è Arduino bluetooth controller.

    L'interfaccia è semplice e intuitiva. Appena entrati, verranno mostrati i dispositivi bluetooth accoppiati e quelli disponibili. Il modulo apparirà con il nome HC-06. Se vi chiede la password inserite 1234. Una volta accoppiati, si presenterà una serie di possibilità come mostrato nell'immagine sottostante.



    Siccome il nostro progetto è un semplice on/off di un led, scegliamo per ora la "switch mode". Un grosso pulsante sarà apparso. Se ci clicchiamo sopra ci chiede di configurarlo. Noi nello sketch avevamo messe il valore 1 per l'acceso e 0 per lo spento, quindi configuriamo come nell'immagine qua sotto.



    Ora avremo un pulsante toggle che ci permetterà di accendere e spegnere il led