Kazalo:
Video: Birra_Monitor: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Progetto postrežemo z monitorrare la fermentazione della birra fatta v casa tramite un semplice sensore di vibrazione (SW-420 NC). Senzor temperature (DHT22) služi za spremljanje temperature in umidità della stanza atta alla fermentazione. Questi dati vengono gestiti da una scheda nodemcu e visualizzati tramite Blynk app deputata allo sviluppo di soluzioni IoT.
Projekt se uporablja za spremljanje fermentacije domačega piva s preprostim senzorjem vibracij (SW-420 NC). dodatek temperaturnega senzorja (DHT22) služi za spremljanje temperature in vlažnosti prostora, primernega za fermentacijo. Te podatke upravlja kartica nodemcu in vizualizira prek aplikacije Blynk, imenovane za razvoj rešitev IoT.
1. korak: Pakiranje
Scheda e sensori sono aloggiate in una semplice scatola di derivazione.
Plošča in senzorji so nameščeni v preprosti razdelilni omarici.
2. korak: Senzor pri delu
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registrarà delle vibrazioni che verranno vizualizirati sull'app Blynk
kaj se zgodi, ko je senzor "nameščen" na mehurček, da bo senzor ob vsakem izločanju CO2 zabeležil vibracije, ki bodo prikazane v aplikaciji Blynk
3. korak: Koda
Id kode za permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il programska oprema Arduino IDE
koda, ki omogoča delovanje celote, je naslednja, ki bo dovolj, da na kartico naložite programsko opremo Arduino IDE
#vključi senzor Adafruit.h
#vključi DHT.h
#define BLYNK_PRINT Serijska številka
#include ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
float lettura [50]; // dimenzija Arrayper media
int nume_Letture = 0; // progressivo letture
float tot_Letture = 0; // somma letture
float media_Letture = 0; // medijska literatura
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; // 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; // Inizializzo vbinit a 0
brez podpisa dolga prima = 0; // uporabnost na zamenjavo min/max
dolga Tempmax = 660000; // uporabnost na zamenjavo min/max
plovec tmax = -100; // impostazione impossibile per la temperature massima
plavajoči tmin = 100; // impostazione impossibile per il temperature minima
float umax = 0; // impostazione impossibile per umidità massima
plavajoči umin = 100; // impostazione impossibile per umidità minima
Niz nizov; // stringa visualizzata su Blynk
Struna meta; // stringa visualizzata su Blynk
Niz nizko; // stringa visualizzata su Blynk
Niz nizov; // stringa visualizzata su Blynk
char auth = "a °°°°°°°°°°°°° d"; // žeton Blynk
char ssid = "T °°°°°°°°°°°°° 9"; //Wifi
char pass = "O °°°°°°°°°°°° R"; // psw
#define DHTPIN 2 // pin senzor DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
Časovnik SimpleTimer; // časovnik
WidgetRTC rtc; // orologio di sistem Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutina za ponastavitev tasto za Blynk
{
int attiva = param.asInt ();
če (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
kovnica = "------------";
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, meta);
Blynk.virtualWrite (V12, največ);
Blynk.virtualWrite (V13, minuta);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Ponastavi");
zamuda (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
Niz currentTime = String (ura ()) + ":" + minuta ();
Niz currentDate = String (dan ()) + "/" + mesec ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Odčitavanje s senzorja DHT ni uspelo!");
led1.on ();
vrnitev;
}
drugače {
led1.off ();
}
če (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
če (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
if (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
če (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, meta);
Blynk.virtualWrite (V12, največ);
Blynk.virtualWrite (V13, minuta);
}
void calcolo_media () // postopek za registracijo medija
{
lettura [nume_Letture] = dht.readTemperature ();
if (isnan (lettura [nume_Letture])) {
led1.on ();
vrnitev;
}
// 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; // identifica primo passaggio dopo 48 letture (24or)
}
če (cc == 1) {
conteggio = 48; // DOPO le prime 24ore deli semper na 24ore (48mezzore)
}
drugače {
// medijska 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, kontekst);
}
void setup ()
{
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
}
void loop ()
{
Blynk.run ();
timer.run ();
dolg adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
če (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Priporočena:
DIY stativ pod koraki 1: 3 koraki
DIY stativ pod 1 USD: Ta pouk vas bo naučil, kako narediti fantastičen stativ pod 1 USD. Z uporabo samo gospodinjskih predmetov, kot je moka, lahko naredite fantastičen stativ, ki je še boljši od običajnega stojala, celo prenosnega … poskusite! najprej bi si moral ogledati video
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: 3 koraki
4G/5G HD video pretakanje v živo z DJI Drone z nizko zakasnitvijo [3 koraki]: Naslednji vodnik vam bo pomagal prenašati videoposnetke v visoki kakovosti HD v skoraj vseh DJI-jih. S pomočjo mobilne aplikacije FlytOS in spletne aplikacije FlytNow lahko začnete pretakati videoposnetke iz drona
4 koraki za merjenje notranje odpornosti baterije: 4 koraki
4 koraki za merjenje notranje odpornosti baterije: Tu so 4 preprosti koraki, ki vam lahko pomagajo izmeriti notranji upor baterije
Brezžični monitor pulzne frekvence s 4 koraki Duino-24: 4 koraki
Brezžični monitor pulzne frekvence s funkcijo 4Duino-24: Brezžični monitor pulzne frekvence je konceptualni projekt za bolnišnice in klinike, njegova glavna funkcija je skrajšati čas, ki ga medicinske sestre ali zdravniki potrebujejo za obisk vsakega bolnika v bolnišnici. Običajno zdravniki in medicinske sestre obiščejo vsakega pacienta, da preverijo
NAJLAKŠI NAČIN KOMPAKTNE LUČI !! 3 PREPROSTI KORAKI !!: 3 koraki
NAJLAKŠI NAČIN KOMPAKTNE LUČI !! 3 PREPROSTI KORAKI !!: Kaj potrebujete - kositrna folija 1 baterija AA (nekatere baterije AAA bodo delovale) 1 mini žarnica (žarnice se uporabljajo za večino svetilk; glejte sliko) Ravnilo (če je potrebno)