Sadržaj:
- Korak 1: Prikupite materijale
- Korak 2: Postavljanje matičnih ploča
- Korak 3: Postavljanje LCD ekrana
- Korak 4: Postavljanje Piezo zujalice
- Korak 5: Postavljanje DHT temperaturnog senzora
- Korak 6: Postavljanje RGB -a
- Korak 7: Opcionalno kućište za 3D štampanje
- Korak 8: Kôd i datoteke
- Korak 9: Arduino kod
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Ovo je studentski projekt koji kombinira funkcije LCD ekrana, zujalice, RGB i temperaturnog senzora DHT.
Trenutna temperatura okoline prikazuje se i ažurira na LCD ekranu.
Poruka odštampana na LCD ekranu informiše korisnika o stepenu "opasnosti od požara".
Zaslon se zatamnjuje i treperi kako bi upozorio korisnika na opasnost.
Zvučni signal postaje sve glasniji i brži da upozori korisnika na opasnost u zavisnosti od nivoa trenutnog rizika.
RGB mijenja zelenu, žutu, narančastu i crvenu boju ovisno o razini trenutnog rizika.
Može se staviti u 3D štampano kućište radi profesionalnijeg izgleda.
Ovo rješava stvarni svjetski problem ljudi koji ne znaju kada postoji opasnost od požara dok ne bude prekasno
Korak 1: Prikupite materijale
Materijali korišteni u ovom projektu:
1x LCD ekran
1x DHT_11 Senzor temperature
1x RGB
1x Piezo pasivni zujalica 1.0v
2x male pločice
3x standardni otpornici
1x Oglasna ploča normalne veličine
1x Arduino UNO
Bluetack za zaključavanje žica na mjestu.
Asortiman različitih završenih žica, otvorenih i jednostrukih.
Uređaj za pokretanje koda
Pristupite 3D pisaču ako želite vanjski omotač i uglađeniji izgled
Korak 2: Postavljanje matičnih ploča
1. Spojite narančastu žicu s pina označenog s "GND" na Arduino ploči i spojite ga s negativnom stranom (plavom) ploče. Od ovog trenutka, ako trebamo koristiti GND za bilo koje vanjske uređaje, jednostavno ćemo ih staviti u istu kolonu kao što je ova na matičnoj ploči.
2. Spojite crvenu žicu s pina označenog s "5V" na Arduino ploči i spojite je s pozitivnom (crvenom) stranom ploče. Od ovog trenutka, ako trebamo koristiti 5V za bilo koje vanjske uređaje, jednostavno ćemo ih staviti u iste stupce na ovoj ploči.
Korak 3: Postavljanje LCD ekrana
1. Okrenite ploču tako da bude okrenuta naopačke sa svim iglama na lijevoj strani.
2. Spojite žicu 5 odozgo lijevo na gornjem redu pinova i spojite je na pin broj 4 na Arduino UNO.
3. Spojite žicu 6 odozgo lijevo na gornjem redu pinova i spojite je na pin 5 na Arduino UNO.
4. Spojite žicu 7 odozgo lijevo na gornjem redu pinova i spojite je na pin broj 6 na Arduino UNO.
5. Spojite žicu 8 odozgo lijevo na gornjem redu pinova i spojite je na pin broj 7 na Arduino UNO.
6. Spojite žicu 9 odozgo lijevo na gornjem redu pinova i spojite je na pin 8 na Arduino UNO.
7. Spojite žicu 10 odozgo lijevo na gornjem redu pinova i spojite je na pin 9 na Arduino UNO.
8. Spojite žicu 3 u donjem desnom kutu i spojite je na 5V red na matičnoj ploči
9. Spojite žicu 4 u donjem desnom kutu i spojite je na redak GND na ploči s ploču
POGLEDAJTE SLIKE KAO DIJAGRAM KRUGA POKAZA RAZLIČIT LCD
Korak 4: Postavljanje Piezo zujalice
1. Spojite žicu s GND pina na zujalici na stupac GND (plavo) na matičnoj ploči
2. Spojite žicu sa VCC pina na zujalici na 5V stupac (crveno) na matičnoj ploči
3. Spojite žicu sa SIG pina na zujalici na pin označen "10" na arduino UNO ploči
POGLEDAJTE ISPOD SLIKA KAO DIJAGRAM KOLA POKAZA RAZLIČIT ZVUK
Korak 5: Postavljanje DHT temperaturnog senzora
1. Postavite DHT senzor u matičnu ploču kao što je prikazano gore
2. Spojite prvi pin s lijeve strane DHT osjetnika (označen VCC na dijagramu dijela) na 5V stupac (crveno) na ploči
3. Spojite drugi pin na lijevoj strani DHT senzora (označeno sa DATA na dijagramu dijela) na A0 port na Arduino UNO
4. Spojite prvi pin na desnoj strani DHT osjetnika (označeno sa GND na dijagramu dijela) sa stupom GND (plavo) na matičnoj ploči
5. Pogledajte vodič i dodajte biblioteku dht.h koja se nalazi na kraju uputstva u Arduino. (Ovo je obavezno)
Korak 6: Postavljanje RGB -a
1. Postavite RGB u malu ploču kao što je prikazano gore, naglašavajući da je drugi krak s lijeve strane RGB -a jedan utor bliži od ostala tri
2. Postavite standardne otpornike na prvu, treću i četvrtu iglu. Ostavljajući prostor za još najmanje jednu žicu (kao što je prikazano gore).
3. Spojite žicu iza otpornika na lijevom pinu RGB -a na pin označen 2 na Arduino UNO
4. Spojite žicu iza vanjske sekunde s lijevog pina RGB -a na GND (plavi) stupac matične ploče.
5. Spojite žicu iza otpornika na drugom s desnog pina RGB -a na pin označen 1 na Arduino UNO
6. Spojite žicu iza otpornika na desnom pinu RGB -a na pin označen 3 na Arduino UNO
Korak 7: Opcionalno kućište za 3D štampanje
1. Pronađite vodič za 3D štampanje.
2. Odštampajte dolje priložen dizajn napravljen na Autodesk Fusion 360 (.stl datoteka)
3. Ostružite višak 3D materijala i zagladite površinu
4. Pogledajte gornju sliku za upute o tome gdje postaviti Arduino dijelove.
Korak 8: Kôd i datoteke
-Biblioteka DHT.h je u prilogu. (UNZIP)
-Kodeks sa potpunim detaljnim komentarima je u prilogu, ali je i na sljedećem koraku.
-Priložena je.stl datoteka za 3D kućište
-Dijagram kola je ponovo priložen. Pobrinite se da pogledate stvarne korake za LCD ekran i piezo zujalicu jer su korištene različite komponente.
Korak 9: Arduino kod
// LCD SISTEM ZA UPOZORENJE POŽARA // Očitava ulaz sa DHT temperaturnog pina i ovisno o tome je li vruće ili nije, mijenja rgb i zvučnik kako bi korisniku ukazao na opasnost od požara. // Također prikazuje temperaturu na LCD ekranu.
// DHT SETUP
#include // Uključuje DHT biblioteku
#define dht_dpin A0 // Kaže ploči da je DHT pin na analognom ulazu 0
dht DHT; // dht = DHT
// PODEŠAVANJE TEČNOG KRISTALA
#include // Uključuje biblioteku tekućih kristala
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Skratite na LCD /govori arduinu koje portove zauzima LCD
// DEFINIRANJE RGB + BUZZERA
#define redpin 1 // Definira redpin RGB -a na portu 1
#define greenpin 2 // Definira greenpin RGB -a u portu 2
#define bluepin 3 // Definira bluepin RGB -a na portu 3
#define buzzerpin 10 // Definira zujalicu u portu 10
// VARIJABLE
int temp = analogRead (DHT.temperature); // Uspostavlja cijeli broj "temp" koja je vrijednost iz naredbe DHT.temperature
void setup () {
// IZLAZ/ULAZ
analogWrite (redpin, OUTPUT); // Deklarirati/definirati redpin kao izlaz
analogWrite (greenpin, OUTPUT); // Deklarirati/definirati greenpin kao izlaz
analogWrite (bluepin, OUTPUT); // Deklarirati/definirati bluepin kao izlaz
pinMode (zujalica, OUTPUT); // Deklarirati/definirati buzzerpin kao izlaz
// LCD EKRAN
lcd.begin (16, 2); // Definirajte LCD ekran kao 16 kolona i 2 reda}
void loop () {{100} {101}
// LCD KOD BEZ PROMJENLJIVOSTI
DHT.read11 (dht_dpin); // Pročitajte i unos sa dht_dpin (A0)
lcd.setCursor (0, 0); // Postavlja kursor na stupac 0, red 0
lcd.print ("To je"); // Na LCD ekranu piše "To je"
lcd.print (DHT.temperature); // Ispisuje vrijednost temperature DHT.tem iz DHT pina na stupcu 0, red 0
lcd.print (""); // Štampa razmak nakon temperature
lcd.print ((char) 223); // ispisuje stupanj stupnja nakon temperature
lcd.print ("C"); // Štampa "c" iza znaka stepena koji simbolizuje Celzijus
// LCD FLASHING
lcd.setCursor (0, 1); // Postavlja kursor na stupac 0, red 1
lcd.noDisplay ();
lcd.print ("Nema opasnosti od požara"); // Ispisuje "Nema šanse za požar"
lcd.noDisplay (); // Isključuje LCD ekran (dio blica)
delay (1000); // Ostaje isključeno 1 sekundu
lcd.display (); // Ponovo uključuje LCD ekran
delay (1000); // Ostaje uključeno 1 sekundu
// RGB + BUZZER KOD
analogWrite (redpin, 0); // Nema izlaza sa crvenog pina
analogWrite (greenpin, 255); // 255 izlaz sa greenpina (čini RGB zelenim)
analogWrite (bluepin, 0); // Nema izlaza sa plavog pina
ton (zujalica, 20, 20); // // Emitira frekvenciju od 20 herca 0,02 sekunde iz zujalice
// AKO JE TEMP 25-30
if ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {
lcd.clear (); // Briše LCD ekran
lcd.setCursor (0, 1); // Postavlja kursor na stupac 0, red 1
lcd.print ("Malo upozorenje"); // Štampa "Malo upozorenje" u koloni 0, prvi red
lcd.noDisplay (); // Isključuje LCD ekran (dio blica)
delay (1000); // Ostaje isključeno 1 sekundu
lcd.display (); // Ponovo uključuje LCD ekran
delay (1000); // Ostaje uključeno 1 sekundu
analogWrite (redpin, 255); // 255 izlaz iz redpina (čini RGB žutim)
analogWrite (greenpin, 255); // 255 izlaz sa greenpina (čini RGB žutim)
analogWrite (bluepin, 0); // Nema izlaza sa plavog pina
ton (zujalica, 200, 100); // Emitira frekvenciju od 200 herca na 0,1 sekundu iz zujalice
kašnjenje (300); //.3 Drugo kašnjenje
} // AKO JE TEMP 31-37 inače if ((int (DHT.temperature) = 37.00)) {
lcd.clear (); // Briše LCD ekran
lcd.setCursor (0, 1); // Postavlja kursor na stupac 0, red 1
lcd.print ("Srednje upozorenje"); // Ispisuje "Srednje upozorenje" u stupcu 0, prvi red
lcd.noDisplay (); // Isključuje LCD ekran (dio blica)
delay (500); // Ostaje isključeno 0,5 sekundi
lcd.display (); // Ponovo uključuje LCD ekran
delay (500); // Ostaje uključeno 0,5 sekundi
analogWrite (redpin, 255); // 255 izlaz iz redpina (čini RGB narandžastom)
analogWrite (greenpin, 165); // 165 izlaz iz greenpina (čini RGB narandžastom)
analogWrite (bluepin, 0); // Nema izlaza iz bluepina
ton (zujalica, 500, 900); // Emitira frekvenciju od 500 herca 0,9 sekundi iz zujalice
kašnjenje (300); //.3 Drugo kašnjenje
} // AKO JE TEMP 38-100
else if ((int (DHT.temperature) = 100.00)) {
lcd.clear (); // Briše LCD ekran
lcd.setCursor (0, 1); // Postavlja kursor na stupac 0, red 1
lcd.print ("Pozovi 000"); // Ispisuje "Call 000" u kolonu 0, red 1
lcd.noDisplay (); // Isključuje LCD ekran (dio blica)
delay (250); // Ostaje isključen 0,25 sekunde
lcd.display (); // Ponovo uključuje LCD ekran
delay (250); // Ostaje uključeno 0,25 sekunde
analogWrite (redpin, 255); // 255 izlaz sa redpina (čini RGB crvenim)
analogWrite (greenpin, 0); // Nema izlaza iz greenpina
analogWrite (bluepin, 0); // Nema izlaza iz bluepina
ton (zujalica, 1000, 900); // Emituje frekvenciju od 1000 herca 0,9 sekundi iz zujalice
kašnjenje (300); //.3 Drugo kašnjenje
}}