جدول المحتويات:
- الخطوة 1: Componente Necesare
- الخطوة 2: Testarea Si Configurarea Modului Wi-Fi
- الخطوة 3: Testarea Senzorului DHT22
- الخطوة 4: Testarea Senzorului De Particule
- الخطوة 5: Testarea Senzorului De Compusi Organici Volatili
- الخطوة 6: Afisarea Acestor Date Pe Ecranul TFT
- الخطوة 7: Prelucrari Pe ThingSpeak
- الخطوة 8: Imbinarea Tuturor Pasilor
- الخطوة 9: كاركاسا
فيديو: Sistem De Monitorizare a Nivelului De Poluare (Arduino Uno): 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
Proiectul consta in realizarea unui dispozitiv ce afiseaza diferiti parametrii de mediu (temoditura، umiditate، nivelul de partule din atmosfera، cantitatea de compusi organici volatili) مع تاريخ إنشاء منصة إنترنت الأشياء لمطالبة تنفيذ الرسم التخطيطي.
الخطوة 1: Componente Necesare
- senzor de temperatura- eu am utilizat senzorul de tematura DHT22 pentru ca este mai precis decat DHT11 dar destul de ieftin fata de alti senzori de tematura - https://www.ebay.com/itm/DS18B20-KY-015-DHT11-DHT …
- senzor de umiditate - tot DHT22 (acesta a fost un motiv in plus pentru care am useizat acest senzor، desi puteam alege doi diferiti pentru temperature si umiditate)
- senzor de partule - am folosit DSM501A - https://www.ebay.com/itm/DSM501A-Dust-Allergic-Sm …
- senzor pentru compusi organici volatili (VOC) - am utilizat MiCS5524 -
- ecran TFT - am folosit ecranul TFT de 1.8 "وحدة تحكم cu-ul ST7735S -
- Arduino Uno R3 -
- modul Wi-Fi - ESP8266 ESP-01 ، l-am folosit pe acesta deoarece age cel mai ieftin si nu este nevoie de unul mai bun - https://www.ebay.com/itm/ESP8266-ESP-01-Serial- WI …
- لوحة توصيل صغيرة -
- o rezistenta de 2kOhm
- حريق -
الخطوة 2: Testarea Si Configurarea Modului Wi-Fi
Am realizat schema de mai sus، preluata din acest تعليمي pe care l-am urmat ca sa testez modulul.
Apoi ، وهو برنامج تعليمي متوافق مع برنامج acestui ، و mi-am create un cont pe platforma IoT ThingSpeak ، و mi-am Creat si configurat un field si useizand codul din التعليمي ، و am trimis cateva valori عشوائي si mi le-a pe grafic في مجال acel.
الخطوة 3: Testarea Senzorului DHT22
Conectand pin-ul modului la pin-ul digital 7 al Arduino-ului، pin-ul + la 5V si pin-ul - la GND، am realizat codul:
#يشمل ؛ // pt DHT
#define DHTPIN 7
#define DHTTYPE DHT22
همهمة عائمة
تعويم درجة الحرارة
DHT dht (DHTPIN ، DHTTYPE) ؛
الإعداد باطل() {
Serial.begin (9600) ؛
}
حلقة فارغة(){
temp = dht.readTemperature () ؛ Serial.print (temp) ؛ Serial.println ("الصف C") ؛
hum = dht.readHumidity () ؛ Serial.print (hum) ؛ Serial.println ("٪") ؛
تأخير (500) ؛
}
الخطوة 4: Testarea Senzorului De Particule
أنا urmat acest تعليمي ، cu mentiunea ca ar trebui pus un delay in setup de 60000 ms pentru ca senzorul sa aiba timp sa se incalzeasca si fie precis.
Unitatea de masura care rezulta in urma calculel أو prezentate في البرنامج التعليمي va fi.
الخطوة 5: Testarea Senzorului De Compusi Organici Volatili
Am conectat pin-ul + al modulului la 5V، pin-ul - la GND si pin-ul A0 la A0 de la Arduino.
int voc
الإعداد باطل() {
Serial.begin (9600) ؛
}
حلقة فارغة() {
voc = analogRead (A0) ؛
voc = map (voc، 0، 700، 0، 500) ؛
Serial.println (voc) ؛
تأخير (500) ؛
}
نو آم غازيت nicaieri o الصيغة الدقيقة من حساب بينترو محول فاليو دي لا سينسور في جزء في المليون (جزء من مليون) آسا كا آم تيستات كو إيتانول (ألكول إيليك) سي فالواريا ماكسيما آبروكسيمات-أو لا ماكسيمول بي كير سينزورول إيل بويت لا إتانول (adica 500)، de aceea am facut acea mapare.
الخطوة 6: Afisarea Acestor Date Pe Ecranul TFT
Folosindu-ma de acest تعليمي ، am realziat afisarea pe o scara colorata a valorilor. Pentru aceasta ، وهو trebuit sa Adaptez acel cod din البرنامج التعليمي pentru ecranul meu ، يشمل الرئة prea pentru a il aici ، se poate parcurge في codul final din arhiva ، unde o sa fie si bibliotecile necesare.
الخطوة 7: Prelucrari Pe ThingSpeak
La pasul 2، Urmand tutorialul atasat، s-a putut Observa cum se pot trimtie date pe platforma de la Arduino.
Acum، o sa ne folosim de acele date pentru a le putea prelucra، de exemplu eu am facut media valorilor din jumatate in jumatate de ora.
Asa ca am trimis din arduino datele in campurile 1، 3، 5 si 7، iar in 2، 4، 6 si 8 vor si afisate prelucrarile facute de scripturile MATLAB de pe platforma.
Din bara de sus، de la App، la MATLAB Analysis، se apasa New، se poate alege un exemplu preefinit sau Custom، si introduceti codul de mai jos:
readChannelID = 482860 ،
درجة حرارة الحقل معرف = 1 ؛
readAPIKey = 'KBPNYSUY0BLWE5H4' ،
[tempC، timeStamp] = thingSpeakRead (readChannelID، 'Fields'، temperatureFieldID، 'NumMinutes'، 5، 'ReadKey'، readAPIKey) ؛ عرض (درجة الحرارة) ؛
anyMissingValues = sum (isnan (tempC)) ؛
إذا كان المجموع (anyMissingValues)> 0
missingValueIndex = find (~ sum (isnan (tempC)، 2)) ؛
cleantempC = tempC (missingValueIndex،:) ؛
cleanTimeStamps = timeStamp (missingValueIndex) ؛
آخر
cleantempC = درجة الحرارة ؛
cleanTimeStamps = طابع زمني ؛
نهاية
avgTempC = متوسط (cleantempC) ،
tempF = avgTempC * 9/5 + 32 ؛ العرض (tempF ، "متوسط درجة الحرارة بالفهرنهايت") ؛
writeChannelID = 483860 ؛ writeAPIKey = 'V2DR3QMRD7NXU8PD' ،
thingSpeakWrite (writeChannelID، 'Fields'، 2، 'Values'، tempF، 'writekey'، writeAPIKey) ؛
NU UITATI SA MODIFICATI ID-urile SI KEY-urile pentru a nu imi prelua date sau scrie pe canal، multumesc frumos
في loc de "NumMinutes" حدِّد مجلدات "NumPoints".
Sintaxa de la ThingSpeakRead si اكتب este ca mai intai se scrie intre ghilimele ce urmeaza sa produci si apoi pui valoarea acelui parametru. يرجى الاستشارة في دليل الرعاية الصحية المقدمة للمساعدة في حل المشكلة.
Acest cod preia datele din campul 1 si pentru ca pe langa ce a primit mai sunt si niste NaN-uri، acel if le aproximeaza la valori similare celor din campul 1. Dupa aceea، acestui vectori de valori ii este facuta media iar apoi aceasta medie este convertita din grade Celsius في درجة فهرنهايت.
Codurile pentru celelalte campuri حد منفصل cu diferenta ca fiecare o sa ia din campul ذو الصلة marimii si nu o sa se mai faca acel calcul de convertie din celsius in Fahrenheit.
Pentru a rula automat aceste script-uri، de la Apps -> TimeControl -> New TimeControl si se seteaza optiunile dorite، optiunile pe care le-am ales eu se pot vedea in poza de mai sus.
thingspeak.com/channels/483860
الخطوة 8: Imbinarea Tuturor Pasilor
M-am folosit in codul final de "millis ()" si variabile care retin acesti timpi pentru a ordona afisajele si trimiterile la server (trebuie o data cam pe la 25 de secunde sa se trimita ceva، mai repede nu are rost pentru ca oricum platforma nu le-ar primi).
الخطوة 9: كاركاسا
Am luat un plastic de la Dedeman (Hobbycolor) si l-am taiat in forma de cutie si i-am decupat niste "ochiuri" pentru senzori. الأولي arata ca في poza de mai sus:).
في نهاية المطاف se poate scapa de breadboard si sa se aranjeze mult mai frumos، eu deocamdata l-am lasat asa.
موصى به:
Arduino Uno Fish Feeder في 6 خطوات رخيصة وسهلة: 6 خطوات
Arduino Uno Fish Feeder في 6 خطوات رخيصة وسهلة: لذلك قد تكون هناك حاجة إلى القليل من الخلفية الدرامية لهذا المشروع. من المحتمل أن الأشخاص الذين لديهم أسماك أليفة قد واجهوا نفس المشكلة مثلي: الإجازات والنسيان. لقد نسيت باستمرار إطعام أسماكي وكنت أجاهد دائمًا للقيام بذلك قبل أن أذهب إلى
الرفع الصوتي باستخدام Arduino Uno خطوة بخطوة (8 خطوات): 8 خطوات
الرفع الصوتي باستخدام Arduino Uno خطوة بخطوة (8 خطوات): محولات الصوت بالموجات فوق الصوتية L298N Dc أنثى مزود الطاقة مع دبوس ذكر DC Arduino UNOBreadboard كيف يعمل هذا: أولاً ، تقوم بتحميل الكود إلى Arduino Uno (إنه متحكم دقيق مزود رقمي والمنافذ التناظرية لتحويل التعليمات البرمجية (C ++)
أقوى Arduino-UNO و Massduino-UNO: 9 خطوات
Arduino-UNO الأكثر قوة ، Massduino-UNO: ما هو Massduino؟ Massduino هو خط إنتاج جديد ، يجمع بين منصة Arduino الطرفية - الغنية والمريحة والتطوير السريع والتكلفة المنخفضة وسهولة التصنيع على نطاق واسع مزايا الإنتاج. يمكن أن تكون جميع رموز Arduino تقريبًا
Sistem De Cartografiere a Retelelor LoRaWAN: 4 خطوات
Sistem De Cartografiere a Retelelor LoRaWAN: في برنامج cadrul acestui s-a dorit realizarea unui sistem de cartografiere a retelor LoRaWAN.Ce este LoRa؟ LoRa este o tehnologie care pune la dipozitia dezvoltatorilor de solutii inteligente o transmisie de raza lunga si securizata a datelor، cu
Sistem De Conversație Bazat Pe Inteligență Artificială: 6 خطوات
Sistem De Conversație Bazat Pe Inteligență Artificială: Autor: Stanut Nicolae-RaduGrupa: 333ABNota: 8