İçindekiler:
- Adım 1: Gerekli Bileşen
- Adım 2: Testarea Si Configurarea Modülü Wi-Fi
- Adım 3: Testarea Senzorului DHT22
- Adım 4: Testarea Senzorului De Partikül
- Adım 5: Testarea Senzorului De Compusi Organici Volatili
- Adım 6: Afisarea Acestor Date Pe Ecranul TFT
- Adım 7: Prelucrari Pe ThingSpeak
- Adım 8: Imbinarea Tuturor Pasilor
- Adım 9: Karkasa
Video: Sistem De Monitorizare ve Nivelului De Poluare (Arduino Uno): 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
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
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
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:
Raspberry Pi Oyun Sunucunuz İçin İyon Soğutmalı Sistem!: 9 Adım (Resimli)
Raspberry Pi Oyun Sunucunuz için İyon Soğutmalı Sistem!: Merhaba Yapımcılar! Bir süre önce Raspberry Pi aldım ama onunla ne yapacağımı gerçekten bilmiyordum. Son zamanlarda Minecraft tekrar popüler hale geldi, bu yüzden ben ve arkadaşlarımın eğlenmesi için bir Minecraft sunucusu kurmaya karar verdim. Eh, sadece ben olduğum ortaya çıktı:
Renk Ayırma Sistemi: Arduino Tabanlı İki Kayışlı Sistem: 8 Adım
Renk Ayırma Sistemi: Arduino Tabanlı İki Bantlı Sistem: Endüstriyel alanda ürün ve eşyaların taşınması ve/veya paketlenmesi, konveyör bantlar kullanılarak yapılan hatlar kullanılarak yapılmaktadır. Bu kayışlar, öğeyi belirli bir hızla bir noktadan diğerine hareket ettirmeye yardımcı olur. Bazı işleme veya tanımlama görevleri
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
Daha Güçlü Arduino-UNO, Massduino-UNO: 9 Adım
Daha Güçlü Arduino-UNO,Massduino-UNO: Massduino Nedir?Massduino, Arduino platformu çevre birimlerini -zengin, kullanışlı ve hızlı geliştirme, düşük maliyetli ve üretimi kolay büyük ölçekli üretim avantajlarını birleştiren yeni bir ürün grubudur. Arduino kodunun neredeyse tamamı bir
Mil ve Adım Motorlu Arduino Uno: 19 Adım
Mil ve Adım Motorlu Arduino Uno: Bugün mekanik ve mekatronikte çok önemli bir konudan bahsedeceğiz: makinelerin elemanları. Bu yazıda, bazı ilginç özellikler ve uygulamalar içeren iğleri özel olarak ele alacağız. Yine de iblis edeceğiz