Мазмұны:

Birra_Monitor: 3 қадам
Birra_Monitor: 3 қадам

Бейне: Birra_Monitor: 3 қадам

Бейне: Birra_Monitor: 3 қадам
Бейне: Мухоморный 🍄Трип Фиксирую на камеру. Очутился между двух миров🌍 Реальным и Мухоморным🙏 2024, Қараша
Anonim
Birra_Monitor
Birra_Monitor

Бұл бағдарлама вибразионды (SW-420 NC) біркелкі ажыратуға мүмкіндік береді. Температура температурасы (DHT22) температура мен температураны бақылауға қызмет етеді. Blynk қосымшасының кез келген нұсқасы IoT -тің кез келген нұсқауына сәйкес келеді.

Жоба қарапайым діріл датчигі (SW-420 NC) көмегімен үйдегі сыраның ашуын бақылау үшін қолданылады. температура сенсорының қосылуы (DHT22) ашыту үшін қолайлы бөлменің температурасы мен ылғалдылығын бақылауға қызмет етеді. Бұл деректер nodemcu картасы арқылы басқарылады және IoT шешімдерін әзірлеу үшін тағайындалған Blynk қосымшасы арқылы бейнеленеді.

1 -қадам: орау

Қаптама
Қаптама
Қаптама
Қаптама

Сенсорлық сезімталдық біркелкі емес.

Тақта мен датчиктер қарапайым байланыс қорабында орналасқан.

2 -қадам: сенсор жұмыс үстінде

Сенсор жұмыс үстінде
Сенсор жұмыс үстінде
Сенсор жұмыс үстінде
Сенсор жұмыс үстінде

Quello che succede quando il sensore è «monatato» gorgogliatore che ad ogni espulsione di CO2 il sensore registrerà delle vibrazioni che verranno visualizzate sull'app Blynk

Сенсор көпіршігіге «орнатылғанда» не болады, CO2 шығарылған сайын сенсор Blynk қосымшасында көрсетілетін тербелістерді жазады

3 -қадам: код

codice per permettere бағдарламалық жасақтамасы Arduino IDE бағдарламалық жасақтамасы

тұтастай жұмыс істеуге мүмкіндік беретін код - бұл картаға Arduino IDE бағдарламалық жасақтамасын жүктеу үшін жеткілікті.

#қосу Adafruit_Sensor.h

#DHT.h қосыңыз

#BLYNK_PRINT сериясын анықтаңыз

#ESP8266WiFi.h қосыңыз;

#қосу BlynkSimpleEsp8266.h;

#қосу SimpleTimer.h;

#қосу WidgetRTC.h;

қалқыма леттура [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 vs a 0

int vbr = 0; // Inizializzo vs a 0

int vbinit = 0; // Inizializzo vbinit a 0

белгісіз ұзын прима = 0; // своп үшін утил мин/максимум

ұзақ Tempmax = 660000; // своп үшін утил мин/максимум

өзгермелі tmax = -100; // impostazione impossibile per la temperatura massima

float tmin = 100; // impostazione impossibile per il temperatura minima

өзгермелі umax = 0; // impostazione impossibile per umidità massima

float umin = 100; // impostazione impossibile per umidità minima

String maxt; // Blynk визуализаторы

Жіп жалбыз; // Blynk визуализаторы

String maxu; // Blynk визуализаторы

Жол мину; // Blynk визуализаторы

char auth = «a °°°°°°°°°°°°°° d»; // жетон Blynk

char ssid = «T °°°°°°°°°°°°°°° 9»; //сымсыз дәлдiк

char pass = «O °°°°°°°°°°°°°° R»; // psw

#DHTPIN 2 анықтаңыз // түйреуіш DHT

#DHTTYPE DHT22 анықтаңыз

DHT dht (DHTPIN, DHTTYPE);

SimpleTimer таймері; // таймер

WidgetRTC rtc; // Blynk жүйесі

LED виджеті1 (V15); // Led Blynk sul pin V15

BLYNK_CONNECTED () {

rtc.begin (); // avvio RTC

}

BLYNK_WRITE (V0) // Blynk -ті қалпына келтіру тәртібі

{

int attiva = param.asInt ();

егер (attiva == 1) {

tmax = -100;

tmin = 100;

umax = 0;

умин = 100;

maxt = «------------»;

жалбыз = «------------»;

maxu = «------------»;

мину = «------------»;

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 = Жол (күн ()) + «/» + ай ();

float h = dht.readHumidity ();

float t = dht.readTemperature ();

егер (isnan (h) || isnan (t)) {

Serial.println («DHT сенсорынан оқу мүмкін болмады!»);

led1.on ();

қайтару;

}

басқа {

led1.off ();

}

егер (t> tmax) {

tmax = t;

maxt = Жол (t) + «° C (» + currentTime + «-» + currentDate + «)»;

}

егер (t <tmin) {

tmin = t;

жалбыз = Жол (t) + «° C (» + currentTime + «-» + currentDate + «)»;

}

егер (h> umax) {

umax = h;

maxu = Жол (h) + «% (» + currentTime + «-» + currentDate + «)»;

}

егер (h <umin) {

umin = h;

minu = Жол (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 ();

қайтару;

}

// media circulare процедурасы

егер (nume_Letture> = 48) {

togli = nume_Letture-48;

tot_Letture -= (lettura [togli]);

tot_Letture += (леттура [nume_Letture]);

nume_Letture = 0; // нөлге тең уақыт

cc = 1; // identifica primo passaggio dopo 48 letture (24ore)

}

егер (cc == 1) {

conteggio = 48; // DOPO prime prime 24ore семестрді 24орға бөледі (48mezzore)

}

басқа {

// Media prima dello scadere delle 24ore

tot_Letture += (леттура [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 umidità ogni 5 мин

timer.setInterval (1800000, calcolo_media); // жалған ақпарат құралдары 30 мин

}

бос цикл ()

{

Blynk.run ();

timer.run ();

ұзақ адрес = millis ();

val = digitalRead (vibr_pin);

vb = vb+val;

егер (adesso - prima> = Tempmax)

{

vb = 0;

vbinit = vb;

прима = қосымша;

}

Ұсынылған: