Talaan ng mga Nilalaman:

Sistema ng Babala sa Kaligtasan sa Arduino LCD: 9 Mga Hakbang
Sistema ng Babala sa Kaligtasan sa Arduino LCD: 9 Mga Hakbang

Video: Sistema ng Babala sa Kaligtasan sa Arduino LCD: 9 Mga Hakbang

Video: Sistema ng Babala sa Kaligtasan sa Arduino LCD: 9 Mga Hakbang
Video: BigTreeTech - SKR 3 - TMC2208 UART 2024, Hulyo
Anonim
Sistema ng Babala sa Kaligtasan sa Arduino LCD
Sistema ng Babala sa Kaligtasan sa Arduino LCD
Sistema ng Babala sa Kaligtasan sa Arduino LCD
Sistema ng Babala sa Kaligtasan sa Arduino LCD
Sistema ng Babala sa Kaligtasan sa Arduino LCD
Sistema ng Babala sa Kaligtasan sa Arduino LCD

Ito ay isang proyekto na ginawa ng mag-aaral na pinagsasama ang mga pag-andar ng isang LCD Screen, isang buzzer, isang RGB at isang sensor ng temperatura ng DHT.

Ang kasalukuyang nakapalibot na temperatura ay ipinapakita at na-update sa LCD screen.

Ang mensahe na nakalimbag sa screen ng LCD ay nagpapaalam sa gumagamit ng antas ng "panganib sa sunog".

Ang screen ay lumabo at kumikislap upang alertuhan ang gumagamit ng panganib.

Ang buzzer ay nagiging mas malakas at mas mabilis upang alerto ang gumagamit sa panganib depende sa antas ng kasalukuyang panganib.

Ang RGB ay nagbabago ng berde, dilaw, orange at pula depende sa antas ng kasalukuyang panganib.

Maaaring ilagay sa isang naka-print na enclosure ng 3D para sa higit pang propesyonal na hitsura.

Nalulutas nito ang isang tunay na problema sa mundo ng mga taong hindi alam kung may panganib na sunog hanggang sa huli na

Hakbang 1: Ipunin ang Mga Materyales

Ipunin ang Mga Materyales
Ipunin ang Mga Materyales
Ipunin ang Mga Materyales
Ipunin ang Mga Materyales
Ipunin ang Mga Materyales
Ipunin ang Mga Materyales

Mga materyal na ginamit sa Project na ito:

1x LCD Display

1x DHT_11 Temperatura Sensor

1x RGB

1x Piezo Passive Buzzer 1.0v

2x Maliit na Breadboard

3x Mga karaniwang resistor

1x Karaniwang Laking Breadboard

1x Arduino UNO

Bluetack upang mai-lock ang mga wire sa lugar.

Ang isang iba't ibang mga iba't ibang natapos na mga wire, parehong bukas na natapos at solong natapos.

Ang isang aparato upang patakbuhin ang code

Pag-access sa isang 3D printer kung nais mo ang panlabas na shell at mas makintab na hitsura

Hakbang 2: Pag-set up ng Mga Breadboard

Pagse-set up ng mga Breadboard
Pagse-set up ng mga Breadboard
Pag-set up ng mga Breadboard
Pag-set up ng mga Breadboard

1. Ikonekta ang orange wire mula sa pin na may label na "GND" sa Arduino board at ikonekta ito sa negatibong bahagi (asul) ng breadboard. Mula sa puntong ito, kung kailangan naming gumamit ng GND para sa anumang mga panlabas na aparato ilalagay lamang namin ang mga ito sa parehong haligi tulad nito sa breadboard.

2. Ikonekta ang pulang kawad mula sa pin na may label na "5V" sa Arduino board at ikonekta ito sa positibo (pula) na bahagi ng breadboard. Mula sa puntong ito, kung kailangan nating gumamit ng 5V para sa anumang panlabas na mga aparato ilalagay lamang namin ang mga ito sa parehong mga haligi na ito sa breadboard.

Hakbang 3: Pag-set up ng LCD Display

Pag-set up ng LCD Display
Pag-set up ng LCD Display
Pag-set up ng LCD Display
Pag-set up ng LCD Display
Pag-set up ng LCD Display
Pag-set up ng LCD Display

1. I-flip ang board upang nakaharap ito sa baligtad kasama ang lahat ng mga pin sa kaliwang bahagi.

2. Ikonekta ang isang wire 5 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 4 sa Arduino UNO.

3. Ikonekta ang isang wire 6 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 5 sa Arduino UNO.

4. Ikonekta ang isang wire 7 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 6 sa Arduino UNO.

5. Ikonekta ang isang wire 8 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 7 sa Arduino UNO.

6. Ikonekta ang isang wire 9 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 8 sa Arduino UNO.

7. Ikonekta ang isang wire 10 mula sa kaliwang tuktok sa tuktok na hilera ng mga pin at ikonekta ito sa pin number 9 sa Arduino UNO.

8. Ikonekta ang isang wire 3 mula sa kanang ibaba at ikonekta ito sa 5V Row sa breadboard

9. Ikonekta ang isang wire 4 mula sa kanang ibaba at ikonekta ito sa GND Row sa breadboard

TINGNAN ANG MGA LARAWAN BILANG CIRCUIT DIAGRAM AY NAGPAPakita NG IBA’YONG LCD

Hakbang 4: Pag-set up ng Piezo Buzzer

Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer
Pag-set up ng Piezo Buzzer

1. Ikonekta ang isang kawad mula sa pin ng GND sa buzzer sa haligi ng GND (Blue) sa breadboard

2. Ikonekta ang isang kawad mula sa VCC pin sa buzzer sa haligi ng 5V (Pula) sa breadboard

3. Ikonekta ang isang kawad mula sa SIG pin sa buzzer sa pin na may bilang na "10" sa arduino UNO board

TINGNAN SA Itaas ang mga LARAWAN BILANG CIRCUIT DIAGRAM AY NAKAKAKITA NG IBA’YONG BUZZER

Hakbang 5: Pag-set up ng DHT Temperature Sensor

Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor
Pag-set up ng DHT Temperature Sensor

1. I-set up ang sensor ng DHT sa breadboard tulad ng ipinakita sa itaas

2. Ikonekta ang unang pin sa kaliwa ng sensor ng DHT (may label na VCC sa bahagi ng diagram) sa haligi ng 5V (Pula) sa breadboard

3. Ikonekta ang pangalawang pin sa kaliwa ng sensor ng DHT (Labeled DATA sa bahagi ng diagram) sa A0 port sa Arduino UNO

4. Ikonekta ang unang pin sa kanan ng sensor ng DHT (Labeled GND sa bahagi ng diagram) sa haligi ng GND (Blue) sa breadboard

5. Manood ng isang tutorial at idagdag ang dht.h Library na natagpuan sa dulo ng itinuturo sa Arduino. (Ito ay sapilitan)

Hakbang 6: Pag-set up ng RGB

Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB
Pag-set up ng RGB

1. Ilagay ang RGB sa isang maliit na breadboard tulad ng ipinakita sa itaas, pagbibigay diin sa pangalawang binti mula sa kaliwa ng RGB na isang puwang na mas malapit kaysa sa iba pang tatlong

2. Ilagay ang mga Karaniwang resistor sa una, pangatlo at ikaapat na mga pin. Pag-iwan ng puwang para sa kahit isang wire pa (tulad ng ipinakita sa itaas).

3. Ikonekta ang isang kawad mula sa likod ng risistor sa kaliwang pin ng RGB sa pin na May label na 2 sa Arduino UNO

4. Ikonekta ang isang kawad mula sa likuran ng panlabas na segundo mula sa kaliwang pin ng RGB sa haligi ng GND (asul) ng breadboard.

5. Ikonekta ang isang kawad mula sa likod ng risistor sa pangalawa mula sa kanang pin ng RGB sa pin na May label na 1 sa Arduino UNO

6. Ikonekta ang isang kawad mula sa likod ng risistor sa kanang pin ng RGB sa pin na May label na 3 sa Arduino UNO

Hakbang 7: Opsyonal na 3D Print Housing

Opsyonal na 3D Print Housing
Opsyonal na 3D Print Housing
Opsyonal na 3D Print Housing
Opsyonal na 3D Print Housing
Opsyonal na 3D Print Housing
Opsyonal na 3D Print Housing

1. Maghanap ng isang tutorial sa kung paano mag-print ng 3D.

2. I-print ang naka-attach na disenyo sa ibaba na ginawa sa Autodesk Fusion 360 (.stl file)

3. I-scrape ang labis na 3D na materyal at makinis sa ibabaw

4. Tingnan ang larawan sa itaas para sa patnubay sa kung saan ilalagay ang mga bahagi ng Arduino.

Hakbang 8: Ang Code at Mga File

Ang Code at Mga File
Ang Code at Mga File

-Nakalakip ang DHT.h library. (UNZIP)

-Ang Code na may buong detalyadong mga komento ay nakakabit ngunit nasa susunod na hakbang din.

-Ang.stl file para sa 3D na pabahay ay nakakabit

-Ang circuit diagram ay muling nakakabit. Siguraduhing mag-refer sa mga aktwal na hakbang para sa LCD screen at piezo buzzer tulad ng iba't ibang mga sangkap na ginamit.

Hakbang 9: Arduino Code

Code ng Arduino
Code ng Arduino
Code ng Arduino
Code ng Arduino

// LCD FIRE WARNING SYSTEM // Nagbabasa ng input mula sa DHT Temperature Pin at nakasalalay sa kung ito ay mainit o hindi, binabago ang isang rgb at speaker upang ipahiwatig ang gumagamit kung sila ay panganib ng sunog. // Nagpapakita rin ng temperatura sa LCD screen.

// DHT SETUP

#include // Isama ang DHT library

#define dht_dpin A0 // Sinasabi sa board na ang DHT pin ay nasa analog input 0

dht DHT; // dht = DHT

// LIQUID CRYSTAL SETUP

#include // Isama ang aklatan ng Liquid Crystal

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // Paikliin ang LCD / sasabihin sa arduino kung aling mga port ang sinasakop ng lcd

// DEFINING RGB + BUZZER

#define redpin 1 // Tinutukoy ang redpin ng RGB sa port 1

# tukuyin ang greenpin 2 // Tinutukoy ang greenpin ng RGB sa port 2

# tukuyin ang bluepin 3 // Tinutukoy ang bluepin ng RGB sa port 3

# tukuyin ang buzzerpin 10 // Tinutukoy ang buzzerpin sa port 10

// VARIABLE / S

int temp = analogRead (DHT.temperature); // Establishes Integer "temp" na kung saan ay ang halaga mula sa utos ng DHT.temperature

walang bisa ang pag-setup () {

// OUTPUT / INPUT

analogWrite (redpin, OUTPUT); // Ideklara / tukuyin ang redpin bilang Output

analogWrite (greenpin, OUTPUT); // Ideklara / tukuyin ang greenpin bilang Output

analogWrite (bluepin, OUTPUT); // Ideklara / tukuyin ang bluepin bilang Output

pinMode (buzzerpin, OUTPUT); // Ideklara / tukuyin ang buzzerpin bilang Output

// LCD SCREEN

lcd.begin (16, 2); // Tukuyin ang LCD screen bilang 16 na mga haligi at 2 mga hilera}

void loop () {

// LCD CODE NA WALANG KAMANGYARIHAN

DHT.read11 (dht_dpin); // Basahin ang input mula sa dht_dpin din (A0)

lcd.setCursor (0, 0); // Nagtatakda ng tagatala sa Column 0, Row 0

lcd.print ("Ito"); // Nagsusulat ng "Ito" sa LCD screen

lcd.print (DHT.temperature); // Nai-print ang DHT.temperature na halaga mula sa DHT pin sa haligi 0, Hilera 0

lcd.print (""); // Nagpi-print ng isang puwang pagkatapos ng temperatura

lcd.print ((char) 223); // prints Degree sign pagkatapos ng temperatura

lcd.print ("C"); // Nagpi-print ng isang "c" pagkatapos ng mga degree na mag-sign upang simbolo ng celsius

// LCD FLASHING

lcd.setCursor (0, 1); // Nagtatakda ng tagasumpa sa Haligi 0, Hilera 1

lcd.noDisplay ();

lcd.print ("Walang Panganib sa Sunog"); // Prints "Walang Pagkakataon ng Apoy"

lcd.noDisplay (); // Patayin ang LCD display (bahagi ng flash)

antala (1000); // Manatili sa 1 segundo

lcd.display (); // Binabalik ang LCD display

antala (1000); // Manatili sa 1 segundo

// RGB + BUZZER CODE

analogWrite (redpin, 0); // Walang output mula sa pulang pin

analogWrite (greenpin, 255); // 255 output mula sa greenpin (Ginagawang green ang RGB)

analogWrite (bluepin, 0); // Walang output mula sa asul na pin

tono (buzzerpin, 20, 20); // // Emits Frequency of 20 hertz for 0.02 Seconds from buzzer

// KUNG TEMP AY 25-30

kung ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear (); // Nilinaw ang LCD Screen

lcd.setCursor (0, 1); // Nagtatakda ng tagatala sa Hanay 0, Hilera 1

lcd.print ("Maliit na Alerto"); // Nagpi-print ng "Maliit na Alerto" sa Hanay 0, Hilera 1

lcd.noDisplay (); // Patayin ang LCD display (bahagi ng flash)

antala (1000); // Manatili sa 1 segundo

lcd.display (); // Binabalik ang LCD display

antala (1000); // Manatili sa 1 segundo

analogWrite (redpin, 255); // 255 output mula sa redpin (Ginagawang dilaw ang RGB)

analogWrite (greenpin, 255); // 255 output mula sa greenpin (Ginagawang dilaw ang RGB)

analogWrite (bluepin, 0); // Walang output mula sa asul na pin

tono (buzzerpin, 200, 100); // Emits Frequency of 200 hertz for 0.1 Seconds from buzzer

pagkaantala (300); //.3 Pangalawang pagkaantala

} // KUNG TEMP AY 31-37 pa kung ((int (DHT.temperature) = 37.00)) {

lcd.clear (); // Nilinaw ang LCD Screen

lcd.setCursor (0, 1); // Nagtatakda ng tagasumpa sa Haligi 0, Hilera 1

lcd.print ("Medium Alert"); // Prints "Medium Alert" sa Column 0, Row 1

lcd.noDisplay (); // Patayin ang LCD display (bahagi ng flash)

antala (500); // Manatili sa 0.5 segundo

lcd.display (); // Binabalik ang LCD display

antala (500); // Manatili sa 0.5 segundo

analogWrite (redpin, 255); // 255 output mula sa redpin (Gumagawa ng RGB orange)

analogWrite (greenpin, 165); // 165 output mula sa greenpin (Gumagawa ng RGB orange)

analogWrite (bluepin, 0); // Walang output mula sa bluepin

tono (buzzerpin, 500, 900); // Emits Frequency of 500 hertz for 0.9 Seconds from buzzer

pagkaantala (300); //.3 Pangalawang pagkaantala

} // KUNG TEMP AY 38-100

kung hindi man ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // Nilinaw ang LCD Screen

lcd.setCursor (0, 1); // Nagtatakda ng tagasumpa sa Haligi 0, Hilera 1

lcd.print ("Tumawag sa 000"); // Prints "Call 000" sa Column 0, Row 1

lcd.noDisplay (); // Patayin ang LCD display (bahagi ng flash)

pagkaantala (250); // Manatili sa 0.25 segundo

lcd.display (); // Binabalik ang LCD display

pagkaantala (250); // Manatili sa 0.25 segundo

analogWrite (redpin, 255); // 255 output mula sa redpin (Ginagawang pula ang RGB)

analogWrite (greenpin, 0); // Walang output mula sa greenpin

analogWrite (bluepin, 0); // Walang output mula sa bluepin

tono (buzzerpin, 1000, 900); // Emits Frequency of 1000 hertz for 0.9 Seconds from buzzer

pagkaantala (300); //.3 Pangalawang pagkaantala

}}

Inirerekumendang: