Tutorial #2 Sensore Fiamma con Arduino




In questo tutorial vogliamo insegnarvi come sfruttare il sensore di fiamma.

Questo sensore è semplicemente un diodo il quale, per via della chimica cui è composto, reagisce alle onde elettromagnetiche al quale viene sottoposto. è in grado di analizzare una lunghezza d'onda in un range tra 760nm fino a 1100nm. Vi ricordiamo che è un diodo e di conseguenza il catodo va connesso a massa e l'anodo all'alimentazione. Un diodo connesso al contrario crea un circuito aperto sulla maglia o anello al quale viene montato.

Per realizzare il progetto abbiamo utilizzato:

• Arduino Uno

• una breadboard

• tre cavi colorati

• un sensore di fiamma (diodo)

• un diodo led (blu)

• un resistore da circa 400 ohm

Si procede inserendo il flame sensor alla breadboard, collegandone l'anodo al pin 5V e il catodo al pin D7 di arduino. Inoltre il catodo viene collegato tramite la resistenza a GND di arduino (ground), in modo da creare una differenza di potenziale ai capi del sensore di fiamma. Successivamente basterà connettere l'anodo del diodo led al pin D13 con rispettivo catodo a GND adiacente. Ricordiamo che il pin digitale 13 di arduino è connesso ad una resistenza interna, di conseguenza un diodo led rosso, ad esempio, che funziona a 3,7 volt circa, non si danneggerà.



Il software che andremo a programmare è molto semplice: andiamo a definire una macro ("diamo un nome al pin 7" a cui e collegato il sensore), quindi scriviamo #define Pin_flame 7. definiamo anche #define led 13.

inizializziamo una variabile int nella quale salveremo i dati raccolti. Nel void setup inizializziamo Serial.begin(9600) nel caso volessimo visualizzare i valori letti sul monitor seriale, e scriviamo PinMode(Pin_flame,INPUT) per dire ad arduino che dal pin 7 RICEVIAMO dei dati e pinMode(led,OUTPUT) per dire ad arduino che dal pin 13 manderemo un segnale (al led). Infine nel void loop aggiorniamo la variabile int tramite digitalRead(Pin_flame), in un if controlliamo se supera una certa soglia da noi stabilita, se la supera accendiamo il led, altrimenti lo spegniamo.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define flame A1
#define led 13
void setup(){
    Serial.begin(9600); pinMode(led,OUTPUT);
    pinMode(flame,INPUT);
}

void loop(){
if(analogRead(flame)>=20)
    digitalWrite(led,HIGH);
else
    digitalWrite(led,LOW)
}



Commenti