Мазмуну:
Video: Birra_Monitor: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Il progetto бир көзөмөлдөө кызматын аткарат, бул жерде семирүү сезгичтери сезилет (SW-420 NC). Температуранын температурасы (DHT22) температураны тейлейт. Тапшырмаларды аткарууда дагы, биз дагы веб -сайтыбыздын трамитин Blynk колдонмосунун IoT программасын толуктап алдык.
Долбоор жөнөкөй вибрация сенсорунун (SW-420 NC) жардамы менен үйдө жасалган пивонун ачытылышын көзөмөлдөө үчүн колдонулат. температура сенсорунун (DHT22) кошулушу ачытууга ылайыктуу бөлмө температурасын жана нымдуулугун көзөмөлдөөгө кызмат кылат. Бул маалыматтар nodemcu картасы менен башкарылат жана IoT чечимдерин иштеп чыгуу үчүн дайындалган Blynk колдонмосу аркылуу көрсөтүлөт.
1 -кадам: Таңгактоо
Scheda e sensori sono alloggiate in unp semplice scatola di derivazione.
Такта жана сенсорлор жөнөкөй туташуу кутусуна жайгаштырылган.
2 -кадам: Иштеги сенсор
quello che succede quando il sensore "montato" gorgogliatore che ad ogni espulsione di CO2 il sensore registrerà delle vibrazioni che verranno visualizzate sull'app Blynk
сенсор көбүкчөгө "орнотулганда" эмне болот, CO2 чыгарылган сайын сенсор Blynk колдонмосунда көрсөтүлүүчү термелүүлөрдү жазат
3 -кадам: Код
codice per permettere il funzionamento del tutto жана башка программалар Arduino IDE программалык камсыздоо
бүт иштөөсүнө мүмкүндүк берүүчү код, бул Arduino IDE программасын картага жүктөө үчүн жетиштүү.
#Adafruit_Sensor.h кошуңуз
#DHT.h кошуу
#аныктоо BLYNK_PRINT Сериал
#ESP8266WiFi.h кошуу;
#include BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
float lettura [50]; // dimensione Arrayper медиасы
int nume_Letture = 0; // прогрессивдүү леттура
float tot_Letture = 0; // сомма леттура
float media_Letture = 0; // медиа летурасы
int conteggio = 0; // variabile di conteggio primario
// медиа континентине жараша өзгөрөт
int i = 0;
int cc = 0;
int togli = 0;
// медиа континентине ылайыктуу өзгөрүүлөр
int val; // variabile registrazione vibrazione
int vibr_pin = 5; // Piedino x Sensore di Vibrazione D1
int vb = 0; // Inizializzo vb a 0
int vbr = 0; // Inizializzo vb a 0
int vbinit = 0; // Колдонуу 0
белгисиз узун прима = 0; // алмашуу күнүнө utile min/max
узун Tempmax = 660000; // алмашуу күнүнө utile min/max
float tmax = -100; // impostazione impossibile per la temperatura massima
float tmin = 100; // impostazione impossibile per il temperatura minima
float umax = 0; // impostazione impossibile per umidità massima
float umin = 100; // impostazione impossibile per umidità minima
String maxt; // Блинкти көрүү
Кыл жалбыз; // Блинкти көрүү
String maxu; // Блинкти көрүү
String minu; // Блинкти көрүү
char auth = "a °°°°°°°°°°°°°° d"; // токен Blynk
char ssid = "T °°°°°°°°°°°°°°°° 9"; //WiFi
char pass = "O °°°°°°°°°°°°°° R"; // psw
#аныктоо DHTPIN 2 // pin sensore DHT
#аныктоо DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer таймер; // таймер
WidgetRTC rtc; // системасы Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // Blynkти калыбына келтирүү тартиби
{
int attiva = param.asInt ();
if (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
жалбыз = "------------";
maxu = "------------";
minu = "------------";
media_Letture = 0;
tot_Letture = 0;
nume_Letture = 0;
conteggio = 0;
cc = 0;
Serial.println (conteggio);
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, жалбыз);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, мүнөт);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Resetta");
кечигүү (200);
Blynk.virtualWrite (V0, LOW);
}
}
жараксыз sendSensor () // ченемдик процедуралар
{
String currentTime = Стринг (саат ()) + ":" + мүнөт ();
String currentDate = String (күн ()) + "/" + ай ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("DHT сенсорунан окуу ишке ашкан жок!");
led1.on ();
кайтуу;
}
башка {
led1.off ();
}
эгер (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
эгер (t <tmin) {
tmin = t;
жалбыз = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
if (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
if (h <umin) {
umin = h;
minu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
Blynk.virtualWrite (V5, h);
Blynk.virtualWrite (V6, t);
Blynk.virtualWrite (V7, vb);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, жалбыз);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, мүнөт);
}
жараксыз calcolo_media () // каттоо тартиби боюнча медиа үчүн процедуралар
{
lettura [nume_Letture] = dht.readTemperature ();
if (isnan (lettura [nume_Letture])))
led1.on ();
кайтуу;
}
// медиа жүгүртүү процедурасы
эгер (nume_Letture> = 48) {
togli = nume_Letture-48;
tot_Letture -= (lettura [togli]);
tot_Letture += (lettura [nume_Letture]);
nume_Letture = 0; // нөлгө жетүү
cc = 1; // identifica primo passaggio dopo 48 letture (24ore)
}
эгер (cc == 1) {
conteggio = 48; // DOPO le Prime 24ore 24ore күнүнө семперди бөлөт (48mezzore)
}
башка {
// медиа прима делло scadere delle 24ore
tot_Letture += (lettura [nume_Letture]);
conteggio = conteggio+1;
}
media_Letture = tot_Letture/conteggio;
nume_Letture = nume_Letture+1;
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V1, conteggio);
}
жараксыз орнотуу ()
{
Serial.begin (115200);
Blynk.begin (auth, ssid, pass);
dht.begin ();
timer.setInterval (10000, sendSensor); // lettura temperatura 5 мүн
timer.setInterval (1800000, calcolo_media); // жалган маалымат каражаттары 30 мүн
}
боштук цикл ()
{
Blynk.run ();
timer.run ();
long adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
эгер (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)