Ο αισθητήρας αυτός ανιχνεύει υπέρυθρες ακτίνες. Όπως είναι γνωστό, ακόμη και ο ήλιος εκπέμπει υπέρυθρες ακτίνες, γι αυτό πρέπει να ληφθεί μέριμνα ώστε να μην υπάρχουν παρεμβολές που θα επηρεάσουν τις μετρήσεις.
Ο αισθητήρας φλόγας διαθέτει τέσσερις ακροδέκτες. Ένας συνδέεται με τη γείωση, ένας με την πηγή 5V και ένας συνδέεται σε μία ψηφιακή είσοδο του Arduino.
Αν θέλουμε να έχουμε και σειριακή μέτρηση για περισσότερη ακρίβεια, μπορούμε να συνδέσουμε τον αντίστοιχο ακροδέκτη με μία αναλογική είσοδο του Arduino (π.χ. A0)
Στο παρακάτω παράδειγμα, χρησιμοποιείται μόνο η ψηφιακή είσοδος (η 13)
στην έξοδο 3 συνδέεται μία αντίσταση 220Ω και μία LED. Το παρακάτω πρόγραμμα, θα ανάψει τη LED μόνο όταν η ψηφιακή είσοδος 13 έχει λογικό 1(High), δηλαδή έχει ανιχνευτεί φλόγα.:
int led = 13; // define the LED pin
int DPin = 3; // KY-026 digital interface
int DVal1; // digital readings
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
pinMode(DPin, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
DVal1 = digitalRead(DPin);
if(DVal1 == HIGH) // if flame is detected
{
digitalWrite(led, HIGH); // turn ON Arduino's LED
}
else
{
digitalWrite(led, LOW); // turn OFF Arduino's LED
}
}
Ο αισθητήρας φλόγας διαθέτει τέσσερις ακροδέκτες. Ένας συνδέεται με τη γείωση, ένας με την πηγή 5V και ένας συνδέεται σε μία ψηφιακή είσοδο του Arduino.
Αν θέλουμε να έχουμε και σειριακή μέτρηση για περισσότερη ακρίβεια, μπορούμε να συνδέσουμε τον αντίστοιχο ακροδέκτη με μία αναλογική είσοδο του Arduino (π.χ. A0)
Στο παρακάτω παράδειγμα, χρησιμοποιείται μόνο η ψηφιακή είσοδος (η 13)
στην έξοδο 3 συνδέεται μία αντίσταση 220Ω και μία LED. Το παρακάτω πρόγραμμα, θα ανάψει τη LED μόνο όταν η ψηφιακή είσοδος 13 έχει λογικό 1(High), δηλαδή έχει ανιχνευτεί φλόγα.:
int led = 13; // define the LED pin
int DPin = 3; // KY-026 digital interface
int DVal1; // digital readings
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
pinMode(DPin, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
DVal1 = digitalRead(DPin);
if(DVal1 == HIGH) // if flame is detected
{
digitalWrite(led, HIGH); // turn ON Arduino's LED
}
else
{
digitalWrite(led, LOW); // turn OFF Arduino's LED
}
}
Ασκήσεις
1. Προσθέστε ένα buzzer ο οποίος θα ενεργοποιείται όταν ανάβει φωτιά .
2. Φτιάξτε με LED ένα φανάρι που αρχικά θα είναι κόκκινο και θα γίνεται πράσινο όταν πιάνει φωτιά.
3. Προσθέστε αισθητήρα υπερήχων ώστε το παραπάνω φανάρι να γίνεται πράσινο όταν πιάνει φωτιά και ο αισθητήρας υπερήχων εντοπίζει όχημα.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου