Indholdsfortegnelse:

Arduino LCD brandsikkerhedsadvarselssystem: 9 trin
Arduino LCD brandsikkerhedsadvarselssystem: 9 trin

Video: Arduino LCD brandsikkerhedsadvarselssystem: 9 trin

Video: Arduino LCD brandsikkerhedsadvarselssystem: 9 trin
Video: Обязательно запомни эту хитрость! Как можно моментально вывести йод с одежды? #shorts 2024, Juli
Anonim
Arduino LCD brandsikkerhedsadvarselssystem
Arduino LCD brandsikkerhedsadvarselssystem
Arduino LCD brandsikkerhedsadvarselssystem
Arduino LCD brandsikkerhedsadvarselssystem
Arduino LCD brandsikkerhedsadvarselssystem
Arduino LCD brandsikkerhedsadvarselssystem

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

Saml materialer
Saml materialer
Saml materialer
Saml materialer
Saml materialer
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

Opsætning af brødbrætter
Opsætning af brødbrætter
Opsætning af brødbrætter
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

Opsætning af LCD -display
Opsætning af LCD -display
Opsætning af LCD -display
Opsætning af LCD -display
Opsætning af LCD -display
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

Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
Opsætning af Piezo Buzzer
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

Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor
Opsætning af DHT temperatursensor

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

Opsætning af RGB
Opsætning af RGB
Opsætning af RGB
Opsætning af RGB
Opsætning af RGB
Opsætning af RGB
Opsætning af RGB
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

Valgfrit 3D -printhus
Valgfrit 3D -printhus
Valgfrit 3D -printhus
Valgfrit 3D -printhus
Valgfrit 3D -printhus
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

Koden og filerne
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

Arduino kode
Arduino kode
Arduino kode
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: