İçindekiler:

Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno): 9 Adım
Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno): 9 Adım

Video: Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno): 9 Adım

Video: Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno): 9 Adım
Video: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2024, Kasım
Anonim
Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno)
Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno)

Proiectul consta in realizarea unui dispozitiv ce afiseaza diferiti parametrii de mediu (temperatura, umiditate, nivelul de partikül dina, cantitatea de compusi organiki uçucu) ve trimit aseste tarih la o platforma IoT unde sunt realizate alt grafice pregraphe

Adım 1: Gerekli Bileşen

  • Senzor de temperatura-eu am utilizat senzorul de temperatura DHT22 pentru ca este mai kesin decat DHT11 dastul de eftin fata de alti senzori de temperatura - https://www.ebay.com/itm/DS18B20-KY-015-DHT11-DHT …
  • senzor de umiditate - toplam DHT22 (acesta a fost un motive in plus pentru care am utilizat acest senzor, desi puteam alege doi diferiti pentru temperatura si umiditate)
  • senzor de partikül - am folosit DSM501A -
  • senzor pentru compusi organik uçucu (VOC) - MiCS5524 kullanıyorum -
  • ecran TFT - am folosit ecranul TFT de 1.8" cu controller-ul ST7735S -
  • Arduino Uno R3 -
  • modul Wi-Fi - ESP8266 ESP-01, l-am folosit pe acesta deoarece dönemi cel mai ieftin si n este nevoie de unul mai bun - https://www.ebay.com/itm/ESP8266-ESP-01-Serial- WI…
  • mini breadboard -
  • o 2kOhm'un yeniden düzenlenmesi
  • yangın -

Adım 2: Testarea Si Configurarea Modülü Wi-Fi

Testarea Si Configurarea Modülü Wi-Fi
Testarea Si Configurarea Modülü Wi-Fi

Gerçekleştirdiğim şema, temel eğitim için önceden hazırlanmış bir eğitimdir.

Apoi, acestui öğreticisine uyun, IoT ThingSpeak'in devamı olmayan bir platforma mi-am yaratıyorum, mi-am kreasyon ve konfigürasyonun alan si utilizand codul din öğretici, am trimis cateva valori rasgele si mi le-a pus pe grafic in acel alanında.

Adım 3: Testarea Senzorului DHT22

Conectand pin-ul modulului la pin-ul dijital 7 al Arduino-ului, pin-ul + la 5V ve pin-ul - la GND, realizat codul:

#Dahil etmek; //pt DHT

#define DHTPIN 7

#define DHTTYPE DHT22

yüzer uğultu;

yüzer sıcaklık;

DHT dht(DHTPIN, DHTTYPE);

geçersiz kurulum() {

Seri.başla(9600);

}

boşluk döngüsü(){

temp = dht.readTemperature();Serial.print(temp); Serial.println(" C sınıfı");

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

gecikme(500);

}

Adım 4: Testarea Senzorului De Partikül

Am urmat asest öğretici, cu mentiunea ca ar trebui pus un kurulumda gecikme 60000 ms pentru ca senzorul sa aiba timp sa se incalzeasca si sa fie precis.

Unitatea de masura care rezulta in urma calculeor prezentate öğretici va fi.

Adım 5: Testarea Senzorului De Compusi Organici Volatili

Arduino'da pin-ul + tüm modülleri la 5V, pin-ul - la GND ve pin-ul A0 la A0 de la Am.

int ses;

geçersiz kurulum() {

Seri.başla(9600);

}

boşluk döngüsü () {

voc = analogRead(A0);

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

Serial.println(voc);

gecikme(500);

}

Bu formül tam olarak hesaplanabilir bir dönüştürücü değer olarak ppm olarak (parti pe milyon) olarak testat cu etanol (alkol etilic) ve valoarea maxima am aproximat-o la maximul pe care senzorul il poate citi la etanol (adica 500), de aceea am facut acea mapare.

Adım 6: Afisarea Acestor Date Pe Ecranul TFT

Folosindu-ma de acest öğreticisi, gerçek bir afisarea pe o scara colorata a valorilor'um. Pentru aceasta, bir trebuit sa adaptez acel cod din öğretici pentru ecranul meu, fiind prea lung pentru a il şunları içerir: aici, se poate parcurge in codul final din arhiva, unde o sa fie ve bibliotecile gerekli.

Adım 7: Prelucrari Pe ThingSpeak

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

La pasul 2, urmand tutorialul atasat, s-a putut gözleme cum se pot trimtie tarihi pe platforma de la Arduino.

Acum, o aklı başında folosim de acele date pentru a le putea prelucra, de exemplu eu am facut media valorilor din jumatate in jumatate de ora.

1, 3, 5 ve 7, iar in 2, 4, 6 ve 8'de arduino tarihi ile ilgili bilgiler MATLAB de pe platforma.

Din bara de sus, de la App, la MATLAB Analysis, se apasa Yeni, se poate alege un exemplu predefinit sau Custom, ve si tanitim codul de mai jos:

readChannelID = 482860;

sıcaklıkFieldID = 1;

readAPIKey = 'KBPNYSUY0BLWE5H4';

[tempC, timeStamp] =thingSpeakRead(readChannelID, 'Fields', sıcaklıkFieldID, 'NumMinutes', 5, 'ReadKey', readAPIKey); ekran(tempC);

anyMissingValues = toplam(isnan(tempC));

if sum(anyMissingValues) > 0

missValueIndex = bul(~sum(isnan(tempC), 2));

cleantempC = tempC(eksikValueIndex,:);

cleanTimeStamps = timeStamp(missingValueIndex);

Başka

cleantempC = tempC;

cleanTimeStamps = zaman Damgası;

son

avgTempC = ortalama(cleantempC);

tempF = avgTempC*9/5 + 32; display(tempF, 'Fahrenhayt cinsinden Temperatura ortamı');

writeChannelID = 483860; writeAPIKey = 'V2DR3QMRD7NXU8PD';

şeySpeakWrite(writeChannelID, 'Alanlar', 2, 'Değerler', tempF, 'writekey', writeAPIKey);

NU UITATI SA MODIFICATI ID-urile SI KEY-urile pentru bir nu imi prelua date sau scrie pe canal, multumesc frumos

'NumMinutes' konumunda, 'NumPoints' olarak sıralayın.

Sintaxa de la ThingSpeakOku ve Yazmayı en iyi şekilde değerlendirin, bu bilgileri en iyi şekilde değerlendirin. Yardım için bkz. dreapta paginii.

En büyük ilk ve en son tarihler arasında, en iyi ve en temel medya. este convertita din derece Celsius derece Fahrenheit.

Celelalte kampüsü içinde, Fahrenheit'te Santigrat'ı birbirinden ayıran en farklı seçenekler.

Uygulamalar için bir kural otomatikleştirme komut dosyası -> TimeControl -> Yeni TimeControl ve uygun dorite, optiunile pe care le-am ales eu se pot vedea içinde poza de mai sus.

thingspeak.com/channels/483860

Adım 8: Imbinarea Tuturor Pasilor

M-am folosit in codul final de "millis()" ve değişken bakım retin acesti timpi pentru a ordona afisajele ve trimiterile la server (trebuie o veri kampı la 25 de secunde sa se trimita ceva, mai repede nu are rost umpentru ca oric platforma nu le-ar primi).

Adım 9: Karkasa

karkasa
karkasa

Dedeman'ın (Hobbycolor) plastik bir parçası değil ve benim için tatlı bir biçime sahip. Poza de mai sus'ta ilk arata ca:).

Nihai olarak, her şeyin yeniden yapılandırılması için bir fırsattır.

Önerilen: