Innholdsfortegnelse:

Arduino LCD brannsikkerhetsadvarselssystem: 9 trinn
Arduino LCD brannsikkerhetsadvarselssystem: 9 trinn

Video: Arduino LCD brannsikkerhetsadvarselssystem: 9 trinn

Video: Arduino LCD brannsikkerhetsadvarselssystem: 9 trinn
Video: Styring af parkeringssensorer 2024, November
Anonim
Arduino LCD brannsikkerhetsvarslingssystem
Arduino LCD brannsikkerhetsvarslingssystem
Arduino LCD brannsikkerhetsvarslingssystem
Arduino LCD brannsikkerhetsvarslingssystem
Arduino LCD brannsikkerhetsvarslingssystem
Arduino LCD brannsikkerhetsvarslingssystem

Dette er et studentprosjekt som kombinerer funksjonene til en LCD -skjerm, en summer, en RGB og en DHT -temperatursensor.

Den nåværende omgivende temperaturen vises og oppdateres på LCD -skjermen.

Meldingen som skrives ut på LCD -skjermen informerer brukeren om nivået på "brannfare".

Skjermen dempes og blinker for å varsle brukeren om fare.

Summeren blir høyere og raskere for å varsle brukeren om fare, avhengig av gjeldende risiko.

RGB endres grønt, gult, oransje og rødt avhengig av gjeldende risiko.

Kan settes inn i et 3D -trykt kabinett for et mer profesjonelt utseende.

Dette løser et reelt problem med at folk ikke vet når det er fare for brann før det er for sent

Trinn 1: Samle materialer

Samle materialer
Samle materialer
Samle materialer
Samle materialer
Samle materialer
Samle materialer

Materialer som brukes i dette prosjektet:

1x LCD -skjerm

1x DHT_11 temperatursensor

1x RGB

1x Piezo passiv summer 1.0v

2x små brødbrett

3x standard motstander

1x brødstørrelse med normal størrelse

1x Arduino UNO

Bluetack for å låse ledninger på plass.

Et utvalg av ledninger med forskjellige ender, både åpne og enkle.

En enhet for å kjøre koden

Tilgang til en 3D -skriver hvis du ønsker det ytre skallet og et mer polert utseende

Trinn 2: Sette opp brødbrettene

Sette opp brødbrettene
Sette opp brødbrettene
Sette opp brødbrettene
Sette opp brødbrettene

1. Koble den oransje ledningen fra pinnen merket "GND" på Arduino -brettet og koble den til den negative siden (blå) på brødbrettet. Fra dette tidspunktet vil vi ganske enkelt sette dem i samme kolonne som dette på brødbrettet hvis vi trenger å bruke GND for eksterne enheter.

2. Koble den røde ledningen fra pinnen merket "5V" på Arduino -brettet og koble den til den positive (røde) siden av brødbrettet. Fra dette tidspunktet vil vi ganske enkelt sette dem i samme kolonne som dette på brødbrettet hvis vi trenger å bruke 5V for eksterne enheter.

Trinn 3: Sette opp LCD -skjerm

Sette opp LCD -skjerm
Sette opp LCD -skjerm
Sette opp LCD -skjerm
Sette opp LCD -skjerm
Sette opp LCD -skjerm
Sette opp LCD -skjerm

1. Snu brettet så det vender opp ned med alle pinnene på venstre side.

2. Koble en ledning 5 øverst til venstre på den øverste raden av pinner og koble den til pinne nummer 4 på Arduino UNO.

3. Koble en ledning 6 øverst til venstre på den øverste raden av pinner og koble den til pinne nummer 5 på Arduino UNO.

4. Koble en ledning 7 øverst til venstre på den øverste raden med pinner og koble den til pinne 6 på Arduino UNO.

5. Koble en ledning 8 øverst til venstre på den øverste raden med pinner og koble den til pinne 7 på Arduino UNO.

6. Koble en ledning 9 øverst til venstre på den øverste raden av pinner og koble den til pinne nummer 8 på Arduino UNO.

7. Koble en ledning 10 øverst til venstre på den øverste pinnen og koble den til pinne 9 på Arduino UNO.

8. Koble en ledning 3 nederst til høyre og koble den til 5V -raden på brødbrettet

9. Koble en ledning 4 nederst til høyre og koble den til GND -raden på brødbrettet

SE BILDER SOM KRETSSKJEMA VISER ULIKE LCD

Trinn 4: Sette opp Piezo Buzzer

Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer
Setter opp Piezo -summer

1. Koble en ledning fra GND -pinnen på summeren til GND -kolonnen (blå) på brødbrettet

2. Koble en ledning fra VCC -pinnen på summeren til 5V -kolonnen (rød) på brødbrettet

3. Koble en ledning fra SIG -pinnen på summeren til pinnen nummerert "10" på arduino UNO -kortet

SE OVENNEN BILDER SOM KRETSSKJEMA Viser ULIKE BUZZER

Trinn 5: Sette opp DHT -temperatursensoren

Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren
Sette opp DHT -temperatursensoren

1. Sett opp DHT -sensoren i brødbrettet som vist ovenfor

2. Koble den første pinnen til venstre for DHT -sensoren (merket VCC i deldiagrammet) til 5V -kolonnen (rød) på brødbrettet

3. Koble den andre pinnen til venstre for DHT -sensoren (merket DATA i deldiagrammet) til A0 -porten på Arduino UNO

4. Koble den første pinnen til høyre på DHT -sensoren (merket GND i deldiagrammet) til GND -kolonnen (blå) på brødbrettet

5. Se en opplæring og legg til dht.h -biblioteket som er funnet på slutten av instruksjonsboken til Arduino. (Dette er obligatorisk)

Trinn 6: Konfigurere RGB

Sette opp RGB
Sette opp RGB
Sette opp RGB
Sette opp RGB
Sette opp RGB
Sette opp RGB
Sette opp RGB
Sette opp RGB

1. Plasser RGB i et lite brødbrett som vist ovenfor, med vekt på at det andre benet fra venstre på RGB er ett spor nærmere enn de tre andre

2. Plasser standardmotstander på den første, tredje og fjerde pinnen. La plass til minst én ledning til (som vist ovenfor).

3. Koble en ledning bak motstanden på venstre pinne på RGB til pinnen merket 2 på Arduino UNO

4. Koble en ledning bak den andre seksten fra venstre pinne på RGB til GND (blå) kolonnen på brødbrettet.

5. Koble en ledning bak motstanden på den andre fra høyre pinne på RGB til pinnen merket 1 på Arduino UNO

6. Koble en ledning bak motstanden på høyre pinne på RGB til pinnen merket 3 på Arduino UNO

Trinn 7: Valgfritt 3D -utskriftshus

Valgfritt 3D -utskriftshus
Valgfritt 3D -utskriftshus
Valgfritt 3D -utskriftshus
Valgfritt 3D -utskriftshus
Valgfritt 3D -utskriftshus
Valgfritt 3D -utskriftshus

1. Finn en veiledning om hvordan du skriver ut i 3D.

2. Skriv ut det vedlagte designet nedenfor på Autodesk Fusion 360 (.stl -fil)

3. Skrap av overflødig 3D -materiale og glatt over overflaten

4. Se bildet ovenfor for veiledning om hvor du skal plassere Arduino -deler.

Trinn 8: Koden og filene

Koden og filene
Koden og filene

-DHT.h -biblioteket er vedlagt. (UNZIP)

-Koden med detaljerte kommentarer er vedlagt, men er også på neste trinn.

-STL -filen for 3D -huset er vedlagt

-Kretsdiagrammet er igjen vedlagt. Sørg for å referere til de faktiske trinnene for LCD -skjermen og piezo -summeren da forskjellige komponenter ble brukt.

Trinn 9: Arduino -kode

Arduino -koden
Arduino -koden
Arduino -koden
Arduino -koden

// LCD -BRANNVARSLINGSSYSTEM // Leser inngang fra DHT -temperaturpinne, og avhengig av om det er varmt eller ikke, endrer en rgb og høyttaler for å indikere brukeren hvis det er fare for brann. // Viser også temperaturen på LCD -skjermen.

// DHT SETUP

#include // Inkluder DHT -biblioteket

#define dht_dpin A0 // Forteller brettet at DHT -pinnen er i analog inngang 0

dht DHT; // dht = DHT

// FLYTENDE KRYSTALOPPSETT

#include // Inkluder Liquid Crystal -biblioteket

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Forkort til LCD /forteller arduino hvilke porter LCD -skjermen har

// DEFINERING RGB + BUZZER

#define redpin 1 // Definerer redpin for RGB i port 1

#define greenpin 2 // Definerer greenpin for RGB i port 2

#define bluepin 3 // Definerer bluepin for RGB i port 3

#define buzzerpin 10 // Definerer buzzerpin i port 10

// VARIABLE/S

int temp = analogRead (DHT.temperatur); // Etablerer heltall "temp" som er verdien fra kommandoen DHT.temperature

ugyldig oppsett () {

// UTGANG/INNGANG

analogWrite (redpin, OUTPUT); // Deklarere/definere redpin som Output

analogWrite (greenpin, OUTPUT); // Deklarere/definere greenpin som Output

analogWrite (bluepin, OUTPUT); // Deklarere/definere bluepin som Output

pinMode (buzzerpin, OUTPUT); // Deklarere/definere buzzerpin som Output

// LCD SKJERM

lcd.begin (16, 2); // Definer LCD -skjermen som 16 kolonner og 2 rader}

void loop () {

// LCD -KODE UTEN VARIABILITET

DHT.read11 (dht_dpin); // Les også input fra dht_dpin (A0)

lcd.setCursor (0, 0); // Setter forbannelse til kolonne 0, rad 0

lcd.print ("Det er"); // Skriver "It's" på LCD -skjermen

lcd.print (DHT.temperatur); // Skriver ut DHT.temperaturverdien fra DHT -pinnen på kolonne 0, rad 0

lcd.print (""); // Skriver ut et mellomrom etter temperaturen

lcd.print ((røyke) 223); // skriver ut Gradskilt etter temperatur

lcd.print ("C"); // Skriver ut en "c" etter graderstegnet for å symbolisere celsius

// LCD -BLINKER

lcd.setCursor (0, 1); // Setter forbannelsen til kolonne 0, rad 1

lcd.noDisplay ();

lcd.print ("Ingen brannfare"); // Skriver ut "Ingen sjanse for brann"

lcd.noDisplay (); // Slår av LCD -skjermen (del av blits)

forsinkelse (1000); // Stopper i 1 sekund

LCD-skjerm(); // Slår LCD -skjermen på igjen

forsinkelse (1000); // Står på i 1 sekund

// RGB + BRUKERKODE

analogWrite (rødnål, 0); // Ingen utgang fra rød pin

analogWrite (greenpin, 255); // 255 utgang fra greenpin (gjør RGB grønn)

analogWrite (bluepin, 0); // Ingen utgang fra blå pin

tone (buzzerpin, 20, 20); // // Sender 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 -skjermen

lcd.setCursor (0, 1); // Setter forbannelse til kolonne 0, rad 1

lcd.print ("Small Alert"); // Skriver ut "Small Alert" på kolonne 0, rad 1

lcd.noDisplay (); // Slår av LCD -skjermen (del av blits)

forsinkelse (1000); // Stopper i 1 sekund

LCD-skjerm(); // Slår LCD -skjermen på igjen

forsinkelse (1000); // Står på i 1 sekund

analogWrite (redpin, 255); // 255 output from redpin (Gjør RGB gul)

analogWrite (greenpin, 255); // 255 utgang fra greenpin (Gjør RGB gul)

analogWrite (bluepin, 0); // Ingen utgang fra blå pin

tone (buzzerpin, 200, 100); // Sender frekvens på 200 hertz i 0,1 sekunder fra summer

forsinkelse (300); //.3 Andre forsinkelse

} // HVIS TEMP ER 31-37 annet hvis ((int (DHT.temperatur) = 37,00)) {

lcd.clear (); // Sletter LCD -skjermen

lcd.setCursor (0, 1); // Setter forbannelsen til kolonne 0, rad 1

lcd.print ("Middels varsel"); // Skriver ut "Medium varsel" på kolonne 0, rad 1

lcd.noDisplay (); // Slår av LCD -skjermen (del av blits)

forsinkelse (500); // Holder seg i 0,5 sekund

LCD-skjerm(); // Slår LCD -skjermen på igjen

forsinkelse (500); // Står på i 0,5 sekund

analogWrite (redpin, 255); // 255 utgang fra redpin (gjør RGB oransje)

analogWrite (greenpin, 165); // 165 utgang fra greenpin (gjør RGB oransje)

analogWrite (bluepin, 0); // Ingen utdata fra bluepin

tone (buzzerpin, 500, 900); // Sender frekvens på 500 hertz i 0,9 sekunder fra summer

forsinkelse (300); //.3 Andre forsinkelse

} // HVIS TEMPEN ER 38-100

annet hvis ((int (DHT.temperatur) = 100,00)) {

lcd.clear (); // Sletter LCD -skjermen

lcd.setCursor (0, 1); // Setter forbannelse til kolonne 0, rad 1

lcd.print ("Ring 000"); // Skriver ut "Ring 000" på kolonne 0, rad 1

lcd.noDisplay (); // Slår av LCD -skjermen (del av blits)

forsinkelse (250); // Stopper i 0,25 sekunder

LCD-skjerm(); // Slår LCD -skjermen på igjen

forsinkelse (250); // Står på i 0,25 sekunder

analogWrite (redpin, 255); // 255 utgang fra redpin (Gjør RGB rød)

analogWrite (greenpin, 0); // Ingen utgang fra greenpin

analogWrite (bluepin, 0); // Ingen utdata fra bluepin

tone (buzzerpin, 1000, 900); // Sender frekvens på 1000 hertz i 0,9 sekunder fra summer

forsinkelse (300); //.3 Andre forsinkelse

}}

Anbefalt: