Innehållsförteckning:

Arduino LCD brandsäkerhetsvarningssystem: 9 steg
Arduino LCD brandsäkerhetsvarningssystem: 9 steg

Video: Arduino LCD brandsäkerhetsvarningssystem: 9 steg

Video: Arduino LCD brandsäkerhetsvarningssystem: 9 steg
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, November
Anonim
Arduino LCD brandsäkerhetsvarningssystem
Arduino LCD brandsäkerhetsvarningssystem
Arduino LCD brandsäkerhetsvarningssystem
Arduino LCD brandsäkerhetsvarningssystem
Arduino LCD brandsäkerhetsvarningssystem
Arduino LCD brandsäkerhetsvarningssystem

Detta är ett studentprojekt som kombinerar funktionerna hos en LCD -skärm, en summer, en RGB och en DHT -temperatursensor.

Den aktuella omgivande temperaturen visas och uppdateras på LCD -skärmen.

Meddelandet som skrivs ut på LCD -skärmen informerar användaren om graden av "brandfara".

Skärmen dimmar och blinkar för att varna användaren om fara.

Summern blir högre och snabbare för att varna användaren om fara beroende på den aktuella risknivån.

RGB ändras grönt, gult, orange och rött beroende på aktuell risknivå.

Kan sättas i ett 3D -tryckt hölje för ett mer professionellt utseende.

Detta löser ett verkligt problem med att människor inte vet när det finns risk för brand tills det är för sent

Steg 1: Samla material

Samla material
Samla material
Samla material
Samla material
Samla material
Samla material

Material som används i detta projekt:

1x LCD -skärm

1x DHT_11 temperatursensor

1x RGB

1x Piezo passiv summer 1.0v

2x små brödbrädor

3x standardmotstånd

1x brödbräda med normal storlek

1x Arduino UNO

Bluetack för att låsa trådarna på plats.

Ett sortiment av olika ändtrådar, både öppna och enkla.

En enhet för att köra koden

Tillgång till en 3D -skrivare om du önskar det yttre skalet och ett mer polerat utseende

Steg 2: Konfigurera brödbrädorna

Sätta upp brödbrädorna
Sätta upp brödbrädorna
Sätta upp brödbrädorna
Sätta upp brödbrädorna

1. Anslut den orange tråden från stiftet märkt "GND" på Arduino -kortet och anslut den till den negativa sidan (blå) på brödbrädet. Från och med nu, om vi behöver använda GND för externa enheter kommer vi helt enkelt att placera dem i samma kolumn som denna på brödbrädet.

2. Anslut den röda tråden från stiftet märkt "5V" på Arduino -kortet och anslut den till den positiva (röda) sidan av brödbrädet. Från och med nu, om vi behöver använda 5V för externa enheter, kommer vi helt enkelt att lägga dem i samma kolumn som detta på brödbrädan.

Steg 3: Konfigurera LCD -skärm

Inställning av LCD -skärm
Inställning av LCD -skärm
Inställning av LCD -skärm
Inställning av LCD -skärm
Inställning av LCD -skärm
Inställning av LCD -skärm

1. Vänd brädan så att den är vänd upp och ner med alla stift på vänster sida.

2. Anslut en kabel 5 uppifrån till vänster på den övre raden med stift och anslut den till stift nummer 4 på Arduino UNO.

3. Anslut en kabel 6 uppifrån till vänster på den övre raden med stift och anslut den till stift nummer 5 på Arduino UNO.

4. Anslut en tråd 7 uppifrån till vänster på den övre raden med stift och anslut den till stift 6 på Arduino UNO.

5. Anslut en tråd 8 uppifrån till vänster på den övre raden med stift och anslut den till stift nummer 7 på Arduino UNO.

6. Anslut en kabel 9 uppifrån till vänster på den övre raden med stift och anslut den till stift nummer 8 på Arduino UNO.

7. Anslut en tråd 10 uppifrån till vänster på den övre raden med stift och anslut den till stift nummer 9 på Arduino UNO.

8. Anslut en tråd 3 längst ned till höger och anslut den till 5V -raden på brödbrädet

9. Anslut en tråd 4 längst ned till höger och anslut den till GND -raden på brödbrädet

SE BILDER SOM CIRCUIT -DIAGRAM VISAR Olika LCD -skärmar

Steg 4: Konfigurera Piezo Buzzer

Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer
Inställning av piezo -summer

1. Anslut en kabel från GND -stiftet på summern till GND -kolumnen (blå) på brödbrädet

2. Anslut en kabel från VCC -stiftet på summern till 5V -kolonnen (röd) på brödbrädet

3. Anslut en kabel från SIG -stiftet på summern till stiftet numrerat "10" på arduino UNO -kortet

SE ÖVRIGA BILDER SOM CIRCUIT -DIAGRAM VISAR OCH SKILDA BUZZER

Steg 5: Konfigurera DHT -temperatursensorn

Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn
Inställning av DHT -temperatursensorn

1. Ställ in DHT -sensorn i brödbrädan enligt bilden ovan

2. Anslut den första stiftet till vänster om DHT -sensorn (märkt VCC i deldiagrammet) till 5V -kolumnen (röd) på brödbrädet

3. Anslut den andra stiftet till vänster om DHT -sensorn (märkt DATA i deldiagrammet) till A0 -porten på Arduino UNO

4. Anslut den första stiftet till höger om DHT -sensorn (märkt GND i deldiagrammet) till GND -kolumnen (blå) på brödbrädet

5. Titta på en handledning och lägg till dht.h -biblioteket som finns i slutet av instruktionsboken till Arduino. (Detta är obligatoriskt)

Steg 6: Konfigurera RGB

Konfigurera RGB
Konfigurera RGB
Konfigurera RGB
Konfigurera RGB
Konfigurera RGB
Konfigurera RGB
Konfigurera RGB
Konfigurera RGB

1. Placera RGB i en liten brödbräda enligt bilden ovan, betona att det andra benet från vänster om RGB är en plats närmare än de andra tre

2. Placera standardmotstånd på första, tredje och fjärde stiften. Lämna utrymme för minst en tråd till (som visas ovan).

3. Anslut en kabel bakom motståndet på vänster stift på RGB till stiftet märkt 2 på Arduino UNO

4. Anslut en tråd bakom den yttre sekunden från vänster stift på RGB till GND (blå) kolumnen på brödbrädet.

5. Anslut en kabel bakom motståndet på den andra från höger stift på RGB till stiftet märkt 1 på Arduino UNO

6. Anslut en kabel bakom motståndet på höger stift på RGB till stiftet märkt 3 på Arduino UNO

Steg 7: Valfritt 3D -utskriftshölje

Valfritt 3D -utskriftshölje
Valfritt 3D -utskriftshölje
Valfritt 3D -utskriftshus
Valfritt 3D -utskriftshus
Valfritt 3D -utskriftshus
Valfritt 3D -utskriftshus

1. Hitta en handledning om hur du 3D -utskrift.

2. Skriv ut nedanstående bifogade design gjord på Autodesk Fusion 360 (.stl -fil)

3. Skrapa bort överflödigt 3D -material och släta över ytan

4. Se bilden ovan för vägledning om var du ska placera Arduino -delar.

Steg 8: Koden och filerna

Koden och filerna
Koden och filerna

-DHT.h -biblioteket är bifogat. (PACKA UPP)

-Koden med fullständiga detaljerade kommentarer bifogas men är också på nästa steg.

-STL -filen för 3D -höljet bifogas

-Kretsdiagrammet bifogas igen. Var noga med att hänvisa till de faktiska stegen för LCD -skärmen och piezo -summer när olika komponenter användes.

Steg 9: Arduino -kod

Arduino -kod
Arduino -kod
Arduino -kod
Arduino -kod

// LCD -VARNINGSSYSTEM // Läser indata från DHT -temperaturstift och beroende på om det är varmt eller inte, ändrar en rgb och högtalare för att indikera användaren om det är brandrisk. // Visar även temperaturen på LCD -skärmen.

// DHT -INSTÄLLNING

#include // Inkludera DHT -biblioteket

#define dht_dpin A0 // Berättar för kortet att DHT -stiftet är i analog ingång 0

dht DHT; // dht = DHT

// FLYTANDE KRISTALLINSTÄLLNINGAR

#include // Inkludera Liquid Crystal -biblioteket

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Förkorta till LCD /berättar för arduino vilka portar LCD -skärmen har

// DEFINERA RGB + BUZZER

#define redpin 1 // Definierar redpin för RGB i port 1

#define greenpin 2 // Definierar greenpin för RGB i port 2

#define bluepin 3 // Definierar bluepin för RGB i port 3

#define buzzerpin 10 // Definierar buzzerpin i port 10

// VARIABLE/S

int temp = analogRead (DHT.temperatur); // Upprättar heltal "temp" som är värdet från kommandot DHT.temperature

void setup () {

// UTGÅNG/INGÅNG

analogWrite (redpin, OUTPUT); // Deklarera/definiera redpin som Output

analogWrite (greenpin, OUTPUT); // Deklarera/definiera greenpin som Output

analogWrite (bluepin, OUTPUT); // Deklarera/definiera bluepin som Output

pinMode (buzzerpin, OUTPUT); // Deklarera/definiera buzzerpin som Output

// LCD SKÄRM

lcd.begin (16, 2); // Definiera LCD -skärmen som 16 kolumner och 2 rader}

void loop () {

// LCD -KOD UTAN VARIABILITET

DHT.read11 (dht_dpin); // Läs även input från dht_dpin (A0)

lcd.setCursor (0, 0); // Ställer in markören till kolumn 0, rad 0

lcd.print ("Det är"); // Skriver "It's" på LCD -skärmen

lcd.print (DHT.temperatur); // Skriver ut DHT.temperaturvärdet från DHT -stift på kolumn 0, rad 0

lcd.print (""); // Skriver ut ett mellanslag efter temperaturen

lcd.print ((char) 223); // skriver ut examensskylt efter temperatur

lcd.print ("C"); // Skriver ut ett "c" efter graderstecknet för att symbolisera celsius

// LCD -BLINKANDE

lcd.setCursor (0, 1); // Ställer in markören till kolumn 0, rad 1

lcd.noDisplay ();

lcd.print ("Ingen brandfara"); // Skriver ut "Ingen risk för eld"

lcd.noDisplay (); // Stänger av LCD -skärmen (del av blixt)

fördröjning (1000); // Stannar i 1 sekund

LCD skärm(); // Slår på LCD -skärmen igen

fördröjning (1000); // Håller på i 1 sekund

// RGB + BUZZER CODE

analogWrite (redpin, 0); // Ingen utmatning från röd stift

analogWrite (greenpin, 255); // 255 utmatning från greenpin (gör RGB grön)

analogWrite (bluepin, 0); // Ingen utmatning från blå pin

ton (buzzerpin, 20, 20); // // Avger frekvens på 20 hertz i 0,02 sekunder från summer

// OM TEMPEN ÄR 25-30

if ((int (DHT.temperatur)> = 25,00) && (int (DHT.temperatur) <= 30,00)) {

lcd.clear (); // Rensar LCD -skärmen

lcd.setCursor (0, 1); // Ställer in markören till kolumn 0, rad 1

lcd.print ("Liten varning"); // Skriver ut "Liten varning" på kolumn 0, rad 1

lcd.noDisplay (); // Stänger av LCD -skärmen (del av blixt)

fördröjning (1000); // Stannar i 1 sekund

LCD skärm(); // Slår på LCD -skärmen igen

fördröjning (1000); // Håller på i 1 sekund

analogWrite (redpin, 255); // 255 utmatning från redpin (gör RGB gul)

analogWrite (greenpin, 255); // 255 utmatning från greenpin (gör RGB gul)

analogWrite (bluepin, 0); // Ingen utmatning från blå pin

ton (buzzerpin, 200, 100); // Avger frekvens på 200 hertz i 0,1 sekunder från summer

fördröjning (300); //.3 Andra fördröjningen

} // OM TEMP ÄR 31-37 annat om ((int (DHT.temperatur) = 37,00)) {

lcd.clear (); // Rensar LCD -skärmen

lcd.setCursor (0, 1); // Ställer in markören till kolumn 0, rad 1

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

lcd.noDisplay (); // Stänger av LCD -skärmen (del av blixt)

fördröjning (500); // Stannar i 0,5 sekunder

LCD skärm(); // Slår på LCD -skärmen igen

fördröjning (500); // Håller på i 0,5 sekund

analogWrite (redpin, 255); // 255 utmatning från redpin (gör RGB orange)

analogWrite (greenpin, 165); // 165 utmatning från greenpin (gör RGB orange)

analogWrite (bluepin, 0); // Ingen utmatning från bluepin

ton (buzzerpin, 500, 900); // Avger frekvens på 500 hertz i 0,9 sekunder från summer

fördröjning (300); //.3 Andra fördröjningen

} // OM TEMPEN ÄR 38-100

annars om ((int (DHT.temperatur) = 100,00)) {

lcd.clear (); // Rensar LCD -skärmen

lcd.setCursor (0, 1); // Ställer in markören till kolumn 0, rad 1

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

lcd.noDisplay (); // Stänger av LCD -skärmen (del av blixt)

fördröjning (250); // Stannar i 0,25 sekunder

LCD skärm(); // Slår på LCD -skärmen igen

fördröjning (250); // Stannar på i 0,25 sekunder

analogWrite (redpin, 255); // 255 utmatning från redpin (gör RGB röd)

analogWrite (greenpin, 0); // Ingen utmatning från greenpin

analogWrite (bluepin, 0); // Ingen utmatning från bluepin

ton (buzzerpin, 1000, 900); // Avger frekvens på 1000 hertz i 0,9 sekunder från summer

fördröjning (300); //.3 Andra fördröjningen

}}

Rekommenderad: