Πίνακας περιεχομένων:

Σύστημα προειδοποίησης πυρκαγιάς LCD Arduino: 9 βήματα
Σύστημα προειδοποίησης πυρκαγιάς LCD Arduino: 9 βήματα

Βίντεο: Σύστημα προειδοποίησης πυρκαγιάς LCD Arduino: 9 βήματα

Βίντεο: Σύστημα προειδοποίησης πυρκαγιάς LCD Arduino: 9 βήματα
Βίντεο: Control 10 output pins or relay using 10 push button switch with 1 Arduino input pin ANPB-V2 2024, Ιούλιος
Anonim
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino
Σύστημα προειδοποίησης πυρασφάλειας LCD Arduino

Αυτό είναι ένα έργο φοιτητικό που συνδυάζει τις λειτουργίες μιας οθόνης LCD, ενός βομβητή, ενός RGB και ενός αισθητήρα θερμοκρασίας DHT.

Η τρέχουσα θερμοκρασία περιβάλλοντος εμφανίζεται και ενημερώνεται στην οθόνη LCD.

Το μήνυμα που εκτυπώνεται στην οθόνη LCD ενημερώνει το χρήστη για το επίπεδο "κινδύνου πυρκαγιάς".

Η οθόνη σβήνει και αναβοσβήνει για να ειδοποιήσει τον χρήστη για κίνδυνο.

Ο βομβητής γίνεται πιο δυνατός και πιο γρήγορος για να ειδοποιεί τον χρήστη για κίνδυνο ανάλογα με το επίπεδο του τρέχοντος κινδύνου.

Το RGB αλλάζει πράσινο, κίτρινο, πορτοκαλί και κόκκινο ανάλογα με το επίπεδο του τρέχοντος κινδύνου.

Μπορεί να τοποθετηθεί σε τρισδιάστατο περίβλημα για πιο επαγγελματική εμφάνιση.

Αυτό λύνει ένα πραγματικό πρόβλημα των ανθρώπων που δεν γνωρίζουν πότε υπάρχει κίνδυνος πυρκαγιάς μέχρι να είναι πολύ αργά

Βήμα 1: Συγκέντρωση υλικών

Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά

Υλικά που χρησιμοποιήθηκαν σε αυτό το έργο:

1x οθόνη LCD

1x DHT_11 Αισθητήρας θερμοκρασίας

1x RGB

1x Piezo Passive Buzzer 1.0v

2x Μικρά Breadboards

3x Τυπικές αντιστάσεις

1x κανονικού μεγέθους Breadboard

1x Arduino UNO

Bluetack για να κλειδώσετε τα καλώδια στη θέση τους.

Μια ποικιλία διαφορετικών καλωδίων με άκρο, ανοιχτού άκρου και ενός άκρου.

Μια συσκευή για την εκτέλεση του κώδικα

Πρόσβαση σε έναν εκτυπωτή 3D εάν επιθυμείτε το εξωτερικό περίβλημα και πιο στιλβωμένη εμφάνιση

Βήμα 2: Ρύθμιση των Breadboards

Ρύθμιση των Breadboards
Ρύθμιση των Breadboards
Ρύθμιση των Breadboards
Ρύθμιση των Breadboards

1. Συνδέστε το πορτοκαλί σύρμα από τον πείρο με την ένδειξη "GND" στον πίνακα Arduino και συνδέστε το με την αρνητική πλευρά (μπλε) της σανίδας. Από αυτό το σημείο και μετά, εάν χρειαστεί να χρησιμοποιήσουμε το GND για οποιεσδήποτε εξωτερικές συσκευές, απλώς θα τις τοποθετήσουμε στην ίδια στήλη με αυτήν στο breadboard.

2. Συνδέστε το κόκκινο σύρμα από τον πείρο με την ένδειξη "5V" στον πίνακα Arduino και συνδέστε το με τη θετική (κόκκινη) πλευρά της σανίδας. Από αυτό το σημείο και μετά, εάν χρειαστεί να χρησιμοποιήσουμε 5V για οποιεσδήποτε εξωτερικές συσκευές, απλώς θα τις τοποθετήσουμε στις ίδιες στήλες, όπως αυτό στο breadboard.

Βήμα 3: Ρύθμιση της οθόνης LCD

Ρύθμιση οθόνης LCD
Ρύθμιση οθόνης LCD
Ρύθμιση οθόνης LCD
Ρύθμιση οθόνης LCD
Ρύθμιση οθόνης LCD
Ρύθμιση οθόνης LCD

1. Αναποδογυρίστε τη σανίδα έτσι ώστε να βλέπει ανάποδα με όλες τις καρφίτσες στην αριστερή πλευρά.

2. Συνδέστε ένα καλώδιο 5 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 4 στο Arduino UNO.

3. Συνδέστε ένα καλώδιο 6 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 5 στο Arduino UNO.

4. Συνδέστε ένα καλώδιο 7 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 6 στο Arduino UNO.

5. Συνδέστε ένα καλώδιο 8 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 7 στο Arduino UNO.

6. Συνδέστε ένα καλώδιο 9 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 8 στο Arduino UNO.

7. Συνδέστε ένα καλώδιο 10 από πάνω αριστερά στην επάνω σειρά ακίδων και συνδέστε το με τον αριθμό 9 στο Arduino UNO.

8. Συνδέστε ένα καλώδιο 3 από κάτω δεξιά και συνδέστε το με τη σειρά 5V στο ψωμί

9. Συνδέστε ένα καλώδιο 4 από την κάτω δεξιά γωνία και συνδέστε το με τη σειρά GND στον πίνακα ψωμιού

ΔΕΙΤΕ ΕΙΚΟΝΕΣ ΟΠΩΣ ΔΙΑΓΡΑΜΜΑ ΚΥΚΛΩΜΑΤΟΣ ΔΕΙ ΔΙΑΦΟΡΕΤΙΚΗ LCD

Βήμα 4: Ρύθμιση του Piezo Buzzer

Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer
Ρύθμιση του Piezo Buzzer

1. Συνδέστε ένα καλώδιο από τον πείρο GND στο βομβητή στη στήλη GND (Μπλε) στον πίνακα ψωμιού

2. Συνδέστε ένα καλώδιο από τον πείρο VCC στο βομβητή στη στήλη 5V (Κόκκινο) στον πίνακα ψωμιού

3. Συνδέστε ένα καλώδιο από τον πείρο SIG στο βομβητή στον πείρο με τον αριθμό "10" στην πλακέτα arduino UNO

ΔΕΙΤΕ ΠΑΡΑΠΑΝΩ ΕΙΚΟΝΕΣ ΟΠΩΣ ΔΙΑΓΡΑΜΜΑ ΚΥΚΛΩΜΑΤΟΣ ΕΜΦΑΝΙΖΕΙ ΔΙΑΦΟΡΕΤΙΚΟ BUZZER

Βήμα 5: Ρύθμιση του αισθητήρα θερμοκρασίας DHT

Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT
Ρύθμιση του αισθητήρα θερμοκρασίας DHT

1. Ρυθμίστε τον αισθητήρα DHT στο breadboard όπως φαίνεται παραπάνω

2. Συνδέστε τον πρώτο πείρο στα αριστερά του αισθητήρα DHT (με την ένδειξη VCC στο διάγραμμα μερικών) με τη στήλη 5V (Κόκκινο) στον πίνακα ψωμιού

3. Συνδέστε το δεύτερο πείρο στα αριστερά του αισθητήρα DHT (με Ετικέτα ΔΕΔΟΜΕΝΑ στο διάγραμμα μέρους) στη θύρα A0 του Arduino UNO

4. Συνδέστε τον πρώτο πείρο στα δεξιά του αισθητήρα DHT (με ετικέτα GND στο διάγραμμα τμημάτων) στη στήλη GND (Μπλε) στον πίνακα ψωμιού

5. Παρακολουθήστε ένα σεμινάριο και προσθέστε τη βιβλιοθήκη dht.h που βρίσκεται στο τέλος του εκπαιδευτικού στο Arduino. (Αυτό είναι υποχρεωτικό)

Βήμα 6: Ρύθμιση του RGB

Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB
Ρύθμιση του RGB

1. Τοποθετήστε το RGB σε μια μικρή σανίδα ψωμιού όπως φαίνεται παραπάνω, με έμφαση στο δεύτερο σκέλος από τα αριστερά του RGB να είναι μία υποδοχή πιο κοντά από τις άλλες τρεις

2. Τοποθετήστε τις τυπικές αντιστάσεις στον πρώτο, τον τρίτο και τον τέταρτο πείρο. Αφήνοντας χώρο για τουλάχιστον ένα ακόμη καλώδιο (όπως φαίνεται παραπάνω).

3. Συνδέστε ένα καλώδιο πίσω από την αντίσταση στην αριστερή ακίδα του RGB με τον πείρο με την ετικέτα 2 στο Arduino UNO

4. Συνδέστε ένα καλώδιο πίσω από το εξωτερικό δευτερόλεπτο από τον αριστερό πείρο του RGB στη στήλη GND (μπλε) της σανίδας.

5. Συνδέστε ένα καλώδιο πίσω από την αντίσταση στη δεύτερη από τη δεξιά ακίδα του RGB στον πείρο με την ετικέτα 1 στο Arduino UNO

6. Συνδέστε ένα καλώδιο πίσω από την αντίσταση στη δεξιά ακίδα του RGB με τον πείρο με την ετικέτα 3 στο Arduino UNO

Βήμα 7: Προαιρετικό περίβλημα 3D εκτύπωσης

Προαιρετικό περίβλημα 3D εκτύπωσης
Προαιρετικό περίβλημα 3D εκτύπωσης
Προαιρετικό περίβλημα 3D εκτύπωσης
Προαιρετικό περίβλημα 3D εκτύπωσης
Προαιρετικό περίβλημα 3D εκτύπωσης
Προαιρετικό περίβλημα 3D εκτύπωσης

1. Βρείτε ένα σεμινάριο για τον τρόπο εκτύπωσης 3D.

2. Εκτυπώστε το παρακάτω συνημμένο σχέδιο που έγινε στο Autodesk Fusion 360 (αρχείο.stl)

3. Αφαιρέστε την περίσσεια 3D υλικού και εξομαλύνετε την επιφάνεια

4. Δείτε την παραπάνω εικόνα για οδηγίες σχετικά με το πού να τοποθετήσετε τα μέρη του Arduino.

Βήμα 8: Ο κώδικας και τα αρχεία

Ο κώδικας και τα αρχεία
Ο κώδικας και τα αρχεία

Επισυνάπτεται η βιβλιοθήκη DHT.h. (ΑΝΟΙΓΩ ΦΕΡΜΟΥΑΡ)

-Ο κώδικας με πλήρη αναλυτικά σχόλια επισυνάπτεται αλλά βρίσκεται επίσης στο επόμενο βήμα.

-Το αρχείο.stl για το τρισδιάστατο περίβλημα επισυνάπτεται

-Το διάγραμμα κυκλώματος επισυνάπτεται ξανά. Βεβαιωθείτε ότι έχετε αναφερθεί στα πραγματικά βήματα της οθόνης LCD και του πιεζοηλεκτρικού βομβητή, καθώς χρησιμοποιήθηκαν διαφορετικά εξαρτήματα.

Βήμα 9: Κωδικός Arduino

Κωδικός Arduino
Κωδικός Arduino
Κωδικός Arduino
Κωδικός Arduino

// ΣΥΣΤΗΜΑ ΠΡΟΕΙΔΟΠΟΙΗΣΗΣ ΠΥΡΚΑΓΙΑΣ LCD // Διαβάζει την είσοδο από την καρφίτσα θερμοκρασίας DHT και ανάλογα με το αν είναι ζεστό ή όχι, αλλάζει ένα rgb και ένα ηχείο για να υποδείξει τον χρήστη εάν υπάρχει κίνδυνος πυρκαγιάς. // Εμφανίζει επίσης τη θερμοκρασία στην οθόνη LCD.

// ΡΥΘΜΙΣΗ DHT

#include // Συμπεριλάβετε τη βιβλιοθήκη DHT

#define dht_dpin A0 // Λέει στην πλακέτα ότι η καρφίτσα DHT είναι στην αναλογική είσοδο 0

dht DHT; // dht = DHT

// ΡΥΘΜΙΣΗ ΥΓΡΟΥ ΚΡΥΣΤΑΛΛΟΥ

#include // Συμπεριλάβετε τη βιβλιοθήκη Liquid Crystal

LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // Συντομεύστε σε LCD /λέει arduino ποιες θύρες καταλαμβάνει το LCD

// ΟΡΙΣΜΟΣ RGB + BUZZER

#define redpin 1 // Ορίζει redpin του RGB στη θύρα 1

#define greenpin 2 // Ορίζει το greenpin του RGB στη θύρα 2

#define bluepin 3 // Ορίζει bluepin του RGB στη θύρα 3

#define buzzerpin 10 // Ορίζει buzzerpin στη θύρα 10

// ΜΕΤΑΒΛΗΤΟ/Σ

int temp = analogRead (DHT.temperature); // Δημιουργεί ακέραιο "temp" που είναι η τιμή από την εντολή DHT.temperature

void setup () {

// ΕΞΟΔΟΣ/ΕΙΣΟΔΟΣ

analogWrite (redpin, OUTPUT); // Δηλώστε/ορίστε το redpin ως Output

analogWrite (greenpin, OUTPUT); // Δηλώστε/ορίστε το greenpin ως Έξοδο

analogWrite (bluepin, OUTPUT); // Δηλώστε/ορίστε το bluepin ως Output

pinMode (buzzerpin, OUTPUT); // Δηλώστε/ορίστε το buzzerpin ως Output

// ΟΘΟΝΗ LCD

lcd.αρχή (16, 2); // Ορίστε την οθόνη LCD ως 16 στήλες και 2 σειρές}

void loop () {

// ΚΩΔΙΚΟΣ LCD ΧΩΡΙΣ ΜΕΤΑΒΛΗΤΟΤΗΤΑ

DHT.read11 (dht_dpin); // Διαβάστε επίσης την είσοδο από το dht_dpin (A0)

lcd.setCursor (0, 0); // Ορίζει το δρομέα στη στήλη 0, γραμμή 0

lcd.print ("Είναι"); // Γράφει "Είναι" στην οθόνη LCD

lcd.print (DHT.temperature); // Εκτυπώνει την τιμή θερμοκρασίας DHT. από την καρφίτσα DHT στη στήλη 0, γραμμή 0

lcd.print (""); // Εκτυπώνει ένα διάστημα μετά τη θερμοκρασία

lcd.print ((char) 223); // εκτυπώνει την ένδειξη πτυχίου μετά τη θερμοκρασία

lcd.print ("C"); // Εκτυπώνει ένα "c" μετά το σύμβολο μοίρες για να συμβολίζει τον Κελσίου

// ΛΑΜΠΑ LCD

lcd.setCursor (0, 1); // Ορίζει το δρομέα στη στήλη 0, σειρά 1

lcd.noDisplay ();

lcd.print ("No Fire Fire Danger"); // Εκτυπώνει "Δεν υπάρχει πιθανότητα φωτιάς"

lcd.noDisplay (); // Απενεργοποιεί την οθόνη LCD (μέρος του φλας)

καθυστέρηση (1000); // Μένει εκτός για 1 δευτερόλεπτο

οθόνη LCD(); // Ενεργοποιεί ξανά την οθόνη LCD

καθυστέρηση (1000); // Παραμένει ενεργοποιημένο για 1 δευτερόλεπτο

// ΚΩΔΙΚΟΣ RGB + BUZZER

analogWrite (redpin, 0); // Δεν υπάρχει έξοδος από την κόκκινη καρφίτσα

analogWrite (greenpin, 255); // Έξοδος 255 από το greenpin (Κάνει πράσινο το RGB)

analogWrite (bluepin, 0); // Δεν υπάρχει έξοδος από μπλε καρφίτσα

τόνος (buzzerpin, 20, 20). // // Εκπέμπει συχνότητα 20 hertz για 0,02 δευτερόλεπτα από το βομβητή

// ΕΑΝ Ο ΘΕΡΜΟΣ ΕΙΝΑΙ 25-30

εάν ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear (); // Καθαρίζει την οθόνη LCD

lcd.setCursor (0, 1); // Ορίζει το δρομέα στη στήλη 0, σειρά 1

lcd.print ("Small Alert"); // Εκτυπώνει "Small Alert" στη στήλη 0, σειρά 1

lcd.noDisplay (); // Απενεργοποιεί την οθόνη LCD (μέρος του φλας)

καθυστέρηση (1000); // Μένει εκτός για 1 δευτερόλεπτο

οθόνη LCD(); // Ενεργοποιεί ξανά την οθόνη LCD

καθυστέρηση (1000); // Παραμένει ενεργοποιημένο για 1 δευτερόλεπτο

analogWrite (redpin, 255); // Έξοδος 255 από το redpin (Κίτρινο RGB)

analogWrite (greenpin, 255); // Έξοδος 255 από το greenpin (Κίτρινο RGB)

analogWrite (bluepin, 0); // Δεν υπάρχει έξοδος από μπλε καρφίτσα

τόνος (buzzerpin, 200, 100). // Εκπέμπει συχνότητα 200 hertz για 0,1 δευτερόλεπτα από το βομβητή

καθυστέρηση (300)? //.3 Δεύτερη καθυστέρηση

} // IF TEMP IS 31-37 αλλιώς εάν ((int (DHT.temperature) = 37.00)) {

lcd.clear (); // Καθαρίζει την οθόνη LCD

lcd.setCursor (0, 1); // Ορίζει το δρομέα στη στήλη 0, σειρά 1

lcd.print ("Medium Alert"); // Εκτυπώνει "Medium Alert" στη στήλη 0, σειρά 1

lcd.noDisplay (); // Απενεργοποιεί την οθόνη LCD (μέρος του φλας)

καθυστέρηση (500); // Μένει εκτός για 0,5 δευτερόλεπτο

οθόνη LCD(); // Ενεργοποιεί ξανά την οθόνη LCD

καθυστέρηση (500); // Παραμένει ενεργοποιημένο για 0,5 δευτερόλεπτο

analogWrite (redpin, 255); // Έξοδος 255 από redpin (Κάνει πορτοκαλί RGB)

analogWrite (greenpin, 165); // Έξοδος 165 από το greenpin (Κάνει πορτοκαλί RGB)

analogWrite (bluepin, 0); // Δεν υπάρχει έξοδος από το bluepin

τόνος (buzzerpin, 500, 900). // Εκπέμπει συχνότητα 500 hertz για 0,9 δευτερόλεπτα από το βομβητή

καθυστέρηση (300)? //.3 Δεύτερη καθυστέρηση

} // ΑΝ Ο ΘΕΡΜΟΣ ΕΙΝΑΙ 38-100

αλλιώς εάν ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // Καθαρίζει την οθόνη LCD

lcd.setCursor (0, 1); // Ορίζει το δρομέα στη στήλη 0, σειρά 1

lcd.print ("Call 000"); // Εκτυπώνει "Call 000" στη στήλη 0, σειρά 1

lcd.noDisplay (); // Απενεργοποιεί την οθόνη LCD (μέρος του φλας)

καθυστέρηση (250). // Μένει μακριά για 0,25 δευτερόλεπτα

οθόνη LCD(); // Ενεργοποιεί ξανά την οθόνη LCD

καθυστέρηση (250); // Παραμένει ενεργοποιημένο για 0,25 δευτερόλεπτα

analogWrite (redpin, 255); // Έξοδος 255 από το redpin (Κάνει κόκκινο το RGB)

analogWrite (greenpin, 0); // Δεν υπάρχει έξοδος από το greenpin

analogWrite (bluepin, 0); // Δεν υπάρχει έξοδος από το bluepin

τόνος (buzzerpin, 1000, 900). // Εκπέμπει συχνότητα 1000 hertz για 0,9 δευτερόλεπτα από το βομβητή

καθυστέρηση (300)? //.3 Δεύτερη καθυστέρηση

}}

Συνιστάται: