Мазмуну:

Arduino ЖК өрт коопсуздугу жөнүндө эскертүү системасы: 9 кадам
Arduino ЖК өрт коопсуздугу жөнүндө эскертүү системасы: 9 кадам

Video: Arduino ЖК өрт коопсуздугу жөнүндө эскертүү системасы: 9 кадам

Video: Arduino ЖК өрт коопсуздугу жөнүндө эскертүү системасы: 9 кадам
Video: ЛУЧШИЙ ЭКРАН ДЛЯ АРДУИНО ARDUINO TFT LCD 1.44 SPI 128Х128 ЗА $3! 2024, Ноябрь
Anonim
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы
Arduino LCD өрт коопсуздугу жөнүндө эскертүү системасы

Бул студенттик долбоор, бул ЖК экран, ызылдак, RGB жана DHT температура сенсорунун функцияларын айкалыштырат.

Учурдагы айлана -чөйрөнүн температурасы ЖК экранында көрсөтүлөт жана жаңыртылат.

ЖК экранда басылган билдирүү колдонуучуга "өрт коркунучунун" деңгээли жөнүндө маалымдайт.

Колдонуучуга коркунуч жөнүндө эскертүү үчүн экран күңүрт жана жаркырайт.

Колдонуучуну учурдагы коркунучтун деңгээлине жараша коркунуч жөнүндө эскертүү үчүн коңгуроо катуу жана ылдамыраак болуп калат.

RGB учурдагы коркунучтун деңгээлине жараша жашыл, сары, кызгылт сары жана кызыл түскө өзгөрөт.

Көбүрөөк профессионалдуу көрүнүш үчүн 3D басылган корпуска киргизсе болот.

Бул өтө кеч болуп калганга чейин өрт коркунучу бар экенин билбеген адамдардын чыныгы дүйнөлүк көйгөйүн чечет

1 -кадам: материалдарды чогултуу

Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу
Материалдарды чогултуу

Бул долбоордо колдонулган материалдар:

1x LCD дисплей

1x DHT_11 Температура сенсору

1x RGB

1x Piezo Passive Buzzer 1.0v

2x Small Breadboards

3x Стандарттык резисторлор

1x Кадимки өлчөмдөгү нан тактасы

1x Arduino UNO

Зымдарды бекитүү үчүн Bluetack.

Ачык жана жалгыз учтуу ар кандай учтуу зымдардын ассортименти.

Кодду иштете турган түзмөк

Эгерде сиз сырткы кабыгын жана жылтырак көрүнүшүн кааласаңыз, 3D принтерге кирүү

2 -кадам: Такталар тактасын орнотуу

Breadboards орнотулууда
Breadboards орнотулууда
Breadboards орнотулууда
Breadboards орнотулууда

1. Arduino тактасындагы "GND" деп белгиленген пинден кызгылт сары зымды туташтырып, аны нан табактын терс тарабына (көк) туташтырыңыз. Ушул учурдан тартып, эгерде биз GNDди кандайдыр бир тышкы түзмөктөр үчүн колдонушубуз керек болсо, биз аларды нан тактасындагы ушул эле мамычага коебуз.

2. Arduino тактасындагы "5V" деп белгиленген пинден кызыл зымды туташтырып, аны нан тактасынын оң (кызыл) жагына туташтырыңыз. Ушул убактан тартып, эгерде биз 5Вды кандайдыр бир тышкы түзмөктөр үчүн колдонушубуз керек болсо, биз аларды ошол эле мамычанын үстүнө койобуз.

3 -кадам: ЖК дисплейди орнотуу

LCD дисплейин орнотуу
LCD дисплейин орнотуу
LCD дисплейин орнотуу
LCD дисплейин орнотуу
LCD дисплейин орнотуу
LCD дисплейин орнотуу

1. Тактайны оодарып караңыз, сол жагында бардык казыктары бар.

2. Зымдын жогорку сол жагындагы төөнөгүчтөрдүн 5 -катарына туташтырыңыз жана Arduino UNO боюнча 4 -пинге туташтырыңыз.

3. Зымдын жогорку сол жагындагы төөнөгүчтөрдүн жогорку катарына туташтырыңыз жана Arduino UNO боюнча 5 -пинге туташтырыңыз.

4. Эң жогорку катардагы сол жактагы зымды 7 туташтырыңыз жана Arduino UNO боюнча 6 -пинге туташтырыңыз.

5. Зымдын жогорку сол жагындагы төөнөгүчтөрдүн 8 -катарына туташтырыңыз жана Arduino UNO боюнча 7 -пинге туташтырыңыз.

6. Төмөнкү саптын жогорку сол жагындагы зымды 9 туташтырыңыз жана Arduino UNO боюнча 8 -пинге туташтырыңыз.

7. Зымдын жогорку сол жагындагы төөнөгүчтөрдүн жогорку катарынан 10ду туташтырыңыз жана Arduino UNO боюнча 9 -пинге туташтырыңыз.

8. Төмөнкү оң жактагы зымды 3 туташтырып, аны нан тактасындагы 5V катарына туташтырыңыз

9. Төмөнкү оң жактагы зымды 4 туташтырып, аны нан тактасындагы GND катарына туташтырыңыз

ДИАГРАММА АР ТҮРДҮҮ ЖКД КӨРСӨТҮҮЧҮ СҮРӨТТӨРДҮ КӨРҮҢҮЗ

4 -кадам: Piezo Buzzer орнотуу

Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу
Piezo Buzzer орнотуу

1. Гудзондогу GND казыгынан зымды нан тактасындагы GND тилкесине (Көк) туташтырыңыз

2. Зумердеги VCC пининен келген зымды нан үстүндөгү 5В мамычасына (Кызыл) туташтырыңыз

3. Сигналдагы SIG пинден зымды arduino UNO тактасындагы "10" номерине туташтырыңыз.

ӨЙДӨГҮ ДИАГРАММА БАШКА БУЗДЕРДИ КӨРСӨТҮП ЖҮРГӨЗҮЛҮ

5 -кадам: DHT температура сенсорун орнотуу

DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу
DHT температура сенсорун орнотуу

1. DHT сенсорун нан тактасына орнотуңуз, жогоруда көрсөтүлгөндөй

2. DHT сенсорунун сол жагындагы биринчи пинди (бөлүк диаграммасында VCC деп белгиленген) нан панелиндеги 5V мамычасына (Кызыл) туташтырыңыз.

3. DHT сенсорунун сол жагындагы экинчи пинди (бөлүк диаграммасында белгиленген DATA) Arduino UNOдогу A0 портуна туташтырыңыз.

4. DHT сенсорунун оң жагындагы биринчи пинди (бөлүк диаграммасында GND менен белгиленген) нандагы GND тилкесине (Көк) туташтырыңыз.

5. Үйрөткүчтү көрүңүз жана инструктивдүү аяктагы dht.h китепканасын Arduinoго кошуңуз. (Бул милдеттүү)

6 -кадам: RGB орнотуу

RGB орнотуу
RGB орнотуу
RGB орнотуу
RGB орнотуу
RGB орнотуу
RGB орнотуу
RGB орнотуу
RGB орнотуу

1. RGBди кичинекей нан тактасына жогоруда көрсөтүлгөндөй жайгаштырыңыз, RGBдин сол жагындагы экинчи бутуна башка үчкө караганда бир уяча жакыныраак.

2. Стандарттык резисторлорду биринчи, үчүнчү жана төртүнчү казыктарга коюңуз. Кеминде дагы бир зым үчүн боштук калтыруу (жогоруда көрсөтүлгөндөй).

3. RGB сол казыгындагы резистордун артындагы зымды Arduino UNOдогу Labeled 2 пинине туташтырыңыз.

4. РГБнын сол казыгынан сырткы секунданын артындагы зымды нан тактасынын GND (көк) тилкесине туташтырыңыз.

5. РГБнын оң казыгынан экинчи резистордун артындагы зымды Arduino UNOдогу Labeled 1 пинке туташтырыңыз.

6. RGBдин оң казыгындагы резистордун артындагы зымды Arduino UNOдогу Labeled 3 пинине туташтырыңыз.

7 -кадам: Кошумча 3D Басып чыгаруу Турак жайы

Кошумча 3D басып чыгаруу корпусу
Кошумча 3D басып чыгаруу корпусу
Кошумча 3D басып чыгаруу корпусу
Кошумча 3D басып чыгаруу корпусу
Кошумча 3D басып чыгаруу корпусу
Кошумча 3D басып чыгаруу корпусу

1. 3D басып чыгаруу боюнча окуу куралын табыңыз.

2. Autodesk Fusion 360та жасалган төмөнкү тиркелген дизайнды басып чыгарыңыз (.stl файлы)

3. Ашыкча 3D материалды кырып, үстүнөн жылмакай кылыңыз

4. Ардуинонун бөлүктөрүн кайда жайгаштыруу боюнча көрсөтмөлөрдү алуу үчүн жогорудагы сүрөттү караңыз.

8 -кадам: Код жана файлдар

Код жана файлдар
Код жана файлдар

-DHT.h китепканасы тиркелет. (UNZIP)

-Толук деталдуу комментарийлери бар Код тиркелет, бирок кийинки кадамда.

3D форматындагы.stl файлы тиркелет

-Электр схемасы кайрадан тиркелет. ЖК экрандын жана пьезо сигналынын ар кандай компоненттери колдонулгандыктан, чыныгы кадамдарга кайрылууну унутпаңыз.

9 -кадам: Arduino коду

Arduino коду
Arduino коду
Arduino коду
Arduino коду

// ЖК ӨРТ ЭСКЕРТҮҮ СИСТЕМАСЫ // DHT Температура Пининин кирүүсүн окуйт жана ысык же ысык эместигине жараша, колдонуучуга өрт коркунучу бар экендигин көрсөтүү үчүн rgb менен динамикти өзгөртөт. // Ошондой эле LCD экранында температураны көрсөтөт.

// DHT SETUP

#кошуу // DHT китепканасын кошуу

#define dht_dpin A0 // DHT пин 0 аналогдук кирүүдө экенин тактага айтат

DHT DHT; // dht = DHT

// СУЙУК КРИСТАЛДУУ ЖӨНДӨӨ

#кошуу // Суюк кристалл китепканасын кошуу

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // LCDге кыскартуу /lcd ээлеген ардуиного айтылат

// RGB + BUZZERди аныктоо

#define redpin 1 // 1 порттогу RGBдин redpinин аныктайт

#define greenpin 2 // 2 -портунда RGBдин гринпинин аныктайт

#deleine bluepin 3 // 3 порттогу RGB пландарын аныктайт

#define buzzerpin 10 // 10 порттогу ызылдакты аныктайт

// ӨЗГӨРМӨЛҮҮ/С.

int temp = analogRead (DHT.temperature); // DHT.temperature буйругунан алынган бүтүн "темп" орнотот

жараксыз орнотуу () {

// ЧЫГУУ/КИРГИЗҮҮ

analogWrite (redpin, OUTPUT); // Redpinди Чыгаруу катары жарыялоо/аныктоо

analogWrite (greenpin, OUTPUT); // Greenpinди Чыгаруу катары жарыялоо/аныктоо

analogWrite (пландын, ЧЫГУУ); // Блупинди Чыгаруу катары жарыялоо/аныктоо

pinMode (buzzerpin, OUTPUT); // Buzzerpinти Чыгаруу катары жарыялоо/аныктоо

// ЖК ЭКРАН

lcd.begin (16, 2); // ЖК экранды 16 мамыча жана 2 катар катары аныктаңыз}

void loop () {

// ЖК КОДЕСИ ӨЗГӨРМӨСҮЗ

DHT.read11 (dht_dpin); // dht_dpinден киргенди окуу (A0)

lcd.setCursor (0, 0); // Курсорду 0 -графага, 0 -катарга коёт

lcd.print ("Бул"); // ЖК экранга "Бул" деп жазат

lcd.print (DHT. температурасы); // DHT.temperature маанисин DHT pin'инен 0 -катар, 0 -сапка басып чыгарат

lcd.print (""); // Температурадан кийин боштукту басып чыгарат

lcd.print ((char) 223); // температурадан кийин Даража белгисин басып чыгарат

lcd.print ("C"); // Цельсийди символдоштуруу үчүн градус белгисинен кийин "в" тамгасын басып чыгарат

// ЖК ЖЫЛДЫК

lcd.setCursor (0, 1); // Курсантты 0 -графага, 1 -сапка коёт

lcd.noDisplay ();

lcd.print ("Өрт коркунучу жок"); // "Оттун мүмкүнчүлүгү жок" басып чыгарат

lcd.noDisplay (); // ЖК дисплейин өчүрөт (жаркылдактын бир бөлүгү)

кечиктирүү (1000); // 1 секундга өчүрүлөт

lcd.display (); // ЖК дисплейди кайра күйгүзөт

кечигүү (1000); // 1 секундада калат

// RGB + BUZZER КОДУ

analogWrite (redpin, 0); // Кызыл пинден эч кандай жыйынтык жок

analogWrite (greenpin, 255); // greenpinден 255 чыгаруу (RGB жашыл кылат)

analogWrite (bluepin, 0); // Көк пинден эч кандай жыйынтык жок

обон (ызылдак, 20, 20); // // 20 герц жыштыгын коңгуроодон 0,02 секундага чыгарат

// ЭГЕР ТЕМП 25-30 болсо

эгер ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear (); // ЖК экранды тазалайт

lcd.setCursor (0, 1); // Курсантты 0 -графага, 1 -сапка коёт

lcd.print ("Small Alert"); // 0 -графанын 1 -сабында "Кичинекей эскертүүнү" басып чыгарат

lcd.noDisplay (); // ЖК дисплейин өчүрөт (жаркылдактын бир бөлүгү)

кечиктирүү (1000); // 1 секундга өчүрүлөт

lcd.display (); // ЖК дисплейди кайра күйгүзөт

кечиктирүү (1000); // 1 секундада калат

analogWrite (redpin, 255); // redpinден 255 чыгаруу (RGB сары кылат)

analogWrite (greenpin, 255); // greenpinден 255 чыгаруу (RGB сары кылат)

analogWrite (bluepin, 0); // Көк пинден эч кандай жыйынтык жок

обон (ызылдак, 200, 100); // 200 герц жыштыгын 0,1 секундага чыгарат

кечигүү (300); //.3 Экинчи кечигүү

} // IF TEMP IS 31-37 башка if ((int (DHT.temperature) = 37.00)) {

lcd.clear (); // ЖК экранды тазалайт

lcd.setCursor (0, 1); // Курсантты 0 -графага, 1 -сапка коёт

lcd.print ("Орточо эскертүү"); // 0 -графанын 1 -сабында "Орточо эскертүүнү" басып чыгарат

lcd.noDisplay (); // ЖК дисплейин өчүрөт (жаркылдактын бир бөлүгү)

кечигүү (500); // 0,5 секундга өчүрүлөт

lcd.display (); // ЖК дисплейди кайра күйгүзөт

кечигүү (500); // 0,5 секундада калат

analogWrite (redpin, 255); // redpinден 255 чыгаруу (RGB кызгылт сары кылат)

analogWrite (greenpin, 165); // greenpinден 165 чыгаруу (RGB кызгылт сары кылат)

analogWrite (bluepin, 0); // Блупинден эч кандай жыйынтык жок

обон (ызылдак, 500, 900); // Зыңкыроодон 0,9 секундага 500 герц жыштыгын чыгарат

кечигүү (300); //.3 Экинчи кечигүү

} // ЭГЕР ТЕМП 38-100

башка болсо ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // ЖК экранды тазалайт

lcd.setCursor (0, 1); // Курсантты 0 -графага, 1 -сапка коёт

lcd.print ("000 чал"); // 0 -графанын 1 -катарында "Чалуу 000" басылат

lcd.noDisplay (); // ЖК дисплейин өчүрөт (жаркылдактын бир бөлүгү)

кечигүү (250); // 0,25 секундада калат

lcd.display (); // ЖК дисплейди кайра күйгүзөт

кечигүү (250); // 0,25 секундада калат

analogWrite (redpin, 255); // redpinден 255 чыгаруу (RGB кызыл кылат)

analogWrite (greenpin, 0); // greenpinден эч кандай жыйынтык жок

analogWrite (bluepin, 0); // Блупинден эч кандай жыйынтык жок

обон (ызылдак, 1000, 900); // Зыңкыроодон 0,9 секундага 1000 герц жыштыгын чыгарат

кечигүү (300); //.3 Экинчи кечигүү

}}

Сунушталууда: