Sisukord:

Arduino LCD tuleohutuse hoiatussüsteem: 9 sammu
Arduino LCD tuleohutuse hoiatussüsteem: 9 sammu

Video: Arduino LCD tuleohutuse hoiatussüsteem: 9 sammu

Video: Arduino LCD tuleohutuse hoiatussüsteem: 9 sammu
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, November
Anonim
Arduino LCD tuleohutuse hoiatussüsteem
Arduino LCD tuleohutuse hoiatussüsteem
Arduino LCD tuleohutuse hoiatussüsteem
Arduino LCD tuleohutuse hoiatussüsteem
Arduino LCD tuleohutuse hoiatussüsteem
Arduino LCD tuleohutuse hoiatussüsteem

See on õpilaste tehtud projekt, mis ühendab LCD -ekraani, sumina, RGB ja DHT temperatuurianduri funktsioonid.

LCD -ekraanil kuvatakse ja värskendatakse praegust ümbritsevat temperatuuri.

LCD -ekraanile trükitud teade teavitab kasutajat "tuleohu" tasemest.

Ekraan tuhmub ja vilgub, hoiatades kasutajat ohu eest.

Signaal muutub valjemaks ja kiiremaks, hoiatades kasutajat ohu eest sõltuvalt praeguse ohu tasemest.

RGB muutub roheliseks, kollaseks, oranžiks ja punaseks sõltuvalt praeguse riski tasemest.

Saab professionaalsema väljanägemise huvides 3D trükitud korpusesse panna.

See lahendab reaalse maailma probleemi, kus inimesed ei tea, millal on tulekahju oht, kuni on liiga hilja

Samm: koguge materjalid

Koguge materjale
Koguge materjale
Koguge materjale
Koguge materjale
Koguge materjale
Koguge materjale

Selles projektis kasutatud materjalid:

1x LCD ekraan

1x DHT_11 temperatuuriandur

1x RGB

1x Piezo passiivne sumin 1.0v

2x väikesed leivad

3x standardtakistid

1x tavalise suurusega leivalaud

1x Arduino UNO

Bluetack juhtmete paika lukustamiseks.

Valik erinevaid otsaga juhtmeid, nii avatud kui ka ühe otsaga.

Seade koodi käitamiseks

Juurdepääs 3D -printerile, kui soovite väliskest ja poleeritud välimust

2. etapp: paneelide seadistamine

Leibalaudade seadistamine
Leibalaudade seadistamine
Leibalaudade seadistamine
Leibalaudade seadistamine

1. Ühendage oranž juhe Arduino plaadil olevast tihvtist, millel on silt "GND", ja ühendage see leivaplaadi negatiivse küljega (sinine). Sellest hetkest alates, kui meil on vaja kasutada GND -d mis tahes välisseadmete jaoks, paneme need lihtsalt leivalauale samasse veergu.

2. Ühendage punane juhe Arduino plaadil olevast tihvtist, millel on märge "5V", ja ühendage see leivaplaadi positiivse (punase) küljega. Sellest hetkest alates, kui meil on vaja kasutada väliseid seadmeid 5 V, paneme need lihtsalt leivalauale samadesse veergudesse.

Samm: LCD -ekraani seadistamine

LCD -ekraani seadistamine
LCD -ekraani seadistamine
LCD -ekraani seadistamine
LCD -ekraani seadistamine
LCD -ekraani seadistamine
LCD -ekraani seadistamine

1. Pöörake plaat ümber nii, et see jääks tagurpidi, kõik tihvtid vasakul küljel.

2. Ühendage ülemise tihvtide rea vasakust ülaosast traat 5 ja ühendage see Arduino UNO tihvtiga number 4.

3. Ühendage ülemise tihvtide rea vasakust ülaosast traat 6 ja ühendage see Arduino UNO tihvtiga number 5.

4. Ühendage ülemise tihvtide rea vasakust ülaosast traat 7 ja ühendage see Arduino UNO tihvtiga number 6.

5. Ühendage ülemise tihvtide rea vasakust ülaosast traat 8 ja ühendage see Arduino UNO tihvtiga number 7.

6. Ühendage ülemise tihvtide rea vasakust ülaosast traat 9 ja ühendage see Arduino UNO tihvtiga number 8.

7. Ühendage ülemise tihvtide rea vasakust ülaosast traat 10 ja ühendage see Arduino UNO tihvtiga number 9.

8. Ühendage juhe 3 all paremalt ja ühendage see leivaplaadil oleva 5V reaga

9. Ühendage traat 4 all paremalt ja ühendage see leivaplaadil oleva GND reaga

VAATA PILTE, KUI VÕRGEDIAGRAAM NÄITAB ERINEVAT LCD

Samm 4: Piezo summeri seadistamine

Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine
Piezo summeri seadistamine

1. Ühendage traat sumisti GND tihvtist leivaplaadil oleva GND veeruga (sinine)

2. Ühendage traat sumineri VCC tihvtist leivaplaadil oleva 5V veeruga (punane)

3. Ühendage traat sumisti SIG -tihvtist arduino UNO plaadil oleva numbriga "10".

VAATA ÜLES PILTE

Samm: DHT temperatuurianduri seadistamine

DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine
DHT temperatuurianduri seadistamine

1. Seadistage DHT -andur leivalauale, nagu ülal näidatud

2. Ühendage esimene tihvt DHT -anduri vasakul küljel (osadiagrammil märge VCC) leivaplaadi 5V veeruga (punane).

3. Ühendage teine tihvt DHT -anduri vasakul küljel (osadiagrammil märgistatud DATA) Arduino UNO A0 -porti

4. Ühendage DHT -anduri parempoolne esimene tihvt (osadiagrammil märgistatud GND) leivaplaadi GND veergu (sinine)

5. Vaadake õpetust ja lisage juhendi lõpus leitud dht.h raamatukogu Arduinole. (See on kohustuslik)

6. samm: RGB seadistamine

RGB seadistamine
RGB seadistamine
RGB seadistamine
RGB seadistamine
RGB seadistamine
RGB seadistamine
RGB seadistamine
RGB seadistamine

1. Asetage RGB väikesesse leivalauale, nagu ülal näidatud, rõhutades, et RGB vasakust teine jalg on üks pesa lähemal kui ülejäänud kolm

2. Asetage standardtakistid esimesele, kolmandale ja neljandale tihvtile. Jätke ruumi veel vähemalt ühe juhtme jaoks (nagu ülal näidatud).

3. Ühendage RGB vasaku tihvti takisti taga olev juhe Arduino UNO märgistusega 2

4. Ühendage RGB vasakpoolsest tihvtist tagant asuva juhtme vahel leivaplaadi GND (sinine) veerg.

5. Ühendage RGB parempoolsest tihvtist takisti tagant teine juhe Arduino UNO märgistusega 1

6. Ühendage RGB parempoolse tihvti takisti taga olev juhe Arduino UNO märgistusega 3

Samm 7: valikuline 3D -prindikorpus

Valikuline 3D -printimise korpus
Valikuline 3D -printimise korpus
Valikuline 3D -printimise korpus
Valikuline 3D -printimise korpus
Valikuline 3D -printimise korpus
Valikuline 3D -printimise korpus

1. Leidke õpetus 3D -printimise kohta.

2. Printige allolev lisatud kujundus, mis on tehtud Autodesk Fusion 360 -ga (.stl -fail)

3. Kraapige üleliigne 3D -materjal maha ja tasandage pind

4. Arduino osade paigutamiseks vaadake ülaltoodud pilti.

8. samm: kood ja failid

Kood ja failid
Kood ja failid

-DHT.h raamatukogu on lisatud. (UNZIP)

-Koodeks koos üksikasjalike kommentaaridega on lisatud, kuid see on ka järgmine samm.

-3D -korpuse.stl -fail on lisatud

-Lülitusskeem on uuesti lisatud. Vaadake kindlasti LCD -ekraani ja piesosummeri tegelikke samme, kuna kasutati erinevaid komponente.

Samm: Arduino kood

Arduino kood
Arduino kood
Arduino kood
Arduino kood

// LCD TULEHOIATUSSÜSTEEM // Loeb sisendit DHT temperatuurinõelt ja sõltuvalt sellest, kas see on kuum või mitte, muudab rgb -d ja kõlarit, et näidata kasutajale tuleohtu. // Kuvab temperatuuri ka LCD -ekraanil.

// DHT SETUP

#include // Kaasa DHT kogu

#define dht_dpin A0 // Annab plaadile teada, et DHT -pin on analoogsisendis 0

dht DHT; // dht = DHT

// VEDELIKRISTALNE SEADISTUS

#include // Kaasa vedelkristallide kogu

LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // Lühendatakse LCD -ks /ütleb arduinole, millised pordid LCD hõivab

// RGB + BUZZERI MÄÄRATLEMINE

#define redpin 1 // Määrab RGB redpin -i pordis 1

#define greenpin 2 // Määrab RGB rohelise tihvti pordis 2

#define bluepin 3 // Määrab RGB sinise nööpnõela pordis 3

#define buzzerpin 10 // Määrab buzzerpin sadamas 10

// MUUTUV/S

int temp = analogRead (DHT.temperature); // Seab täisarvu "temp", mis on käskluse DHT.temperature väärtus

tühine seadistus () {

// VÄLJUND/SISEND

analogWrite (redpin, OUTPUT); // Redpin deklareerimine/määratlemine väljundina

analogWrite (roheline tihvt, OUTPUT); // Deklareeri/defineeri greenpin väljundiks

analogWrite (bluepin, OUTPUT); // Deklareeri/määratle sinine nööp väljundina

pinMode (helisignaal, OUTPUT); // Deklareeri/defineeri väljundiks buzzerpin

// LCD Ekraan

lcd.algus (16, 2); // Määra LCD -ekraan 16 veeru ja 2 rida}

void loop () {

// LCD -KOOD MUUTUMATA

DHT.read11 (dht_dpin); // Loe sisendit ka dht_dpinist (A0)

lcd.setCursor (0, 0); // Määrab kursori veergu 0, rida 0

lcd.print ("See on"); // Kirjutab LCD -ekraanile "See"

lcd.print (DHT.temperature); // Prindib DHT.temperatuuri väärtuse DHT -nööpnõelast veergu 0, rida 0

lcd.print (""); // Prindib tühiku pärast temperatuuri

lcd.print ((char) 223); // prindib kraadimärgi pärast temperatuuri

lcd.print ("C"); // Prindib kraadimärgi järel "c", mis sümboliseerib Celsiust

// LCD -VILGUTUS

lcd.setCursor (0, 1); // Määrab kursori veergu 0, rida 1

lcd.noDisplay ();

lcd.print ("Tuleohtu pole"); // trükib "Tulekahju võimalus puudub"

lcd.noDisplay (); // Lülitab LCD -ekraani välja (välgu osa)

viivitus (1000); // jääb 1 sekundiks välja

LCD ekraan(); // Lülitab LCD -ekraani uuesti sisse

viivitus (1000); // jääb sisse 1 sekundiks

// RGB + BUZZERI KOOD

analogWrite (punane, 0); // Punase tihvti väljund puudub

analogWrite (roheline tihvt, 255); // 255 väljund Greenpinist (muudab RGB roheliseks)

analogWrite (sinine, 0); // sinise tihvti väljund puudub

toon (sumin, 20, 20); // // väljastab sagedust 20 hertsi 0,02 sekundi jooksul helisignaalist

// KUI TEMP ON 25-30

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

lcd.clear (); // Kustutab LCD -ekraani

lcd.setCursor (0, 1); // Määrab kursori veergu 0, rida 1

lcd.print ("Väike märguanne"); // Prindib veergu 0 1. rea "Väike märguanne"

lcd.noDisplay (); // Lülitab LCD -ekraani välja (välgu osa)

viivitus (1000); // jääb 1 sekundiks välja

LCD ekraan(); // Lülitab LCD -ekraani uuesti sisse

viivitus (1000); // jääb sisse 1 sekundiks

analogWrite (punane, 255); // 255 väljund redpinist (muudab RGB kollaseks)

analogWrite (roheline tihvt, 255); // 255 väljund rohelisest nõelast (muudab RGB kollaseks)

analogWrite (sinine, 0); // sinise tihvti väljund puudub

toon (sumin, 200, 100); // Eraldab helisignaali sagedus 200 hertsi 0,1 sekundi jooksul

viivitus (300); //.3 Teine viivitus

} // KUI TEMP ON 31-37 muidu, kui ((int (DHT.temperatuur) = 37.00)) {

lcd.clear (); // Puhastab LCD -ekraani

lcd.setCursor (0, 1); // Määrab kursori veergu 0, rida 1

lcd.print ("Keskmine hoiatus"); // Prindib "keskmise hoiatuse" veergu 0, 1. reale

lcd.noDisplay (); // Lülitab LCD -ekraani välja (välgu osa)

viivitus (500); // jääb 0,5 sekundiks välja

LCD ekraan(); // Lülitab LCD -ekraani uuesti sisse

viivitus (500); // jääb sisse 0,5 sekundiks

analogWrite (punane, 255); // 255 väljund redpinist (muudab RGB oranžiks)

analogWrite (roheline nööpnõel, 165); // 165 väljund Greenpinist (muudab RGB oranžiks)

analogWrite (sinine, 0); // Bluepinist pole väljundit

toon (sumin, 500, 900); // kiirgab 500 hertsi sagedust 0,9 sekundiks helisignaalist

viivitus (300); //.3 Teine viivitus

} // KUI TEMP ON 38-100

muidu kui ((int (DHT.temperatuur) = 100.00)) {

lcd.clear (); // Kustutab LCD -ekraani

lcd.setCursor (0, 1); // Määrab kursori veergu 0, rida 1

lcd.print ("Helista 000"); // Prindib "Helista 000" veergu 0, 1. reale

lcd.noDisplay (); // Lülitab LCD -ekraani välja (välgu osa)

viivitus (250); // jääb 0,25 sekundiks välja

LCD ekraan(); // Lülitab LCD -ekraani uuesti sisse

viivitus (250); // jääb sisse 0,25 sekundiks

analogWrite (punane, 255); // 255 väljund redpinist (muudab RGB punaseks)

analogWrite (roheline nööpnõel, 0); // Greenpinist pole väljundit

analogWrite (sinine, 0); // Bluepinist pole väljundit

toon (sumin, 1000, 900); // kiirgab helisignaalist sagedust 1000 hertsi 0,9 sekundi jooksul

viivitus (300); //.3 Teine viivitus

}}

Soovitan: