Con il tutorial di oggi vediamo come utilizzare il modulo bluetooth con Arduino, questo modulo vi permette di comunicare in modo semplice con dispositivi dotati di bluetooth, come smartphone e PC.
Vediamo lo schema:
Materiale occorrente:
Arduino Uno
modulo bluetooth HC-06 0 HC-05
8 LED oppure
8 resistenze 220 ohm
Se occorre si può sostituire i LED con un Modulo relè 8 canali DC 5V per pilotare per esempio strisce LED o motori ecc.. fornendo un alimentazione tramite i contatti puliti dei relè.
Realizzate il circuito come sopra, il modulo bluetooth che ho usato è HC-06 . Ora che avete tutto pronto caricate questo semplice sketch, ricordatevi di tenere scollegato il modulo bluetooth durante il caricamento altrimenti l'IDE vi darà errore.
Qui trovate il codice per programmare la scheda arduino, lo schema e l´App Android (ArduinoLedbluetooth.apk) da installare sul vostro Smartphone o Tablet.
/* Bluetooth control Arduino */ #include <SoftwareSerial.h> #define bluetooth Serial SoftwareSerial mySerial(0, 1); // imposto i pin per la comunicazione seriale // Collegare i pin nel seguente modo: RX=>1 TX=>0
void setup() { pinMode(2, OUTPUT); // LED 2 pinMode(3, OUTPUT); // LED 3 pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT);
bluetooth.begin(9600); mySerial.begin(9600); // setto la comunicazione delay(1000); }
void loop() { char dato= bluetooth.read(); // "dato" è il valore che viene ricevuto dalla seriale switch(dato) { case 'A': // Se ricevo la lettera A, { digitalWrite(2, HIGH); // eccito il LED o il relè collegato al pin2 break; } case 'a': // Se ricevo la lettera a { digitalWrite(2, LOW); // Spengo il LED o il relè break; } // E così anche di seguito... case 'B': { digitalWrite(3, HIGH); break; } case 'b': { digitalWrite(3, LOW); break; }
case 'C': { digitalWrite(4, HIGH); break; } case 'c': { digitalWrite(4, LOW); break; } case 'D': { digitalWrite(5, HIGH); break; } case 'd': { digitalWrite(5, LOW); break; } case 'E': { digitalWrite(6, HIGH); break; } case 'e': { digitalWrite(6, LOW); break; } case 'F': { digitalWrite(7, HIGH); break; } case 'f': { digitalWrite(7, LOW); break; } case 'G': { digitalWrite(8, HIGH); break; } case 'g': { digitalWrite(8, LOW); break; } case 'H': { digitalWrite(9, HIGH); break; } case 'h': { digitalWrite(9, LOW); break; } } }