Tag

, , , , , , , ,

Affascinato dalle possibilità di controllare Arduino da un cellulare via bluetooth, ho deciso di acquistare un modulo BT sul sito dx.com. Mentre aspettavo il mio pacchetto, ripassavo e verificavo un po’ della documentazione trovata, per assicurarmi di aver scelto bene.

Il modulo bluetooth è un modello JY-MCU, facile da utilizzare e già pronto per essere collegato ad Arduino. Il modulo è seriale: quindi fornirà una connessione seriale, che sfrutteremo per comunicare con il nostro Arduino.

JY-MCU Modulo Bluetooth

JY-MCU Modulo Bluetooth

Documentazione

Utilizzare un iPhone per comunicare con Arduino – purtroppo – non è possibile: la Apple implementa sul suo telefono la versione 4.0 del BT, mentre il modulo supporta solo fino al protocollo 2.0.

E qui nasce un problema: utilizzare il protocollo 2.0 su iPhone richiede l’autorizzazione di Apple (sissignore), mentre un modulo BT che supporti il protocollo 4.0 è appena uscito ed è ancora piuttosto costoso. PS: era un progetto partito su Kickstarter.

Il modulo JY-MCU aveva delle ottime recensioni. È facile da installare sulla breadboard, perché ha solo 4 pin da collegare. Ed è facile da personalizzare, perché puoi cambiare il nome del network, la password per abbinare il dispositivo, e la frequenza della seriale. Se volete dare un’occhiata a tutti i comandi, li trovate qui.

Arduino Bluetooth JY-MCU Schema

Arduino Bluetooth JY-MCU Schema

Dopo oltre un mese che aspettavo il mio pacchetto (ho fatto l’errore di acquistare meno di $15 di merce, per cui la spedizione non è tracciabile – sic!), mi sono un po’ rotto, e ho deciso di acquistare il modulo su Ebay dalla Spagna. Tempo 4 giorni, e ce l’avevo! Fico!

Come primo esperimento, ho deciso di provare a controllare un LED con il mio MacBook Pro.

Lo sketch

Lo sketch per controllare il LED è piuttosto semplice: legge un dato sulla porta seriale e lo interpreta, per accendere o spegnere il LED:

void loop() {
  // Se ci sono dati da leggere...
  if( Serial.available() ) 
  {
    // ... leggo e salvo il dato.
    val = Serial.read(); 
  }
  // Se il dato e' la lettere 'H'...
  if( val == 'H' ) 
  {
    // ... accendo il LED.
    digitalWrite(ledpin, HIGH); 
  } 
  // Se il dato e' la lettere 'L'...
  else if( val == 'L' ) 
  { 
    // ... spegno il LED.
    digitalWrite(ledpin, LOW); 
  }
  // Attendo 100ms per la prossima lettura
  delay(100); 
}

Abbinamento

Una volta caricato lo sketch su Arduino (non potete farlo con il modulo BT collegato, per uno strano conflitto di comunicazione!), bisogna abbinare il dispositivo al computer. Ed è forse questa è la parte più complicata.

Abbinamento Arduino Bluetooth

Abbinamento Arduino Bluetooth

Aggiungiamo il nuovo dispositivo Bluetooth da: Preferenze di Sistema > Bluetooth. Sulla destra in basso trovate il pulsante ‘+’, oppure cliccate su Configura nuovo dispositivo. Il modulo BT collegato ad Arduino dovrebbe comparire dopo pochi secondi. Aggiungetelo.

Errore Abbinamento Bluetooth

Errore Abbinamento Bluetooth

Una volta fatto questo… riceverete un messaggio di errore! Il modulo è infatti protetto da una password. Cliccate su: Opzioni codice d’accesso, e scrivete 1234 come password. Adesso il vostro computer è abbinato al modulo bluetooth di Arduino!

Abbinamento Bluetooth Corretto

Abbinamento Bluetooth Corretto

Per poter utilizzare lo sketch, tuttavia, serve ancora un passaggio: selezionate il modulo dalle lista, e cliccate in basso a sinistra sulle opzioni (l’icona dell’ingranaggio). Scegliete: Modifica porte seriali, e prendere nota di quanto è scritto in fondo, alla voce: Percorso. Non dovete modificare nulla, solo annotarvi il percorso.

Arduino Bluetooth Porta Seriale

Arduino Bluetooth Porta Seriale

Adesso è tutto pronto: aprite il vostro sketch e andate su: Strumenti > Porta seriale. Selezionate la voce che avete appena trovato in Percorso, ed aprite la comunicazione seriale facendo clic sull’icona della lente in alto a destra. Pronti?

Arduino Bluetooth Monitor Seriale

Arduino Bluetooth Monitor Seriale

Digitate H e premete invio! Il LED su Arduino si accenderà, grazie alla comunicazione seriale creata dal modulo via Bluetooth. Digitate adesso L, e il LED si spegnerà!

Molto semplice, vero?

Download: Arduino_Bluetooth.zip

Annunci