Sisukord:
Video: Birra_Monitor: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Projektiks on monitoraar la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). L'aggiunta del sensore di temperatura (DHT22) pakub monitoraalset temperatuuri ja umidità della stanza atta alla fermentazione. Questi andmed vengono gestiti da una a scheda nodemcu and visualizzati tramite Blynk app deputata all sviluppo di soluzioni IoT.
Projekti kasutatakse koduse õlle kääritamise jälgimiseks lihtsa vibratsioonianduri (SW-420 NC) abil. temperatuurianduri (DHT22) lisamine aitab jälgida käärimiseks sobiva ruumi temperatuuri ja niiskust. Neid andmeid haldab nodemcu -kaart ja neid visualiseeritakse rakenduse Blynk kaudu, mis on määratud IoT -lahenduste väljatöötamiseks.
Samm: pakendamine
Skeem ja aistingud jagunevad lihtsaks scatola di derivazione.
Tahvel ja andurid on paigutatud lihtsasse jaotuskarbi.
2. samm: andur tööl
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registreerumine delle vibrazioni che kasulikno visualizzate sull'app Blynk
mis juhtub, kui andur on mullijale "paigaldatud", et iga kord, kui CO2 on väljutatud, salvestab andur vibratsiooni, mis kuvatakse rakenduses Blynk
3. samm: kood
ilukoodeks permetteri jaoks
Terviku toimimist võimaldav kood on järgmine, millest piisab Arduino IDE tarkvara kaardile laadimiseks
#sisalda Adafruit_Sensor.h
#kaasa DHT.h
#define BLYNK_PRINT seeria
#include ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#kaasake SimpleTimer.h;
#include WidgetRTC.h;
float lettura [50]; // dimensione Arrayper media
int nume_Letture = 0; // progressive letture
float tot_Letture = 0; // somma letture
float media_Letture = 0; // meedia letture
int conteggio = 0; // variabile di conteggio primario
// inizio dichiarazioni variabili per media continua
int i = 0;
int cc = 0;
int togli = 0;
// trahvi dichiarazioni variabili per media continua
int val; // muutuja registreerimine 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
allkirjata pikk prima = 0; // utile swapi kohta min/max
pikk Tempmax = 660000; // utile swapi kohta min/max
ujuk tmax = -100; // impostazione impossibile per la temperatura massima
ujuk tmin = 100; // impostazione impossibile per il temperatura minimum
ujuk umax = 0; // impostazione impossibile per umidità massima
ujuk umin = 100; // impostazione impossibile per umidità minimum
Stringmaxt; // stringa visualizzata su Blynk
String piparmünt; // stringa visualizzata su Blynk
String maxu; // stringa visualizzata su Blynk
String minu; // stringa visualizzata su Blynk
char auth = a ° ° ° ° ° °; // //; // token Blynk
char ssid = "T ° ° ° ° ° °" "9"; // wifi
char pass = "O ° ° ° ° ° ° °" "; // psw
#define DHTPIN 2 // pin sensore DHT
#defineeri DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer taimer; // taimer
VidinRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutiin Blynk lähtestamiseks
{
int attiva = param.asInt ();
kui (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
piparmünt = "------------";
maxu = "------------";
minu = "------------";
meedia_kiri = 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, piparmünt);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Resetta");
viivitus (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normaalne protseduur di lettura
{
String currentTime = String (tund ()) + ":" + minut ();
String currentDate = String (päev ()) + "/" + kuu ();
ujuk h = dht.readHumidity ();
ujuk t = dht.readTemperature ();
kui (isnan (h) || isnan (t)) {
Serial.println ("DHT -andurilt ei õnnestunud lugeda!");
led1.on ();
tagasipöördumine;
}
muu {
led1.off ();
}
kui (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + praegune aeg + "-" + praegune kuupäev + ")";
}
kui (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
kui (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
kui (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, piparmünt);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
void calcolo_media () // protseduur andmete registreerimiseks
{
lettura [nume_Letture] = dht.readTemperature ();
if (isnan (lettura [nume_Letture])) {
led1.on ();
tagasipöördumine;
}
// protseduuriline meedia ringkäik
if (nume_Letture> = 48) {
togli = nume_Letture-48;
tot_Letture -= (lettura [togli]);
tot_Letture += (lettura [number_Letture]);
nume_Letture = 0; // setta a zero e riparte tutto
cc = 1; // identifika primo passaggio dopo 48 letture (24ore)
}
kui (cc == 1) {
conteggio = 48; // DOPO le prime 24ore divide semper per 24ore (48mezzore)
}
muu {
// meedia prima dello scadere delle 24ore
tot_Letture += (lettura [number_Letture]);
conteggio = conteggio+1;
}
media_Letture = tot_Letture/conteggio;
numbrite_kiri = numbrite_kiri+1;
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V1, conteggio);
}
tühine seadistus ()
{
Seriaalne algus (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
}
tühine tsükkel ()
{
Blynk.run ();
taimer.jooks ();
pikk adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
kui (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust