Πίνακας περιεχομένων:
- Βήμα 1: Μέρη
- Βήμα 2: Σύνδεση των διαφορετικών τμημάτων με το Arduino UNO
- Βήμα 3: Κωδικοί Arduino
- Βήμα 4: Κατανόηση του προγράμματος σε λεπτομέρειες
- Βήμα 5: Επίδειξη των οδηγιών
Βίντεο: Οικιακός αυτοματισμός: Ηχεί συναγερμός και εμφανίζεται στην οθόνη LCD όταν η θερμοκρασία είναι πάνω από το όριο Τιμή: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Αυτό το ιστολόγιο θα δείξει πώς να φτιάξετε ένα σύστημα αυτοματισμού σπιτιού το οποίο θα αρχίζει να χτυπάει συναγερμό κάθε φορά που η θερμοκρασία φτάσει πάνω από την προγραμματισμένη τιμή κατωφλίου. Θα συνεχίσει να εμφανίζει την τρέχουσα θερμοκρασία του δωματίου στην οθόνη LCD και τις ενέργειες που απαιτούνται (Π.χ.: Μείωση θερμοκρασίας) όταν η θερμοκρασία φτάσει πάνω από την τιμή κατωφλίου. Σε αυτό το σεμινάριο, χρησιμοποιώ αισθητήρα θερμοκρασίας AD22100, ο οποίος κατασκευάζεται από τις Analog Devices και AG-1005G Buzzer. Το AD22100 είναι αισθητήρας θερμοκρασίας εξόδου τάσης με κλιματισμό σήματος
Βήμα 1: Μέρη
Χρειάζεστε αυτά τα μέρη μαζί σας πριν ξεκινήσετε αυτό το άφθαρτο για εργασία
1. Arduino UNO Board
2. Οθόνη LCD (16x2)
3. Buzzer - 2 ακίδων (AC -1005G)
4. Αισθητήρας θερμοκρασίας - 3 ακίδες (AD22100)
Βήμα 2: Σύνδεση των διαφορετικών τμημάτων με το Arduino UNO
Σύνδεση LCD με πίνακα Arduino UNO
LCD RS Pin (Pin 4) με Pin 7 του Arduino Board
LCD Ενεργοποιήστε την καρφίτσα (Pin 6) με την καρφίτσα 8 του πίνακα Arduino
LCD D4 Pin (Pin 11) με Pin 9 του Arduino Board
LCD D5 Pin (Pin 12) με Pin 10 του Arduino Board
LCD D6 Pin (Pin 13) with Pin 11 of Arduino Board
LCD D7 Pin (Pin 14) με Pin 12 του Arduino Board
Προσθέστε ένα δοχείο 10 KΩ σε +5v (καρφίτσα δοχείου 1) και GND (καρφίτσα κατσαρόλας 3), Συνδέστε τη μεσαία καρφίτσα του δοχείου (Pin Pin 2) στην καρφίτσα LCD V0 (Pin 3).
LCD VDD Pin (Pin 2) και LCD A Pin (Pin 15) με +5v στον πίνακα Arduino.
LCD VSS Pin (Pin 1) and LCD K Pin (Pin 16) with GND on Arduino Board.
AD22100 Σύνδεση αισθητήρα Temp με πίνακα Arduino UNO
Η ακίδα 1 (V +) του AD22100 πρέπει να συνδεθεί με το +5 v στον πίνακα Arduino.
Το pin 2 (Vo) του AD22100 πρέπει να συνδεθεί με το pin A1 στον πίνακα Arduino.
Η ακίδα 3 (GND) του AD22100 πρέπει να συνδεθεί με το GND στον πίνακα Arduino
Σύνδεση Buzzer (AC-1005G) με τον πίνακα Arduino UNO
Η έξοδος PWM 6 της κάρτας Arduino πρέπει να συνδεθεί στην είσοδο +ve του Buzzer.
Το GND της πλακέτας Arduino πρέπει να συνδεθεί με -ve είσοδο του Buzzer
Βήμα 3: Κωδικοί Arduino
Μεταγλωττίστε το και ανεβάστε το στον πίνακα Arduino και παρατηρήστε την επίδειξη του Home Automation System
// Το πρόγραμμα ξεκινά εδώ
int val?
int tempPin = A1;
int buzzer = 6;
#include LiquidCrystal LCD (7, 8, 9, 10, 11, 12);
void setup () {
// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά:
lcd.αρχή (16, 2);
lcd.clear ();
Serial.begin (9600);
pinMode (βομβητής, OUTPUT);
}
void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα:
val = analogRead (tempPin); // Το AD22100 είναι συνδεδεμένο στο Pin A1
/*
*Για 25C, το val έρχεται ως 900 αυτό σημαίνει
* 900 αντιστοιχεί σε 1.9375 v
* Η λειτουργία μεταφοράς είναι (V +/5) * (1.375 + 22.5 mv/degC * 25 degC), * Διαβάστε το φύλλο δεδομένων του AD22100
*/
float cel = ((((1.9375/900) * val) - 1.375) /22.5) * 1000;
float farh = (cel*9)/5 + 32;
Serial.print (val);
Serial.println ();
Serial.print ("TEMPRATURE =");
Serial.print (cel); Serial.print ("*C");
Serial.println ();
αν (cel> 26) {
τόνος (βομβητής, 1000)
lcd.clear ();
lcd.print ("Temp above the thresh");
lcd.setCursor (0, 1);
lcd.print ("Decrease Temp");
}
αλλού
{noTone (βομβητής);
lcd.clear ();
lcd.print ("Temp υπό έλεγχο");
lcd.setCursor (0, 1);
lcd.print ("Temp =");
lcd.print (cel);
lcd.print ("degC");
}
καθυστέρηση (500)?
}
// Το πρόγραμμα τελειώνει εδώ
Βήμα 4: Κατανόηση του προγράμματος σε λεπτομέρειες
Θα προσπαθήσω να εξηγήσω μερικά τμήματα του κώδικα.
Λειτουργίες που σχετίζονται με τη δήλωση If/else
Εάν η θερμοκρασία είναι μεγαλύτερη από την τιμή κατωφλίου, στέλνω ένα σήμα στον βομβητή για να ηχήσει συναγερμός και εμφανίζομαι στην οθόνη LCD για να μειώσω τη θερμοκρασία με την κάτω ενότητα του κώδικα
αν (κελι> 26)
{τόνος (βομβητής, 1000);
lcd.clear ();
lcd.print ("Temp above the thresh");
lcd.setCursor (0, 1);
lcd.print ("Decrease Temp");
}
Εάν όχι, τότε η αποστολή της τρέχουσας τιμής θερμοκρασίας στην οθόνη LCD και η εμφάνιση αυτής της θερμοκρασίας είναι υπό έλεγχο.
αλλού
{noTone (βομβητής);
lcd.clear ();
lcd.print ("Temp υπό έλεγχο");
lcd.setCursor (0, 1);
lcd.print ("Temp =");
lcd.print (cel);
lcd.print ("degC");
}
Λειτουργίες που σχετίζονται με το Buzzer
τόνος (βομβητής, 1000) - αυτή η λειτουργία θα στείλει ένα σήμα 1 khz στην καρφίτσα με το όνομα buzzer που ορίζεται ως Pin 6 και ο μαγνητικός βομβητής είναι συνδεδεμένος στο Pin 6.noTone (βομβητής) - θα σταματήσει να στέλνει σήμα 1 khz. Ως εκ τούτου, το κουδούνισμα θα σταματήσει
Λειτουργίες που σχετίζονται με τον αισθητήρα θερμοκρασίας
Η μετατροπή της αναλογικής τιμής της ανάγνωσης θερμοκρασίας στην τιμή βαθμού C γίνεται χρησιμοποιώντας μια συνάρτηση μεταφοράς, η οποία μπορεί να βρεθεί στο φύλλο δεδομένων AD22100, όπως γράφεται παρακάτω.
Vout = (V +/5 V) × (1.375 V + 22.5 mV/° C × TA) και η ίδια τιμή εκτυπώνεται στην οθόνη LCD.
Βήμα 5: Επίδειξη των οδηγιών
Μόλις το πρόγραμμα καταρτιστεί και φορτωθεί στον πίνακα Arduino UNO
ας προσπαθήσουμε να αυξήσουμε τη θερμοκρασία που ανιχνεύει ο αισθητήρας θερμοκρασίας AD22100 και να απολαύσουμε το σύστημα οικιακού αυτοματισμού.
Για να αυξήσω τη θερμοκρασία του αισθητήρα, τον αγγίζω με κολλητήρι που διατίθεται στο εργαστήριο.
Μπορείτε να ρίξετε μια ματιά στο demo εδώ..
Επίδειξη του συστήματος αυτοματισμού σπιτιού
Συνιστάται:
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: 4 βήματα
Παρακολούθηση ποιότητας αέρα με MQ135 και εξωτερικός αισθητήρας θερμοκρασίας και υγρασίας πάνω από MQTT: Αυτό είναι για δοκιμαστικούς σκοπούς
Οθόνη LCD I2C / IIC - Χρήση LCD SPI στην οθόνη LCD I2C Χρήση μονάδας SPI σε IIC με Arduino: 5 βήματα
Οθόνη LCD I2C / IIC | Χρησιμοποιήστε μια οθόνη SPI στην οθόνη I2C LCD χρησιμοποιώντας μονάδα SPI σε IIC με Arduino: Γεια σας παιδιά, καθώς ένα κανονικό SPI LCD 1602 έχει πάρα πολλά καλώδια για να συνδεθεί, οπότε είναι πολύ δύσκολο να το διασυνδέσετε με το arduino, αλλά υπάρχει μια μονάδα διαθέσιμη στην αγορά που μπορεί μετατρέψτε την οθόνη SPI σε οθόνη IIC, οπότε πρέπει να συνδέσετε μόνο 4 καλώδια
Οθόνη LCD I2C / IIC - Μετατρέψτε μια οθόνη SPI LCD στην οθόνη LCD I2C: 5 βήματα
Οθόνη LCD I2C / IIC | Μετατρέψτε ένα SPI LCD σε οθόνη I2C LCD: η χρήση της οθόνης spi LCD χρειάζεται πάρα πολλές συνδέσεις για να γίνει κάτι που είναι πραγματικά δύσκολο να το κάνω, έτσι βρήκα μια μονάδα που μπορεί να μετατρέψει το i2c LCD σε spi LCD οπότε ας ξεκινήσουμε
Οθόνη θερμοκρασίας και επιπέδου φωτός με οθόνη στην οθόνη NOKIA 5110: 4 βήματα
Οθόνη θερμοκρασίας και φωτός με οθόνη στην οθόνη NOKIA 5110: Γεια σε όλους! Σε αυτήν την ενότητα κατασκευάζουμε απλή ηλεκτρονική συσκευή για την παρακολούθηση της θερμοκρασίας και του επιπέδου φωτός. Οι μετρήσεις αυτών των παραμέτρων εμφανίζονται στην οθόνη LCD NOKIA 5110. Η συσκευή βασίζεται στον μικροελεγκτή AVR ATMEGA328P. Η παρακολούθηση
Πώς να αλλάξετε το κείμενο που εμφανίζεται όταν μετακινείτε το ποντίκι σας πάνω από το κουμπί έναρξης: 4 βήματα
Πώς να αλλάξετε το κείμενο που εμφανίζεται όταν μετακινείτε το ποντίκι σας πάνω από το κουμπί Έναρξη: Ο τίτλος τα λέει όλα