Indholdsfortegnelse:
- Trin 1: Saml materialer
- Trin 2: Opsætning af brødbrætter
- Trin 3: Opsætning af LCD -display
- Trin 4: Opsætning af Piezo Buzzer
- Trin 5: Opsætning af DHT -temperatursensoren
- Trin 6: Opsætning af RGB
- Trin 7: Valgfrit 3D -printhus
- Trin 8: Koden og filerne
- Trin 9: Arduino -kode
Video: Arduino LCD brandsikkerhedsadvarselssystem: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Dette er et elevprojekt, der kombinerer funktionerne på en LCD -skærm, en summer, en RGB og en DHT -temperatursensor.
Den aktuelle omgivende temperatur vises og opdateres på LCD -skærmen.
Meddelelsen, der udskrives på LCD -skærmen, informerer brugeren om niveauet for "brandfare".
Skærmen dæmpes og blinker for at advare brugeren om fare.
Summeren bliver højere og hurtigere for at advare brugeren om fare afhængigt af niveauet for den aktuelle risiko.
RGB ændres grønt, gult, orange og rødt afhængigt af niveauet for den aktuelle risiko.
Kan sættes i et 3D -trykt kabinet for et mere professionelt udseende.
Dette løser et problem i den virkelige verden, hvor folk ikke ved, hvornår der er risiko for brand, før det er for sent
Trin 1: Saml materialer
Materialer brugt i dette projekt:
1x LCD -skærm
1x DHT_11 temperatursensor
1x RGB
1x Piezo passiv summer 1.0v
2x små brødbrætter
3x standard modstande
1x brødstørrelse i normal størrelse
1x Arduino UNO
Bluetack for at låse ledninger på plads.
Et sortiment af ledninger med forskellige ender, både åbne og enkelte.
En enhed til at køre koden
Adgang til en 3D -printer, hvis du ønsker den ydre skal og et mere poleret look
Trin 2: Opsætning af brødbrætter
1. Tilslut den orange ledning fra stiften mærket "GND" på Arduino -pladen, og slut den til den negative side (blå) af brødbrættet. Fra dette tidspunkt skal vi simpelthen sætte dem i samme kolonne som denne på brødbrættet, hvis vi skal bruge GND til eksterne enheder.
2. Tilslut den røde ledning fra stiften mærket "5V" på Arduino -pladen, og slut den til den positive (røde) side af brødbrættet. Fra dette tidspunkt, hvis vi skal bruge 5V til eksterne enheder, vil vi simpelthen sætte dem i den samme kolonne som denne på brødbrættet.
Trin 3: Opsætning af LCD -display
1. Vend brættet om, så det vender på hovedet med alle benene på venstre side.
2. Tilslut en ledning 5 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 4 på Arduino UNO.
3. Tilslut en ledning 6 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 5 på Arduino UNO.
4. Tilslut en ledning 7 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 6 på Arduino UNO.
5. Tilslut en ledning 8 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 7 på Arduino UNO.
6. Tilslut en ledning 9 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 8 på Arduino UNO.
7. Tilslut en ledning 10 øverst til venstre på den øverste række af stifter, og slut den til stift nummer 9 på Arduino UNO.
8. Tilslut en ledning 3 nederst til højre, og slut den til 5V rækken på brødbrættet
9. Tilslut en ledning 4 nederst til højre, og slut den til GND -rækken på brødbrættet
SE BILLEDER SOM KREDSDIAGRAM VISER FORSKELLIG LCD
Trin 4: Opsætning af Piezo Buzzer
1. Tilslut en ledning fra GND -stiften på summeren til GND -søjlen (blå) på brødbrættet
2. Tilslut en ledning fra VCC -stiften på summeren til 5V -søjlen (rød) på brødbrættet
3. Tilslut en ledning fra SIG -stiften på summeren til stiften nummereret "10" på arduino UNO -kortet
SE OVENNE BILLEDER SOM KREDSDIAGRAM Viser FORSKELLIG BUZZER
Trin 5: Opsætning af DHT -temperatursensoren
1. Opsæt DHT -sensor i breadboard som vist ovenfor
2. Tilslut den første pin til venstre for DHT -sensoren (mærket VCC i deldiagrammet) til 5V -kolonnen (rød) på brødbrættet
3. Tilslut den anden pin til venstre for DHT -sensoren (mærket DATA i deldiagrammet) til A0 -porten på Arduino UNO
4. Tilslut den første pin til højre for DHT -sensoren (mærket GND i deldiagrammet) til GND -kolonnen (blå) på brødbrættet
5. Se en vejledning, og tilføj dht.h -biblioteket, der findes i slutningen af den instruerbare til Arduino. (Dette er obligatorisk)
Trin 6: Opsætning af RGB
1. Læg RGB'en i et lille brødbræt som vist ovenfor, med vægt på at det andet ben fra venstre på RGB er en slot tættere på end de tre andre
2. Placer standardmodstande på den første, tredje og fjerde ben. Efterlader plads til mindst en ledning mere (som vist ovenfor).
3. Tilslut en ledning bag modstanden på venstre ben på RGB til stiften mærket 2 på Arduino UNO
4. Tilslut en ledning bag det yderste sekund fra venstre ben på RGB til GND (blå) kolonnen på brødbrættet.
5. Tilslut en ledning bag modstanden på den anden fra den højre pin på RGB til stiften mærket 1 på Arduino UNO
6. Tilslut en ledning bag modstanden på den højre pin på RGB til stiften mærket 3 på Arduino UNO
Trin 7: Valgfrit 3D -printhus
1. Find en vejledning i, hvordan du udskriver i 3D.
2. Udskriv nedenstående vedhæftede design lavet på Autodesk Fusion 360 (.stl -fil)
3. Skrab overskydende 3D -materiale af og glat over overfladen
4. Se billedet ovenfor for at få vejledning om, hvor Arduino -dele skal placeres.
Trin 8: Koden og filerne
-DHT.h -biblioteket er vedhæftet. (UNZIP)
-Koden med detaljerede kommentarer er vedhæftet, men er også på næste trin.
-STL -filen til 3D -huset er vedhæftet
-Kredsløbsdiagrammet er igen vedhæftet. Sørg for at henvise til de faktiske trin for LCD -skærmen og piezo -summer, da forskellige komponenter blev brugt.
Trin 9: Arduino -kode
// LCD BRANDADVARSLINGSSYSTEM // Læser input fra DHT -temperaturstift, og afhængigt af om det er varmt eller ej, ændres en rgb og højttaler for at angive brugeren, hvis de er brandfare. // Viser også temperaturen på LCD -skærmen.
// DHT OPSÆTNING
#include // Inkluder DHT -biblioteket
#define dht_dpin A0 // Fortæller kortet, at DHT -stiften er i analog indgang 0
dht DHT; // dht = DHT
// OPLYSNING AF FLYTENDE KRYSTAL
#include // Inkluder Liquid Crystal -biblioteket
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Forkort til LCD /fortæller arduino, hvilke porte lcd'en optager
// DEFINERING af RGB + BUZZER
#define redpin 1 // Definerer redpin af RGB i port 1
#define greenpin 2 // Definerer greenpin af RGB i port 2
#define bluepin 3 // Definerer bluepin af RGB i port 3
#define buzzerpin 10 // Definerer buzzerpin i port 10
// VARIABEL/S
int temp = analogRead (DHT.temperatur); // Etablerer heltal "temp", som er værdien fra kommandoen DHT.temperature
ugyldig opsætning () {
// OUTPUT/INPUT
analogWrite (redpin, OUTPUT); // Deklarér/definer redpin som Output
analogWrite (greenpin, OUTPUT); // Deklarér/definer greenpin som Output
analogWrite (bluepin, OUTPUT); // Deklarere/definere bluepin som Output
pinMode (buzzerpin, OUTPUT); // Deklarere/definere buzzerpin som Output
// LCD -SKÆRM
lcd.begin (16, 2); // Definer LCD -skærmen som 16 kolonner og 2 rækker}
void loop () {
// LCD -KODE UDEN VARIABILITET
DHT.read11 (dht_dpin); // Læs også input fra dht_dpin (A0)
lcd.setCursor (0, 0); // Sætter forbanderen til kolonne 0, række 0
lcd.print ("Det er"); // Skriver "Det" på LCD -skærmen
lcd.print (DHT.temperatur); // Udskriver DHT.temperaturværdien fra DHT -pin på kolonne 0, række 0
lcd.print (""); // Udskriver et mellemrum efter temperaturen
lcd.print ((tegn) 223); // udskriver Gradtegn efter temperatur
lcd.print ("C"); // Udskriver et "c" efter graderstegnet for at symbolisere celsius
// LCD -BLINKER
lcd.setCursor (0, 1); // Sætter forbanderen til kolonne 0, række 1
lcd.noDisplay ();
lcd.print ("Ingen brandfare"); // Udskriver "Ingen chance for brand"
lcd.noDisplay (); // Slukker LCD -display (del af flash)
forsinkelse (1000); // Stopper i 1 sekund
lcd.display (); // Tænder LCD -skærmen igen
forsinkelse (1000); // Bliver tændt i 1 sekund
// RGB + BUZZER CODE
analogWrite (redpin, 0); // Ingen output fra rød pin
analogWrite (greenpin, 255); // 255 output fra greenpin (Gør RGB grøn)
analogWrite (bluepin, 0); // Ingen output fra blå pin
tone (buzzerpin, 20, 20); // // udsender frekvens på 20 hertz i 0,02 sekunder fra summer
// HVIS TEMPEN ER 25-30
hvis ((int (DHT.temperatur)> = 25,00) && (int (DHT.temperatur) <= 30,00)) {
lcd.clear (); // Sletter LCD -skærmen
lcd.setCursor (0, 1); // Sætter forbanderen til kolonne 0, række 1
lcd.print ("lille advarsel"); // Udskriver "lille advarsel" på kolonne 0, række 1
lcd.noDisplay (); // Slukker LCD -display (del af flash)
forsinkelse (1000); // Stopper i 1 sekund
lcd.display (); // Tænder LCD -skærmen igen
forsinkelse (1000); // Bliver tændt i 1 sekund
analogWrite (redpin, 255); // 255 output fra redpin (Gør RGB gul)
analogWrite (greenpin, 255); // 255 output fra greenpin (Gør RGB gul)
analogWrite (bluepin, 0); // Ingen output fra blå pin
tone (buzzerpin, 200, 100); // Sender frekvens på 200 hertz i 0,1 sekunder fra summer
forsinkelse (300); //.3 Anden forsinkelse
} // HVIS TEMP ER 31-37 andet hvis ((int (DHT.temperatur) = 37,00)) {
lcd.clear (); // Sletter LCD -skærmen
lcd.setCursor (0, 1); // Sætter forbanderen til kolonne 0, række 1
lcd.print ("Medium alarm"); // Udskriver "Mellemalarm" på kolonne 0, række 1
lcd.noDisplay (); // Slukker LCD -display (del af flash)
forsinkelse (500); // Stopper i 0,5 sekund
lcd.display (); // Tænder LCD -skærmen igen
forsinkelse (500); // Bliver tændt i 0,5 sekund
analogWrite (redpin, 255); // 255 output fra redpin (Gør RGB orange)
analogWrite (greenpin, 165); // 165 output fra greenpin (Gør RGB orange)
analogWrite (bluepin, 0); // Intet output fra bluepin
tone (buzzerpin, 500, 900); // Sender frekvens på 500 hertz i 0,9 sekunder fra summer
forsinkelse (300); //.3 Anden forsinkelse
} // HVIS TEMPEN ER 38-100
ellers hvis ((int (DHT.temperatur) = 100,00)) {
lcd.clear (); // Sletter LCD -skærmen
lcd.setCursor (0, 1); // Sætter forbanderen til kolonne 0, række 1
lcd.print ("Ring til 000"); // Udskriver "Ring til 000" på kolonne 0, række 1
lcd.noDisplay (); // Slukker LCD -display (del af flash)
forsinkelse (250); // Stopper i 0,25 sekunder
lcd.display (); // Tænder LCD -skærmen igen
forsinkelse (250); // Bliver tændt i 0,25 sekunder
analogWrite (redpin, 255); // 255 output fra redpin (Gør RGB rød)
analogWrite (greenpin, 0); // Intet output fra greenpin
analogWrite (bluepin, 0); // Intet output fra bluepin
tone (buzzerpin, 1000, 900); // Sender frekvens på 1000 hertz i 0,9 sekunder fra summer
forsinkelse (300); //.3 Anden forsinkelse
}}
Anbefalede:
Bluetooth -kontrolleret Messenger LCD -- 16x2 LCD -- Hc05 -- Simpelt -- Trådløst opslagstavle: 8 trin
Bluetooth -kontrolleret Messenger LCD || 16x2 LCD || Hc05 || Simpelt || Trådløst opslagstavle: …………………………. Abonner venligst på min YouTube -kanal for flere videoer …… ………………………………… Opslagstavlen bruges til at opdatere folk med nye oplysninger eller Hvis du vil sende besked med i rummet eller i hal
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Arduino LCD 16x2 Tutorial - Interfacing 1602 LCD -display med Arduino Uno: 5 trin
Arduino LCD 16x2 Tutorial | Interfacing 1602 LCD -display med Arduino Uno: Hej fyre, da mange projekter har brug for en skærm for at vise dataene, uanset om det er en diy meter eller YouTube -abonnementstæller eller en lommeregner eller et tastaturlås med display, og hvis alle denne slags projekter er lavet med arduino vil de helt sikkert
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
I2C / IIC LCD -skærm - Konverter en SPI LCD til I2C LCD Display: 5 trin
I2C / IIC LCD -skærm | Konverter en SPI LCD til I2C LCD Display: Brug af spi lcd display har brug for for mange forbindelser til at gøre, hvilket er virkelig svært at gøre, så jeg fandt et modul, der kan konvertere i2c lcd til spi lcd, så lad os komme i gang