Sadržaj:
- Korak 1: Komponente Necesare
- Korak 2: Testarea Si Configurarea Modului Wi-Fi
- Korak 3: Testarea Senzorului DHT22
- Korak 4: Testarea Senzorului De Particule
- Korak 5: Testarea Senzorului De Compusi Organici Volatili
- Korak 6: Afisarea Acestor Date Pe Ecranul TFT
- Korak 7: Prelucrari Pe ThingSpeak
- Korak 8: Imbinarea Tuturor Pasilor
- Korak 9: Carcasa
Video: Sistem De Monitorizare i Nivelului De Poluare (Arduino Uno): 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Proiectul consta in realizarea unui dispozitiv ce afiseaza diferiti parametri de mediu (temperatura, umiditat, nivelul de čestice u atmosferi, cantitatea de compusi organici volatili) si trimite date date date o o platformi IoT undefined grafice realizate sulte prelucrari.
Korak 1: Komponente Necesare
- senzor za temperaturu-eu koji se koristi za mjerenje temperature za DHT22, ako je potrebno precizno odrediti DHT11 za odredišnu temperaturnu vrijednost-https://www.ebay.com/itm/DS18B20-KY-015-DHT11-DHT …
- senzor za umiditaciju - ukupan DHT22 (ako ste uključili i pokrenuli motor, plus briga o njemu koristi se ovaj senzor, desi puteve da promijenite temperaturu na pentru i umitirate)
- senzor za čestice-am folosit DSM501A-https://www.ebay.com/itm/DSM501A-Dust-Allergic-Sm…
- senzor pentru compusi organici volatili (VOC)-koristim MiCS5524-https://www.ebay.com/itm/MiCS5524-CO-Alcohol-VOC-…
- ecran TFT-am 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 nevoie de unul mai bun-https://www.ebay.com/itm/ESP8266-ESP-01-Serial- WI…
- mini ploča-https://www.ebay.com/itm/5-Color-Mini-Solderless-P…
- o rezistenta 2kOhm
- vatra-https://www.ebay.com/itm/Male-to-Female-Dupont-wir…
Korak 2: Testarea Si Configurarea Modului Wi-Fi
Ja sam realizirao shemu za više informacija, preluata din acest tutorial za njegu l-am urmat ca sa testez modulom.
Apoi, prilagodi acestui tutorial, mi-am creat i kontinuiranu platformu IoT ThingSpeak, mi-am creat i konfigurirajte polje i koristite i kodirajte din tutorial, am trimis cateva valori random si mi le-a pus pe grafic in acel field.
Korak 3: Testarea Senzorului DHT22
Conectand pin-ul moduli la pin-ul digital 7 al Arduino-ului, pin-ul + la 5V si pin-ul-la GND, realizuje se kod:
#include; // pt DHT
#define DHTPIN 7
#define DHTTYPE DHT22
float hum;
float temp;
DHT dht (DHTPIN, DHTTYPE);
void setup () {
Serial.begin (9600);
}
void loop () {{100} {101}
temp = dht.readTemperature (); Serial.print (temp); Serial.println ("razred C");
hum = dht.readHumidity (); Serial.print (hum); Serial.println (" %");
kašnjenje (500);
}
Korak 4: Testarea Senzorului De Particule
Am urmat acest tutorial, cu mentiunea ca ar trebui push and delay in setup de 60000 ms pentru ca senzorul sa aiba timp with incalzeasca si sa fie preciznosti.
Unitatea de masura care rezultati u urma calculelor prezentaciji u tutorial va fi.
Korak 5: Testarea Senzorului De Compusi Organici Volatili
Am conectat pin-ul + al modulu la 5V, pin-ul-la GND si pin-ul A0 la A0 de la Arduino.
int voc;
void setup () {
Serial.begin (9600);
}
void loop () {{100} {101}
voc = analogRead (A0);
voc = mapa (voc, 0, 700, 0, 500);
Serial.println (voc);
kašnjenje (500);
}
Nu am gasit nicaieri o formula exacta de calcul pentru a converti valoarea de la senzor in ppm (part pe milion) asa ca am testat cu etanol (alcohol 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.
Korak 6: Afisarea Acestor Date Pe Ecranul TFT
Folosindu-ma de acest tutorial, am realziat afisarea pe o scara colorata and valorilor. Pentru aceasta, trebuit sa adaptez acel cod din tutorial pentru ecranul meu, fiind prea lung pentru a il include aici, se poate parcurge in codul final din arhiva, unde o sa fie si bibliotecile necesare.
Korak 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 ili prije prve faze prelukrarila sa skripturi MATLAB iz pe platforma.
Din bara de sus, de la App, la MATLAB Analysis, se apasa New, se poate alege un exemplu predefinit sau Custom, i uvodite kod de mai jos:
readChannelID = 482860;
temperatureFieldID = 1;
readAPIKey = 'KBPNYSUY0BLWE5H4';
[tempC, timeStamp] = thingSpeakRead (readChannelID, 'Fields', temperatureFieldID, 'NumMinutes', 5, 'ReadKey', readAPIKey); prikaz (tempC);
anyMissingValues = sum (isnan (tempC));
if sum (anyMissingValues)> 0
missingValueIndex = find (~ sum (isnan (tempC), 2));
cleantempC = tempC (nedostajeValueIndex,:);
cleanTimeStamps = timeStamp (missingValueIndex);
else
cleantempC = tempC;
cleanTimeStamps = vremenska oznaka;
kraj
avgTempC = srednja vrijednost (cleantempC);
tempF = avgTempC*9/5 + 32; prikaz (tempF, 'Temperatura medie in Fahrenheit');
writeChannelID = 483860; writeAPIKey = 'V2DR3QMRD7NXU8PD';
thingSpeakWrite (writeChannelID, 'Fields', 2, 'Values', tempF, 'writekey', writeAPIKey);
NU UITATI SA MODIFICATI ID-urile SI KLJUČ-urile penternu nu imi prelua date sa scrie pe kanala, multumesc frumos
Na mjestu 'NumMinutes' nalaze se folosi 'NumPoints'.
Sintaksa de la ThingSpeakRead i Napišite da li ste zaboravili da pogledate intre ghilimele urmeaza sa predstavljanjem apoi pui valoarea acelui parametra. Potražite savjet i priručnik za brigu o zdravlju uz pomoć u strašnim stranicama.
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 slični celor din campul 1. Dupa aceea, acestui vectori de valori ii este facuta media iar apoi aceasta medie konvertujte dinar Celzijusa u Farenhajt.
Codurile pentru celelalte campuri se odvaja od faktora cu diferenta ca fiecare o sa ia din campul relevantnim marimii si nu o sa mai faca acel calcul de razgovorie Celsius in Fahrenheit.
Upravljajte automatskim skriptama skripti za aplikacije, za aplikacije -> TimeControl -> New TimeControl ako se nalazite u optičkoj opciji, optimizirajte za brigu o le -am ales -u i otvorite je u pozajmici.
thingspeak.com/channels/483860
Korak 8: Imbinarea Tuturor Pasilor
M-am folosit in codul final de "millis ()" si variabile care retin acesti timpi pentru ordona afisajele si trimiterile server (trebuie o data cam pe la 25 de secunde sa trimita ceva, mai repede nu are rost pentru ca oricum platforma nu le-ar primi).
Korak 9: Carcasa
Am luat un plastic de la Dedeman (Hobbycolor) si l-am taiat in forma de cutie si i-am decupat niste "ochiuri" pentru senzori. Initial arata ca in poza de mai sus:).
Eventualno se poate scapa de breadboard si sa aranjeze mult mai frumos, eu deocamdata l-am lasat asa.
Preporučuje se:
SISTEM ZA RAČUNOVANJE RAČUNA I SISTEM KONTROLE ZALIHA: 3 koraka
SISTEM RAČUNOVODSTVENOG RAČUNOVANJA I SISTEMA KONTROLE ZALIHA: Ovim instrukcijama dat ću vam ideju za stvaranje sistema za upravljanje fakturama i zalihama. Pomoću MS pristupa. Vrlo je jednostavno i ne trebate više računarskog ili programskog znanja. Ako imate osnovno znanje o gđi Pristup, stolovi. obrasci i izvještaji t
Sistem za sortiranje boja: Arduino sistem sa dva pojasa: 8 koraka
Sistem za sortiranje boja: Arduino sistem sa dvije trake: Transport i/ili pakovanje proizvoda i predmeta na industrijskom polju vrši se pomoću linija napravljenih pomoću transportnih traka. Ti pojasevi pomažu premještanju predmeta s jedne točke na drugu određenom brzinom. Neki zadaci obrade ili identifikacije mogu biti
Sistem Ambilight za svaki ulaz povezan sa vašim televizorom. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019): 12 koraka (sa slikama)
Sistem Ambilight za svaki ulaz povezan sa vašim televizorom. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019): Oduvijek sam želio dodati ambijentalnost svom televizoru. Izgleda super! Konačno jesam i nisam se razočarao! Vidio sam mnogo video zapisa i mnogo vodiča o stvaranju sistema Ambilight za vaš televizor, ali nikada nisam pronašao potpuni vodič za moju tačnu rođenu
Sistem za nadzor vode (Arduino Uno) WIP: 9 koraka
Sistem za nadzor vode (Arduino Uno) WIP: Ovaj sistem služi kao moja iteracija jeftinog uređaja za nadzor vode u okviru malog oblika. Inspiracija za ovaj dizajn izvedena je iz događaja naučne olimpijade pod nazivom Kvaliteta vode. Ono što je u početku bilo samo mjerač saliniteta, evoluiralo je u ovo
Arduino Uno automatizirani sistem suncobrana: 9 koraka
Arduino Uno automatizirani sistem suncobrana: Proizvedeni proizvod je automatski sistem sjenila za vozila, potpuno je autonoman i kontrolira se senzorima temperature i svjetlosti. Ovaj sistem bi omogućio da sjenilo jednostavno prekriva prozor automobila kada je automobil dosegao određenu temperaturu