Мазмуну:
- 1 -кадам: материалдарды чогултуу
- 2 -кадам: Такталар тактасын орнотуу
- 3 -кадам: ЖК дисплейди орнотуу
- 4 -кадам: Piezo Buzzer орнотуу
- 5 -кадам: DHT температура сенсорун орнотуу
- 6 -кадам: RGB орнотуу
- 7 -кадам: Кошумча 3D Басып чыгаруу Турак жайы
- 8 -кадам: Код жана файлдар
- 9 -кадам: Arduino коду
Video: Arduino ЖК өрт коопсуздугу жөнүндө эскертүү системасы: 9 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул студенттик долбоор, бул ЖК экран, ызылдак, 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 -кадам: Такталар тактасын орнотуу
1. Arduino тактасындагы "GND" деп белгиленген пинден кызгылт сары зымды туташтырып, аны нан табактын терс тарабына (көк) туташтырыңыз. Ушул учурдан тартып, эгерде биз GNDди кандайдыр бир тышкы түзмөктөр үчүн колдонушубуз керек болсо, биз аларды нан тактасындагы ушул эле мамычага коебуз.
2. Arduino тактасындагы "5V" деп белгиленген пинден кызыл зымды туташтырып, аны нан тактасынын оң (кызыл) жагына туташтырыңыз. Ушул убактан тартып, эгерде биз 5Вды кандайдыр бир тышкы түзмөктөр үчүн колдонушубуз керек болсо, биз аларды ошол эле мамычанын үстүнө койобуз.
3 -кадам: ЖК дисплейди орнотуу
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 орнотуу
1. Гудзондогу GND казыгынан зымды нан тактасындагы GND тилкесине (Көк) туташтырыңыз
2. Зумердеги VCC пининен келген зымды нан үстүндөгү 5В мамычасына (Кызыл) туташтырыңыз
3. Сигналдагы SIG пинден зымды arduino UNO тактасындагы "10" номерине туташтырыңыз.
ӨЙДӨГҮ ДИАГРАММА БАШКА БУЗДЕРДИ КӨРСӨТҮП ЖҮРГӨЗҮЛҮ
5 -кадам: DHT температура сенсорун орнотуу
1. DHT сенсорун нан тактасына орнотуңуз, жогоруда көрсөтүлгөндөй
2. DHT сенсорунун сол жагындагы биринчи пинди (бөлүк диаграммасында VCC деп белгиленген) нан панелиндеги 5V мамычасына (Кызыл) туташтырыңыз.
3. DHT сенсорунун сол жагындагы экинчи пинди (бөлүк диаграммасында белгиленген DATA) Arduino UNOдогу A0 портуна туташтырыңыз.
4. DHT сенсорунун оң жагындагы биринчи пинди (бөлүк диаграммасында GND менен белгиленген) нандагы GND тилкесине (Көк) туташтырыңыз.
5. Үйрөткүчтү көрүңүз жана инструктивдүү аяктагы dht.h китепканасын Arduinoго кошуңуз. (Бул милдеттүү)
6 -кадам: 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 Басып чыгаруу Турак жайы
1. 3D басып чыгаруу боюнча окуу куралын табыңыз.
2. Autodesk Fusion 360та жасалган төмөнкү тиркелген дизайнды басып чыгарыңыз (.stl файлы)
3. Ашыкча 3D материалды кырып, үстүнөн жылмакай кылыңыз
4. Ардуинонун бөлүктөрүн кайда жайгаштыруу боюнча көрсөтмөлөрдү алуу үчүн жогорудагы сүрөттү караңыз.
8 -кадам: Код жана файлдар
-DHT.h китепканасы тиркелет. (UNZIP)
-Толук деталдуу комментарийлери бар Код тиркелет, бирок кийинки кадамда.
3D форматындагы.stl файлы тиркелет
-Электр схемасы кайрадан тиркелет. ЖК экрандын жана пьезо сигналынын ар кандай компоненттери колдонулгандыктан, чыныгы кадамдарга кайрылууну унутпаңыз.
9 -кадам: 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 Экинчи кечигүү
}}
Сунушталууда:
Экран убактысын колдонуу жөнүндө эскертүү (Windowsто гана иштейт, Ios иштебейт): 5 кадам
Экрандын убактысын колдонуу жөнүндө эстеткич (Windowsто гана иштейт, Ios иштебейт): КиришүүБул Ардуинодон жасалган пайдалуу машина, ал " biiii! &Quot; үн жана компьютериңизди 30 мүнөт экран убактысын колдонгондон кийин экранды кулпулоого кайтаруу. 10 мүнөт эс алгандан кийин "
Ташбакаларды багуу жөнүндө эскертүү: 7 кадам
Ташбакалардын тамактандыруусун эскертүү: Бул долбоор ташбакалардын тамактандыруусун эскертүүчү деп аталат. Бул долбоордун максаты - күн сайын үйгө келгенде ташбакаларымды багуумду эскертүү. Мен эмне үчүн мындай кылдым: Менин үйүмдө эки ташбака бар, аларды күн сайын багам. Бирок, мен
Транзисторсуз Өрт коопсуздугу сигнализациясы: 5 кадам
Транзисторсуз Өрт коопсуздугунун сигналдык схемасы: Салам досум, бүгүн мен эч кандай транзисторду колдонбостон өрт сигналынын схемасын жасайм
Суу ташкыны жөнүндө эскертүү тутумдары - Суунун деңгээли + IoT Sensor Monitoring Guide: 6 Steps
Сел коркунучу жөнүндө эскертүү тутумдары - Суунун деңгээли + IoT Sensor Monitoring Guide: Сиз суунун деңгээлин көзөмөлдөп турушуңуз керекпи? Бул өнөр жай IoT түзмөктөрү АКШда суу ташкыны жөнүндө эскертүү тутуму катары жайгаштырылган. Сизди жана жамаатыңызды коопсуз кылуу үчүн, Акылдуу шаарлар
Камтылган системасы бар үй коопсуздугу: 12 кадам (сүрөттөр менен)
Камтылган системасы бар үй коопсуздугу: Саламатсызбы окурмандар, бул башка коопсуздук тутумунан айырмаланып, үй коопсуздук системасын куруунун инструкциясы. Бул тутумда жакшыртылган TRAP жана PANIC режими бар, жабырлануучунун үйүнүн кожоюнун, коңшусун жана полиция бөлүмүн тармак аркылуу туташтырат