Turinys:
Video: Birra_Monitor: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Programa tarnaus monitorare la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). L'aggiunta del sensore di temperatura (DHT22) tarnauja kaip monitorare temperatura ir umidità della stanza atta alla fermentazione. „Questi data vengono gestiti da una a scheda nodemcu“ir „visualizzati tramite“„Blynk“programos pavaduotojai, turintys IoT sprendimų.
Projektas naudojamas naminio alaus fermentacijai stebėti naudojant paprastą vibracijos jutiklį (SW-420 NC). papildytas temperatūros jutiklis (DHT22) skirtas fermentacijai tinkamos patalpos temperatūrai ir drėgmei stebėti. Šiuos duomenis tvarko „nodemcu“kortelė ir jie vizualizuojami naudojant „Blynk“programą, skirtą kurti daiktų interneto sprendimus.
1 žingsnis: pakavimas
Scheda ir sensori sono alloggiate in una semplice scatola di derivazione.
Plokštė ir jutikliai yra paprastoje jungčių dėžutėje.
2 žingsnis: jutiklis darbe
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registrer delle vibrazioni che millisedno visualizzate sull'app Blynk
kas atsitinka, kai jutiklis yra „sumontuotas“ant burbulo, kad kiekvieną kartą, kai išmetamas CO2, jutiklis įrašys vibracijas, kurios bus rodomos „Blynk“programoje
3 žingsnis: kodas
kodą, skirtą permetėjui, iliustraciją, skirtą mokymui, ir sekti, kad pamatytumėte karikatūras, kurios bus skirtos tramvajaus programinei įrangai „Arduino IDE“
kodas, leidžiantis veikti visumai, yra toks, kurio pakaks įkelti į kortelę „Arduino IDE“programinę įrangą
#include Adafruit_Sensor.h
#įtraukti DHT.h
#define BLYNK_PRINT Serialas
#įtraukti ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#įtraukti SimpleTimer.h;
#include WidgetRTC.h;
float lettura [50]; // dimensijos masyvo laikmena
int nume_Letture = 0; // progresyvus letture
plūdė tot_Letture = 0; // somma letture
float media_Letture = 0; // media letture
int conteggio = 0; // variabile di conteggio primario
// inizio dichiarazioni variabili per media continua
int i = 0;
int cc = 0;
int togli = 0;
// fine dichiarazioni variabili per media continua
int val; // kintamasis 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; // Inizializzo vbinit a 0
nepasirašyta ilga prima = 0; // utile per swap min/max
ilgas Tempmax = 660000; // utile per swap min/max
plūdė tmax = -100; // impostazione impossibile per la temperatura massima
plūdė tmin = 100; // impostazione impossibile per il temperatura minimum
plūdė umax = 0; // impostazione impossibile per umidità massima
plūdė umin = 100; // impostazione impossibile per umidità minimum
Styginių makstas; // stringa visualizzata su Blynk
Styginių mėtų; // stringa visualizzata su Blynk
Stygų maxu; // stringa visualizzata su Blynk
Styginė minu; // stringa visualizzata su Blynk
char auth = "a ° ° ° ° ° °" //
char ssid = "T ° ° ° ° ° °" "9"; //bevielis internetas
anglies leidimas = "O ° ° ° ° ° °" ""; // psw
#define DHTPIN 2 // PIN sensorius DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
„SimpleTimer“laikmatis; // laikmatis
ValdiklisRTC rtc; // orologio di sistema Blynk
„WidgetLED led1“(V15); // „Led Blynk sul pin V15“
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutina, skirta iš naujo nustatyti „Blynk“
{
int attiva = param.asInt ();
jei (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
mėtos = "------------";
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, mėtų);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println („Atstatymas“);
vėlavimas (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
Styga currentTime = Styga (valanda ()) + ":" + minutė ();
String currentDate = Eilutė (diena ()) + "/" + mėnuo ();
plūdė h = dht.readHumidity ();
plūdė t = dht.readTemperature ();
jei (isnan (h) || isnan (t)) {
Serial.println ("Nepavyko nuskaityti iš DHT jutiklio!");
led1.on ();
grįžti;
}
Kitas {
led1.off ();
}
if (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
jei (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
jei (h> umax) {
umax = h;
maxu = Styga (h) + "% (" + currentTime + "-" + currentDate + ")";
}
jei (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, mėtų);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
void calcolo_media () // procedura per registrazioni data media
{
lettura [nume_Letture] = dht.readTemperature ();
if (isnan (lettura [nume_Letture])) {
led1.on ();
grįžti;
}
// procedura media circolare
if (nume_Letture> = 48) {
togli = nume_Letture-48;
tot_Letture -= (lettura [togli]);
tot_Letture += (lettura [nume_Letture]);
nume_Letture = 0; // setta a zero e riparte tutto
cc = 1; // identifika primo passaggio dopo 48 letture (24ore)
}
jei (cc == 1) {
conteggio = 48; // DOPO le prime 24ore divide semper per 24ore (48 mezzore)
}
Kitas{
// žiniasklaida prima dello 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);
}
negaliojanti sąranka ()
{
Serial.begin (115200);
Blynk.begin (auth, ssid, pass);
dht.begin ();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 min
timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30min
}
tuštumos kilpa ()
{
Blynk.run ();
timer.run ();
ilgas adesso = milis ();
val = digitalRead (vibr_pin);
vb = vb+val;
jei (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): 8 žingsniai
Akustinė levitacija naudojant „Arduino Uno“žingsnis po žingsnio (8 žingsniai): ultragarsiniai garso keitikliai L298N nuolatinės srovės adapterio maitinimo šaltinis su vyrišku nuolatinės srovės kaiščiu „Arduino UNOBreadboard“Kaip tai veikia: pirmiausia įkelkite kodą į „Arduino Uno“(tai yra mikrovaldiklis su skaitmeniniu ir analoginiai prievadai kodui konvertuoti (C ++)
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: 7 žingsniai
„Pixel Kit“, kuriame veikia „MicroPython“: pirmieji žingsniai: Kelionė, skirta visam „Kano Pixel“potencialui išnaudoti, prasideda gamyklos programinės įrangos pakeitimu „MicroPython“, tačiau tai tik pradžia. Norėdami koduoti „Pixel Kit“, turime prie jo prijungti savo kompiuterius. Ši pamoka paaiškins, kas
Tiesioginė 4G/5G HD vaizdo transliacija iš DJI drono esant mažai delsai [3 žingsniai]: 3 žingsniai
Tiesioginis 4G/5G HD vaizdo įrašų srautinis perdavimas iš DJI drono esant mažai delsai [3 žingsniai]: Šis vadovas padės jums gauti tiesioginius HD kokybės vaizdo srautus iš beveik visų DJI dronų. Naudodami „FlytOS Mobile App“ir „FlytNow Web Application“galite pradėti transliuoti vaizdo įrašus iš drono