Përmbajtje:
- Hapi 1: Komponenti Necesare
- Hapi 2: Testarea Si Configurarea Modului Wi-Fi
- Hapi 3: Testarea Senzorului DHT22
- Hapi 4: Testarea Senzorului De Particule
- Hapi 5: Testarea Senzorului De Compusi Organici Volatili
- Hapi 6: Afisarea Acestor Date Pe Ecranul TFT
- Hapi 7: Prelucrari Pe ThingSpeak
- Hapi 8: Imbinarea Tuturor Pasilor
- Hapi 9: Carcasa
Video: Sistem De Monitorizare a Nivelului De Poluare (Arduino Uno): 9 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Proiectul consta in realizarea unui dispozitiv ce afiseaza diferiti parametrii de mediu (temperatura, umiditate, nivelul de particule din atmosfera, cantitatea de compusi organici volatili) si trimite aceste date la o platforma IoT unde sunt realizon grafice si alte prelucrari.
Hapi 1: Komponenti Necesare
- senzor de temperatura- eu am utilizat senzorul de temperatura DHT22 pentru ca este mai precis decat DHT11 dar destul de ieftin fata de alti senzori de temperatura-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 utilizat acest senzor, desi puteam alege doi diferiti pentru temperatura si umiditate)
- senzor de particule-am folosit DSM501A-https://www.ebay.com/itm/DSM501A-Dust-Allergic-Sm…
- senzor pentru compusi organici volatili (VOC)-jam në përdorim MiCS5524-https://www.ebay.com/itm/MiCS5524-CO-Alcohol-VOC-…
- ecran TFT-jam folosit ecranul TFT de 1.8 "cu controller-ul ST7735S-https://www.ebay.com/itm/1-8-inch-1-8-TFT-LCD-Dis…
- Arduino Uno R3-https://www.ebay.com/itm/ATmega328P-CH340G-UNO-R3…
- modul Wi-Fi-ESP8266 ESP-01, l-am folosit pe acesta deoarece era cel mai ieftin si nu este nevoie de unul mai bun-https://www.ebay.com/itm/ESP8266-ESP-01-Serial- WI…
- mini breadboard-https://www.ebay.com/itm/5-Color-Mini-Solderless-P…
- o rezistenta de 2kOhm
- zjarr-https://www.ebay.com/itm/Male-to-Female-Dupont-wir…
Hapi 2: Testarea Si Configurarea Modului Wi-Fi
Unë e kuptoj skemën tuaj, para se të mësoni më tutje për kujdesin tuaj të parë në modul.
Për më tepër, konform kontekstit mësimor, unë jam duke krijuar një platformë IoT ThingSpeak, unë jam krijuar për të konfiguruar fushën e përdorimit të mësimeve të tjera, jam gati të kaloj rastësisht si mi le-a pus pe grafic në fushën acel.
Hapi 3: Testarea Senzorului DHT22
Lidhur me pin-ul modulului la pin-ul digital 7 nga Arduino-ului, pin-ul + la 5V si pin-ul-la GND, jam realizuar në kod:
#përfshi; // pt DHT
#përcaktoni DHTPIN 7
#përcaktoni DHTTYPE DHT22
gumëzhima notuese;
temperatura e notimit;
DHT dht (DHTPIN, DHTTYPE);
void setup () {
Serial.filloj (9600);
}
lak void () {
temp = dht.readTemperature (); Serial.print (temp); Serial.println ("klasa C");
hum = dht.readHumidity (); Serial.print (hum); Serial.println (" %");
vonesë (500);
}
Hapi 4: Testarea Senzorului De Particule
Unë jam duke mësuar, mund të mendoj se do të vonohem në konfigurimin e 60000 ms për një kohë të shkurtër në një kohë të caktuar, duke përfshirë një saktësi të caktuar.
Unitata e masurës së kujdesit rezulton në urma calculelor prezentate në tutorial va fi.
Hapi 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;
void setup () {
Serial.filloj (9600);
}
lak void () {
voc = analogRead (A0);
voc = hartë (voc, 0, 700, 0, 500);
Serial.println (voc);
vonesë (500);
}
Nu am gasit nicaieri o formula e saktë e llogaritjes së pentru a converti valoarea la la senzor in ppm (parti pe milion) asa ca am testat cu etanol (alcool etilic) si valoarea maxima am aproximat-o la maximul pe care senzorul il poate citi la etanol (adica 500), de aceea am facut acea mapare.
Hapi 6: Afisarea Acestor Date Pe Ecranul TFT
Folosindu-ma de acest tutorial, jam realziat afisarea pe o scara colorata a valorilor. Pentru aceasta, a trebuit sa adaptez acel cod din tutorial pentru ecranul meu, para se të përfshihen në mushkëritë e tjera përfshijnë aici, se poate parcurge in codul final din arhiva, dhe nëse është e nevojshme për bibliotekë të nevojshëm.
Hapi 7: Prelucrari Pe ThingSpeak
Pas 2, urmand tutorialul atasat, s-a putut observa me një pot trimtie date me 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 jam trimdu din arduino datele në kampurile 1, 3, 5 si 7, në 2, 4, 6 si 8 vjet më parë ose më parë për të shkruar paragrafin MATLAB të platformës.
Din bara de sus, de la App, la MATLAB Analysis, se apasa New, se poate alege un exemplu predefinit sau Custom, si prezantim i kodit të mai jos:
readChannelID = 482860;
temperatureFieldID = 1;
readAPIKey = 'KBPNYSUY0BLWE5H4';
[tempC, timeStamp] = thingSpeakRead (lexoChannelID, 'Fushat', temperatureFieldID, 'NumMinutes', 5, 'ReadKey', readAPIKey); ekran (tempC);
anyMissingValues = shuma (isnan (tempC));
nëse shuma (anyMissingValues)> 0
missingValueIndex = gjej (~ shuma (isnan (tempC), 2));
cleantempC = tempC (missingValueIndex,:);
cleanTimeStamps = timeStamp (mungonValueIndex);
tjeter
cleantempC = tempC;
cleanTimeStamps = timeStamp;
fund
avgTempC = mesatarja (cleantempC);
tempF = avgTempC*9/5 + 32; ekran (tempF, 'Temperatura medie in Fahrenheit');
writeChannelID = 483860; writeAPIKey = 'V2DR3QMRD7NXU8PD';
thingSpeakWrite (writeChannelID, 'Fields', 2, 'Values', tempF, 'writekey', writeAPIKey);
NU UITATI SA MODIFICATI ID-urile SI KEY-key-urile pentru a nu imi prelua date sau scrie pe kanal, frume të shumta
Në vendndodhjen 'NumMinutes' se poate folosi si 'NumPoints'.
Sintaxa de la ThingSpeakRead si Shkruaj për të kuptuar se si të hyjë në të dhënat e tua të njohura për hyrjen në apoi pui valoarea acelui parametru. Konsultohuni me manualin e të dhënave të kujdesit për ndihmën tuaj në ndihmë në hartimin e faqeve.
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 në klasën Fahrenheit.
Codurile pentru celelalte campuri se fac separat cu diferenta ca fiecare o sa ia din campul marimii relevante si nu o sa se mai faca acal calcul de conversie din Celsius në Fahrenheit.
Shkruani një shkrim automatik të shkrimit, duke përdorur Aplikacionet -> TimeControl -> New TimeControl do të zgjedhë optiunile dorite, optiunile pe care le -am ales eu se pot vedea in poza de mai sus.
thingspeak.com/channels/483860
Hapi 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).
Hapi 9: Carcasa
Am luat un plastic de la Dedeman (Hobbycolor) si l-am taiat në formë de cutie si i-am decupat niste "ochiuri" pentru senzori. Arata fillestare ca në poza de mai sus:).
Eventual se poate scapa de breadboard si sa se aranjeze mult mai frumos, eu deocamdata l-am lasat asa.
Recommended:
Si të ndërtoni një sistem lotimi të bimëve duke përdorur Arduino: 7 hapa
Si të ndërtoni një sistem lotimi të bimëve duke përdorur Arduino: Në këtë tutorial ne do të mësojmë se si të bëjmë një sistem lotimi të bimëve duke përdorur një sensor lagështie, pompë uji dhe ndizni një LED të gjelbër nëse gjithçka është në rregull dhe OLED Display dhe Visuino. Shikoni videon
Arduino Uno Ushqyes Peshku në 6 hapa të lirë dhe të lehtë !: 6 hapa
Arduino Uno Peshku Ushqyes në 6 Hapa të Lirë dhe të Lehtë !: Pra, mund të nevojitet pak histori për këtë projekt. Njerëzit me peshq të përkëdhelur ndoshta u paraqitën me të njëjtin problem si unë: pushimet dhe harresën. Unë vazhdimisht harroja të ushqeja peshkun tim dhe gjithmonë përpiqesha ta bëja këtë para se të shkonte në
Levitim akustik me Arduino Uno Hap pas hapi (8 hapa): 8 hapa
Levitimi akustik me Arduino Uno Hap pas hapi (8 hapa): transmetuesit e zërit tejzanor L298N Dc furnizues i rrymës së furnizuesit femra me një kunj mashkullor Arduino UNOBreadboardSi funksionon kjo: Së pari, ngarkoni kodin në Arduino Uno (është një mikrokontrollues i pajisur me dixhital dhe porte analoge për të konvertuar kodin (C ++)
Si të ndërtoni një sistem të zbulimit të lëvizjes me Arduino: 7 hapa
Si të Ndërtoni një Sistem të Zbulimit të Lëvizjes Me Arduino: Ndërtoni një sportel të prodhimit të lëvizjes dhe prezencës duke përdorur një pendë HUZZAH të programuar me Arduino dhe të mundësuar nga Ubidots. Lëvizja efektive fizike dhe zbulimi i pranisë në Smart Homes dhe Smart Manufacturing mund të jenë shumë të dobishme në aplikacione që variojnë nga
Arduino-UNO më e fuqishme, Massduino-UNO: 9 hapa
Arduino-UNO më e Fuqishme, Massduino-UNO: Çfarë është Massduino? Massduino është një linjë e re produktesh, e cila kombinon platformën Arduino të pasuruar në mënyrë periferike, zhvillim të përshtatshëm dhe të shpejtë, me kosto të ulët dhe të lehtë për të prodhuar avantazhe të prodhimit në shkallë të gjerë. Pothuajse i gjithë kodi Arduino mund të jetë një