Përmbajtje:
Video: Birra_Monitor: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Progetto të shërbejë për një monitorim të fermentazione della birra fatta në casa tramite un semplice sensore di vibrazione (SW-420 NC). L'aggiunta del sensore di temperatura (DHT22) shërbejnë një temperaturë monitorare dhe umidità della stanza atta alla fermentazione. Kërkoni të dhëna të shpejta për të përcaktuar një pamje dhe vizualizim të tramiteve të aplikacionit Blynk, të cilat mund të përdoren vetëm në IoT.
Projekti përdoret për të monitoruar fermentimin e birrës së bërë në shtëpi duke përdorur një sensor të thjeshtë dridhjeje (SW-420 NC). shtimi i sensorit të temperaturës (DHT22) shërben për të monitoruar temperaturën dhe lagështinë e dhomës të përshtatshme për fermentim. Këto të dhëna menaxhohen nga një kartë nodemcu dhe vizualizohen përmes aplikacionit Blynk të caktuar për të zhvilluar zgjidhje IoT.
Hapi 1: Paketimi
Scheda e sensori sono alloggiate në una semplice scatola di derivazione.
Bordi dhe sensorët janë vendosur në një kuti të thjeshtë bashkimi.
Hapi 2: Sensori në punë
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registrerà delle vibrazioni che verranno visualizzate sull'app Blynk
çfarë ndodh kur sensori "montohet" në flluskë, sa herë që CO2 nxirret, sensori do të regjistrojë dridhjet që do të shfaqen në aplikacionin Blynk
Hapi 3: Kodi
il codice per pertetere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE
kodi për të lejuar funksionimin e tërësisë është si më poshtë që do të jetë i mjaftueshëm për të ngarkuar në kartë softuerin Arduino IDE
#përfshi Adafruit_Sensor.h
#përfshi DHT.h
#define BLYNK_PRINT Serial
#përfshi ESP8266WiFi.h;
#përfshi BlynkSimpleEsp8266.h;
#përfshijë SimpleTimer.h;
#përfshi WidgetRTC.h;
noton lettura [50]; // dimensione Media arrayper
int nume_Letture = 0; // letër e përparuar
noton tot_Letture = 0; // marma letre
float media_Letture = 0; // letra letre
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; // varrazibile 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
prima e gjatë e panënshkruar = 0; // i dobishëm për shkëmbim min/max
Tempmax e gjatë = 660000; // i dobishëm për shkëmbim min/max
noton tmax = -100; // impostazione e pamundur per la temperatura massima
noton tmin = 100; // impostazione e pamundur për temperaturën minimale
float umax = 0; // impostazione e pamundur për umidità massima
noton umin = 100; // impostazione e pamundur për umidità minima
Varg maxt; // stringa visualizzata su Blynk
Nenexhik me fije; // stringa visualizzata su Blynk
Stringu maxu; // stringa visualizzata su Blynk
Vargu minu; // stringa visualizzata su Blynk
char author = "a °°°(char ssid = "T °°°(// wifi
kalimi i karbonit = O °°°(// psw
#define DHTPIN 2 // pin sensore DHT
#përcaktoni DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
Kohëmatësi SimpleTimer; // kohëmatësi
WidgetRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.filloj (); // avvio RTC
}
BLYNK_WRITE (V0) // rutinë për rivendosjen e shijes së Blynk
{
int attiva = param.asInt ();
nëse (ativa == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
nenexhik = "------------";
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, nenexhik);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Resetta");
vonesë (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
String currentTime = String (orë ()) + ":" + minutë ();
String currentDate = String (ditë ()) + "/" + muaj ();
noton h = dht.readHumidity ();
noton t = dht.readTemperatura ();
nëse (isnan (h) || isnan (t)) {
Serial.println ("Leximi i lexuar nga sensori DHT!");
led1.on ();
kthim;
}
tjeter {
led1.off ();
}
nëse (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
nëse (t <tmin) {
tmin = t;
nenexhik = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
nëse (h> umax) {
umax = h;
maxu = String (h) + "% (" + CurrentTime + "-" + currentDate + ")";
}
nëse (h <umin) {
umin = h;
minu = String (h) + "% (" + CurrentTime + "-" + dateDate + ")";
}
Blynk.virtualWrite (V5, h);
Blynk.virtualWrite (V6, t);
Blynk.virtualWrite (V7, vb);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, nenexhik);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
void calcolo_media () // procedura për regjistrimin e të dhënave media
{
lettura [nume_Letture] = dht.readTemperature ();
nëse (isnan (lettura [nume_Letture])) {
led1.on ();
kthim;
}
// qarkullimi i procedurës mediatike
nëse (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 marule (24ore)
}
nëse (cc == 1) {
conteggio = 48; // DOPO le prime 24ore semprere ndarëse për 24ore (48mezzore)
}
tjeter {
// media prima dello scadere delle 24ore
tot_Letture += (lettura [nume_Letture]);
conteggio = kontegjio+1;
}
media_Letture = tot_Letture/conteggio;
nume_Letture = nume_Letture+1;
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V1, conteggio);
}
void setup ()
{
Serial.filloj (115200);
Blynk.begin (auth, ssid, pass);
dht.filloj ();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 min
timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30min
}
lak void ()
{
Blynk.run ();
timer.run ();
adesso e gjatë = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
nëse (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Recommended:
Si të bëni 4G LTE Antenë të BiQuade të Dyfishtë Hapa të Lehtë: 3 Hapa
Si të bëni 4G LTE Antenë BiQuade të Dyfishtë Hapa të Lehtë: Shumicën e kohës me të cilën jam përballur, nuk kam forcë të mirë të sinjalit në punët e mia të përditshme. Kështu që. Kërkoj dhe provoj lloje të ndryshme antenash por nuk funksionoj. Pas humbjes së kohës gjeta një antenë që shpresoj ta bëj dhe ta provoj, sepse është parimi i ndërtimit jo
Dizajni i lojës në lëvizje në 5 hapa: 5 hapa
Dizajni i lojës në Flick në 5 hapa: Flick është një mënyrë vërtet e thjeshtë për të bërë një lojë, veçanërisht diçka si një enigmë, roman vizual ose lojë aventure
Zbulimi i fytyrës në Raspberry Pi 4B në 3 hapa: 3 hapa
Zbulimi i fytyrës në Raspberry Pi 4B në 3 hapa: Në këtë Instructable ne do të bëjmë zbulimin e fytyrës në Raspberry Pi 4 me Shunya O/S duke përdorur Bibliotekën Shunyaface. Shunyaface është një bibliotekë për njohjen/zbulimin e fytyrës. Projekti synon të arrijë shpejtësinë më të shpejtë të zbulimit dhe njohjes me
Pasqyrë DIY Vanity në hapa të thjeshtë (duke përdorur dritat LED të shiritit): 4 hapa
DIY Vanity Mirror në hapa të thjeshtë (duke përdorur dritat e shiritit LED): Në këtë postim, unë bëra një DIY Vanity Mirror me ndihmën e shiritave LED. Reallyshtë vërtet e lezetshme dhe duhet t'i provoni gjithashtu
Qëndrim për laptopë me 3 hapa dhe 3 hapa (me syze leximi dhe tabaka me stilolaps): 5 hapa
Qëndrim për laptopë me hapa 3 & 3 hapa (me syze leximi dhe tabaka për stilolapsa): Kjo $ 3 & Qëndrimi i laptopit me 3 hapa mund të bëhet brenda 5 minutave. It'sshtë shumë e fortë, me peshë të lehtë dhe mund të paloset për ta marrë kudo që të shkoni