INHOUDSOPGAWE:

Sistem de Monitorizare and Nivelului De Poluare (Arduino Uno): 9 stappe
Sistem de Monitorizare and Nivelului De Poluare (Arduino Uno): 9 stappe

Video: Sistem de Monitorizare and Nivelului De Poluare (Arduino Uno): 9 stappe

Video: Sistem de Monitorizare and Nivelului De Poluare (Arduino Uno): 9 stappe
Video: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2024, Julie
Anonim
Sistem De Monitorizare and Nivelului De Poluare (Arduino Uno)
Sistem De Monitorizare and Nivelului De Poluare (Arduino Uno)

Ons kan 'n volledige uiteensetting van die verskillende parameters van die mediu (temperatuur, omidit, nivelleer deeltjies van atmosfera, organiese volatiele komponente) vind, sodat ons 'n vinnige datum kan kry om 'n IoT -platform te verkry.

Stap 1: noodsaaklike komponent

  • temperatuur temperatuur kan gebruik word om temperatuur van DHT22 te gebruik, en dit kan spesifiek bepaal word oor DHT11, wat die temperatuur kan verhoog-https://www.ebay.com/itm/DS18B20-KY-015-DHT11-DHT …
  • omskakeling - tot DHT22 (dit is ook moontlik om meer te versorg en om die sorg te benut)
  • dezor de particule-am folosit DSM501A-https://www.ebay.com/itm/DSM501A-Dust-Allergic-Sm…
  • senzor pentru compusi organi volatili (VOC)-gebruik MiCS5524-https://www.ebay.com/itm/MiCS5524-CO-Alcohol-VOC-…
  • ecran TFT-'n folante van 'n TFT van 1.8 "met kontroleerder-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, ek kan ook hierdie e-posadres gebruik-https://www.ebay.com/itm/ESP8266-ESP-01-Serial- WI…
  • mini broodbord-https://www.ebay.com/itm/5-Color-Mini-Solderless-P…
  • oresistente van 2kOhm
  • vuur-https://www.ebay.com/itm/Male-to-Female-Dupont-wir…

Stap 2: Testaea Si Configurarea Modului Wi-Fi

Toets of konfigurasie van Wi-Fi
Toets of konfigurasie van Wi-Fi

Ek kan 'n skema vir my op 'n praktiese wyse voorskryf, met die oog op 'n modulêre toets.

Kyk hier na die tutoriaal, ek kan 'n platform vir IoT ThingSpeak skep, ek kan 'n veld opstel en 'n ander tutoriaal gebruik, maar ek kan ook willekeurige funksies in die veld gebruik.

Stap 3: Testarea Senzorului DHT22

Verbind pin-ul modulasie met pin-ul digitale 7 van Arduino-ului, pin-ul + la 5V en pin-ul-van GND, is die volgende:

#insluit; // pt DHT

#definieer DHTPIN 7

#definieer DHTTYPE DHT22

dryf brom;

vlot temp;

DHT dht (DHTPIN, DHTTYPE);

ongeldige opstelling () {

Serial.begin (9600);

}

leemte -lus () {

temp = dht.readTemperature (); Serial.print (temp); Serial.println ("graad C");

hum = dht.readHumidity (); Serial.print (hum); Serial.println (" %");

vertraging (500);

}

Stap 4: Testarea Senzorului De Particule

Ek het 'n volledige tutoriaal, maar ons kan die vertraging in die opstel van 60000 ms op 'n vinnige tydstip oplos.

Unitatea de masura care rezulta in urma calculelor prezentate in tutorial va fi.

Stap 5: Testarea Senzorului De Compusi Organici Volatili

Ek kan die pin-ul + al 5V-module, die GND-pin-ul-A0-la-A0-la-Arduino-module aanpas.

int voc;

ongeldige opstelling () {

Serial.begin (9600);

}

leemte -lus () {

voc = analogRead (A0);

voc = kaart (voc, 0, 700, 0, 500);

Serial.println (voc);

vertraging (500);

}

Nou kan ons die formule akkuraat bereken vir die omskakeling van die waarde in ppm (deel van miljoene) as etamiese etanol (alkool etiel) en maksimum waarde van die maksimum omgee vir die versorging daarvan (adica 500), die aceea am facut acea mapare.

Stap 6: Afisarea Acestor Date Pe Ecranul TFT

'N Volledige tutoriaal, ek kan die kleur as 'n waardevolle kleur gebruik. Ons kan dit ook gebruik, maar u kan ook hierdie tutoriaal vir u leer, maar dit kan ook in die biblioteek ingesluit word.

Stap 7: Prelucrari Pe ThingSpeak

Prelucrari Pe ThingSpeak
Prelucrari Pe ThingSpeak
Prelucrari Pe ThingSpeak
Prelucrari Pe ThingSpeak

La pasul 2, wat u kan leer, kan u ook die datum op die Arduino-platform sien.

Ons kan ook 'n volgende datum vir ons neem, wat 'n voorbeeld kan wees van die waarde van u media in die jumatate de ora.

Asa ca am trimis din arduino data 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.

U kan slegs die app, die MATLAB -analise, nuut, nuut gebruik, sowel as 'n voorbeeld van vooraf gedefinieerde persone, en ons kan die volgende insluit:

readChannelID = 482860;

temperatureFieldID = 1;

readAPIKey = 'KBPNYSUY0BLWE5H4';

[tempC, timeStamp] = thingSpeakRead (readChannelID, 'Fields', temperatureFieldID, 'NumMinutes', 5, 'ReadKey', readAPIKey); vertoon (tempC);

anyMissingValues = som (isnan (tempC));

as som (anyMissingValues)> 0

missingValueIndex = vind (~ som (isnan (tempC), 2));

cleantempC = tempC (missingValueIndex,:);

cleanTimeStamps = timeStamp (missingValueIndex);

anders

cleantempC = tempC;

cleanTimeStamps = timeStamp;

einde

avgTempC = gemiddelde (cleantempC);

tempF = avgTempC*9/5 + 32; vertoning (tempF, 'Tempera medie in Fahrenheit');

skryfChannelID = 483860; writeAPIKey = 'V2DR3QMRD7NXU8PD';

thingSpeakWrite (writeChannelID, 'Fields', 2, 'Values', tempF, 'writeekey', writeAPIKey);

NU UITATI SA MODIFICATI ID-urile SI KEY-urile is nou beskikbaar vir 'n groot aantal kanale

In 'NumMinutes' kan u 'NumPoints' volg.

Sintaxa de la ThingSpeakRead si Skryf oor hoe ek intellektueel kan lees, en ons sal dit in staat stel om die waarde van die funksie te verander. Raadpleeg die handleiding fiecarei comenzi sorg vir hulp in dreapta paginii.

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 valor similare celor din campul 1. Dupa aceea, acestui vectori de valori ii este facuta media iar apoi aceasta medie beoordeel jou graad Celsius in graad Fahrenheit.

Codurile pentru celelalte campuri se fac separate cu diferenta ca fiecare o sa ia din campul relevant marimii si nu o sa se mai faca acel calcul de conversie din Celsius in Fahrenheit.

U kan ook outomaties die script gebruik, en die programme -> TimeControl -> Nuwe TimeControl kan 'n optimale funksie gee, en dit kan ook gebruik word om die sorg te verseker.

thingspeak.com/channels/483860

Stap 8: Imbinarea Tuturor Pasilor

M-am folosit in codul final de "millis ()" as variable care retin acesti timpi pentru a ordona afisajele and 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).

Stap 9: Karkas

Karkas
Karkas

Ek kan 'n plastiek van die Dedeman (stokperdjie) gebruik om dit in die vorm van 'n geskenk te kry. Aanvanklike artikel in poza de mai sus:).

Uiteindelik kan ons die broodbord sien, en dit kan baie meer as die eerste keer gebruik word.

Aanbeveel: