domenica 28 giugno 2015

Braccio robotico controllato tramite bluetooth

Il passaggio successivo per il controllo del braccio robotico è l'utilizzo del modulo Maestro per i movimenti ed il modulo HC-06 per la gestione bluetooth.

Ovviamente è fortemente consigliato aver seguito le guide per il controllo del modulo HC-06: http://goo.gl/JY0qrp

Lo schematico riportato sopra illustra tutti i collegamenti necessari per l'utilizzo.

Per prima cosa dobbiamo cambiare la BAUD del nostro modulo bluetooth, riprendiamo la guida: http://goo.gl/SV2Rym  colleghiamo il modulo HC-06 come indicato nella guida linkata ed utilizzando il comando: AT+BAUD5 andiamo a cambiare la BAUD da 9600 a 19200 .
Abbiamo ora cambiato la frequenza alla quale il nostro modulo bluetooth risponde, ora fissata a 19200.

Ricordo che nell'esempio su GIT HC-06_AT va cambiata la frequenza di risposta alla riga 19.


Ora è tutto pronto per caricare il codice necessario, lo trovate qui: https://goo.gl/Uzz1sJ  sotto la cartella "HC-06__Me_Arm__BT" .

Il codice è commentato, quindi potrete seguire passo passo il funzionamento.

Riporto un breve riassunto d'utilizzo: 
  • Alla pressione del tasto 'a' vi verrà dato un messaggio di benvenuto.
  • Selezionando uno dei 4 motori disponibili, il primo a partire da 0, vi verrà comunicato il motore scelto.
  • Con i tasti 'j' e 'l' rispettivamente, si incrementerà o decrementerò il valore dedicato alla posizione del servo precedentemente selezionato.

giovedì 18 giugno 2015

Accensione d'un led su Arduino da telefono bluetooth

Ora che abbiamo visto come collegare e configurare il nostro HC-06 con Arduino, proviamo un vero e proprio utilizzo in remoto, tramite bluetooth d'un telefono.

Facciamo fede al nostro schema solito:


Una volta collegato come da schema, scarichiamo quest'app dall'Android Store: BlueTerm .
Con quest'app possiamo impartire comandi diretti a tutti i dispositivi bluetooth con i quali ci connetteremo.

Scarichiamo e carichiamo sull'Arduino l'esempio nella cartella "HC-06_blink_led_phone" che troviamo qui: https://goo.gl/CX1fiC


Connessione ed utilizzo:
Apriamo l'app, cerchiamo il nostro dispositivo denominato "HC-06". Alla richiesta della password digitiamo: 1234 .

A questo punto la lucina rossa del nostro HC-06 sarò rossa e fissa, non più lampeggiante, sinonimo d'una avvenuta connessione.
Il dispositivo è pronto a ricevere i comandi.

Se analizziamo il codice caricato tu Arduino, l'idea di base è quella di scrivere nel terminale un carattere 'a' per avere in risposta una scritta, oppure "0" o "1" per accendere o spegnere il led 13.

Questo è un banale ma primo esempio di collegamento e lettura di dati, da parte d'Arduino, ricevuto con il modulo bluetooth.

mercoledì 17 giugno 2015

Modulo HC-06 Bluetooth

Impariamo ad utilizzare il modulo HC-06 Bluetooth da interfacciare con il nostro Arduino.


Come ormai è a tutti noto, i moduli Bluetooth sono ormai ovunque, con la loro semplicità d'utilizzo e connessione. 
Infatti ogni qualvolta vogliamo collegarci ad un dispositivo Bluetooth ci basta cercarlo e collegarci direttamente. Al massimo verrà richiesta una password di sicurezza.

Qualunque modulo Bluetooth si occupa di gestire correttamente la trasmissione da dispositivo a dispositivo a dispositivo, dando l'impressione all'utilizzatore di non aver nulla che lo divide tra il mittente ed il destinatario. 


HC-05 o HC-06 ?
Ci sono diversi modelli di moduli HC-0x in circolazione, i più recenti e comuni sono i modelli 05 e 06. 
Questi modelli sono identici, stesso chip, ma montano una versione diversa di firmware.
In questa guida si parlerà del modello più recente, l'HC-06. 
Altre info qui: http://goo.gl/MFY6C3


Collegamento e settaggi:
Il primo passo è il corretto collegamento, in quanto una delle porte, quella di RXD, riceve segnali a 3.3V e non a 5V come Arduino genera.
Come risolvo?
Per risolvere il problema si utilizza un partitore resistivo. Il rapporto di partizione è R2=2*R1 .

Una volta collegato tutto correttamente carichiamo un programma di prova e settaggio, lo trovate a questo indirizzo, sotto "HC-06_AT" : https://goo.gl/CX1fiC

Una volta caricato, apriamo la nostra seriale d'Arduino e digitiamo "AT", senza apici e maiuscolo.
Se il dispositivo ci risponderò con "OK" il collegamento è avvenuto con successo.

Riporto qui sotto una serie di comandi compatibili con la versione HC-06:

ATOKUsed to verify communication
AT+VERSIONOKlinvorV1.8The firmware version (version might depend on firmware)
AT+NAMExyzOKsetnameSets the module name to “xyz”
AT+PIN1234OKsetPINSets the module PIN to 1234
AT+BAUD1OK1200Sets the baud rate to 1200
AT+BAUD2OK2400Sets the baud rate to 2400
AT+BAUD3OK4800Sets the baud rate to 4800
AT+BAUD4OK9600Sets the baud rate to 9600
AT+BAUD5OK19200Sets the baud rate to 19200
AT+BAUD6OK38400Sets the baud rate to 38400
AT+BAUD7OK57600Sets the baud rate to 57600
AT+BAUD8OK115200Sets the baud rate to 115200
AT+BAUD9OK230400Sets the baud rate to 230400
AT+BAUDAOK460800Sets the baud rate to 460800
AT+BAUDBOK921600Sets the baud rate to 921600
AT+BAUDCOK1382400Sets the baud rate to 1382400
Perchè dovrei voler cambiare la "baud rate" del mio dispositivo?
L'HC-06 può cambiare la sua risposta ad una frequenza ben definita, magari sulla classica 9600 abbiamo collegato un altro modulo, ed Arduino può non essere in grado di distinguere i segnali dei diversi dispositivi.

Per questo motivo possiamo regolare la risposta in una certa baud rate del nostro HC-06 .