Ecco un esempio di codice Arduino per controllare un LED RGB utilizzando uno smartphone tramite Bluetooth:
#include <SoftwareSerial.h>
// Pin di collegamento per l'LED RGB
const int pinRosso = 9;
const int pinVerde = 10;
const int pinBlu = 11;
// Variabili per il comando RGB
int valoreRosso = 0;
int valoreVerde = 0;
int valoreBlu = 0;
// Oggetto SoftwareSerial per la comunicazione Bluetooth
SoftwareSerial bluetooth(2, 3); // RX, TX
void setup() {
// Inizializzazione del pin di uscita per l'LED RGB
pinMode(pinRosso, OUTPUT);
pinMode(pinVerde, OUTPUT);
pinMode(pinBlu, OUTPUT);
// Inizializzazione della comunicazione seriale con il modulo Bluetooth
bluetooth.begin(9600);
}
void loop() {
// Controlla se ci sono dati disponibili dalla connessione Bluetooth
if (bluetooth.available()) {
// Leggi il comando inviato dallo smartphone
char comando = bluetooth.read();
// Esegui l'azione corrispondente al comando ricevuto
switch (comando) {
case 'R': // Imposta il valore del rosso
valoreRosso = leggiValore();
break;
case 'G': // Imposta il valore del verde
valoreVerde = leggiValore();
break;
case 'B': // Imposta il valore del blu
valoreBlu = leggiValore();
break;
case 'A': // Imposta tutti i valori (RGB)
valoreRosso = leggiValore();
valoreVerde = leggiValore();
valoreBlu = leggiValore();
break;
case 'O': // Spegni l'LED
valoreRosso = 0;
valoreVerde = 0;
valoreBlu = 0;
break;
}
// Aggiorna il colore dell'LED RGB
analogWrite(pinRosso, valoreRosso);
analogWrite(pinVerde, valoreVerde);
analogWrite(pinBlu, valoreBlu);
}
}
// Funzione ausiliaria per leggere il valore RGB inviato dallo smartphone
int leggiValore() {
int valore = 0;
while (bluetooth.available()) {
char carattere = bluetooth.read();
if (carattere == ';') {
break;
}
valore = valore * 10 + (carattere - '0');
}
return valore;
}
Questo codice utilizza la libreria SoftwareSerial per creare una connessione seriale virtuale sui pin digitali 2 e 3 di Arduino, che verranno collegati al modulo Bluetooth. Puoi installare la libreria SoftwareSerial attraverso il Gestore Librerie di Arduino IDE.
Assicurati di collegare il modulo Bluetooth al pin RX (2) e al pin TX (3) di Arduino. Inoltre, collega i pin dell’LED rosso, verde e blu ai pin 9, 10 e 11 rispettivamente.
Questo codice legge i comandi inviati dallo smartphone attraverso la connessione Bluetooth e imposta i valori di rosso, verde e blu dell’LED RGB di conseguenza. I comandi devono essere inviati come stringhe di testo nel seguente formato: “Rxxx;Gxxx;Bxxx;” dove “xxx” rappresenta il valore compreso tra 0 e 255 per il rosso, il verde e il blu.
Ad esempio, se si invia il comando “R255;G128;B0;”, l’LED si illuminerà di un colore arancione (rosso pieno, verde a metà e blu spento).
Assicurati di installare un’applicazione sul tuo smartphone in grado di inviare comandi Bluetooth, come ad esempio “Arduino Bluetooth Control” o “Serial Bluetooth Terminal”.
Ricorda di abbinare correttamente il modulo Bluetooth allo smartphone prima di avviare l’applicazione.