[Tutorial-Arduino] Arduino+Bluetooth+Relè+Lampadina (parte 2/3) – Lo Sketch

ArduinoUnoSmd450pxIn questo post andremo ad analizzare in dettaglio lo Sketch che ho scritto per il mio primo progetto con Arduino ovvero comandare con uno smartphone l’accensione/spegnimento di una lampadina via Bluetooth.

//dichiarazioni
char com;
int ledpin = 8;

void setup() {
pinMode(ledpin, OUTPUT); //dichiarazione dell'OUTPUT
Serial.begin(9600); // inizializzazione seriale
}

void loop() {
if( Serial.available() )
{
com = Serial.read();   } //controllo input da seriale
if( com == 'H')   {
//se riceve 'H' eccita il relè
digitalWrite(ledpin, HIGH);
}
else {
if( com == 'L')
//se riceve 'L' spegne la lampadina
digitalWrite(ledpin, LOW);
}
}

In breve ho dichiarato l’utilizzo del pin 8 quale Output. Arduino ciclicamente andrà a controllare quanto ricevuto via seriale dal modulo Bluetooth e se riceverà la lettera “H” andrà a alzare il livello del pin 8 ed ecciterà il relè accendendo la lampadina, mentre se riceverà una “L” andrà ad abbassare il livello del pin 8 comandando al relè di spegnere la lampadina.


Download dello Sketch: qui il link


Analizziamo in dettaglio le parti del codice dello Sketch:

//Dichiarazioni
char val;
int ledpin = 8;

In questa parte iniziale del codice troviamo la dichiarazione della variabile che verrà successivamente utilizzata che chiamiamo “com” e sarà di tipo stringa, quindi troviamo la dichiarazione relativa al pin digitale di Arduino che andremo a controllare e a cui demandiamo il controllo del relè, in questo caso abbiamo scelto il pin 8 al quale da qui in avanti ci riferiremo con il nome ledpin.


void setup() {
pinMode(ledpin, OUTPUT); //dichiarazione dell'OUTPUT
Serial.begin(9600); // inizializzazione seriale
}

La funzione void setup() è la prima ad essere eseguita dopo ogni accensione o reset di Arduino. Qui andiamo ad impostare lo stato del pin 8 (chiamato ledpin), quindi impostiamo la comunicazione seriale impostando la velocità a 9600 baud per secondo.


void loop() {
if( Serial.available() )
{
com = Serial.read();   } //controllo input da seriale
if( com == 'H')   {
//se riceve 'H' eccita il relè
digitalWrite(ledpin, HIGH);
}
else {
if( com == 'L')
//se riceve 'L' spegne la lampadina
digitalWrite(ledpin, LOW);
}
}

La funzione void loop() esegue ciclicamente il programma definito al suo interno. Innanzitutto andiamo a controllare che la comunicazione seriale sia attiva, nel caso si controlla quanto ricevuto via seriale. Se Arduino riceve la lettera ‘H’ andrà ad impostare lo stato del pin 8 a HIGH che collegato al relè andrà ad eccitarlo aprendo il circuito e quindi accendendo la lampadina. Se Arduino riceve la lettera ‘L’ andrà ad impostare lo stato del pin 8 a LOW andando a spegnere la lampadina.


Il tutorial è suddiviso in tre parti:
Arduino+Bluetooth+Relè+Lampadina (parte 1/3) – L’Hardware Dove troverete il progetto completo con la spiegazione dell’hardware utilizzato e i vari collegamenti.
Arduino+Bluetooth+Relè+Lampadina (parte 2/3) – Lo Sketch
Dove troverete l’analisi del programma caricato sull’Arduino per questo progetto.
Arduino+Bluetooth+Relè+Lampadina (parte 3/3) – L’App Android Dove troverete l’analisi del programma realizzato per lo smartphone Android  per il controllo remoto.


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: