Satura rādītājs:

Birra_Monitor: 3 soļi
Birra_Monitor: 3 soļi

Video: Birra_Monitor: 3 soļi

Video: Birra_Monitor: 3 soļi
Video: Я провел 3 дня в дешевой общественной жилой площади Японии | Интернет-кафе 2024, Novembris
Anonim
Birra_Monitor
Birra_Monitor

Il progetto serve monitorare la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) kalpo monitora temperatūrai un 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.

Projektu izmanto, lai uzraudzītu mājās gatavota alus fermentāciju, izmantojot vienkāršu vibrācijas sensoru (SW-420 NC). temperatūras sensora (DHT22) pievienošana kalpo, lai uzraudzītu fermentācijai piemērotas telpas temperatūru un mitrumu. Šos datus pārvalda nodemcu karte un tie tiek vizualizēti, izmantojot lietotni Blynk, kas iecelta IoT risinājumu izstrādei.

1. solis: iepakošana

Iepakojums
Iepakojums
Iepakojums
Iepakojums

Shēmas un jutekliskie signāli tiek apvienoti vienā vienkāršā scatola di derivazione.

Dēlis un sensori ir ievietoti vienkāršā sadales kārbā.

2. solis: sensors darbā

Sensors darbā
Sensors darbā
Sensors darbā
Sensors darbā

quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registrerà delle vibrazioni che vajadzno visualizzate sull'app Blynk

kas notiek, kad sensors ir “uzstādīts” uz burbuļvannas, un ka katru reizi, kad tiek izvadīts CO2, sensors ierakstīs vibrācijas, kas tiks parādītas lietotnē Blynk

3. darbība: kods

kods permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE

kods, kas ļauj darboties kopumā, ir šāds, un ar to pietiks, lai kartē ielādētu Arduino IDE programmatūru

#iekļaut Adafruit_Sensor.h

#ieskaitot DHT.h

#define BLYNK_PRINT Seriāls

#iekļaut ESP8266WiFi.h;

#iekļaut BlynkSimpleEsp8266.h;

#iekļaut SimpleTimer.h;

#include WidgetRTC.h;

pludiņa lettura [50]; // dimensione Arrayper media

int nume_Letture = 0; // progressivo letture

pludiņš tot_Letture = 0; // somma letture

float media_Letture = 0; // mediju aizraušanās

int konteksts = 0; // mainīgais konteksta primārijs

// inizio dichiarazioni variabili per media continua

int i = 0;

int cc = 0;

int togli = 0;

// fine dichiarazioni variabili per media continua

int val; // mainīgais reģistrazione 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

neparakstīts garais prima = 0; // utile per swap min/max

garš Tempmax = 660000; // utile per swap min/max

pludiņš tmax = -100; // impostazione impossibile per la temperatura massima

pludiņš tmin = 100; // impostazione impossibile per il temperatura minimum

pludiņš umax = 0; // impostazione impossibile per umidità massima

pludiņš umin = 100; // impostazione impossibile per umidità minimum

Stīgu maxt; // stringa visualizzata su Blynk

Stīgu piparmētra; // stringa visualizzata su Blynk

Stīgu maxu; // stringa visualizzata su Blynk

Stīgu minu; // stringa visualizzata su Blynk

char auth = "a ° ° ° ° ° °" // //; // token Blynk

char ssid = "T ° ° ° ° ° °" "9"; //bezvadu internets

ogļu caurlaide = "O ° ° ° ° ° °" ""; // psw

#define DHTPIN 2 // pin sensore DHT

#define DHTTYPE DHT22

DHT dht (DHTPIN, DHTTYPE);

SimpleTimer taimeris; // taimeris

WidgetRTC rtc; // orologio di sistema Blynk

WidgetLED led1 (V15); // Led Blynk sul pin V15

BLYNK_CONNECTED () {

rtc.begin (); // avvio RTC

}

BLYNK_WRITE (V0) // rutīna, lai atiestatītu Blynk

{

int attiva = param.asInt ();

ja (attiva == 1) {

tmax = -100;

tmin = 100;

umax = 0;

umin = 100;

maxt = "------------";

piparmētra = "------------";

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, piparmētra);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

Blynk.virtualWrite (V1, conteggio);

Serial.println ("Atiestatīšana");

kavēšanās (200);

Blynk.virtualWrite (V0, LOW);

}

}

void sendSensor () // normale procedura di lettura

{

String currentTime = String (stunda ()) + ":" + minūte ();

String currentDate = Virkne (diena ()) + "/" + mēnesis ();

pludiņš h = dht.readHumidity ();

pludiņš t = dht.readTemperature ();

ja (isnan (h) || isnan (t)) {

Serial.println ("Neizdevās nolasīt no DHT sensora!");

led1.on ();

atgriešanās;

}

cits {

led1.off ();

}

ja (t> tmax) {

tmax = t;

maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";

}

ja (t <tmin) {

tmin = t;

piparmētra = String (t) + "° C (" + currentTime + "-" + currentDate + ")";

}

ja (h> umax) {

umax = h;

maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";

}

ja (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ētra);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

}

void calcolo_media () // procedūra par reģistrācijas datu nesējiem

{

lettura [nume_Letture] = dht.readTemperature ();

ja (isnan (lettura [nume_Letture])) {

led1.on ();

atgriešanās;

}

// procedura media circolare

ja (nume_Letture> = 48) {

togli = nume_Letture-48;

tot_Letture -= (lettura [togli]);

tot_Letture += (lettura [numura_valoda]);

nume_Letture = 0; // setta a zero e riparte tutto

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

}

ja (cc == 1) {

conteggio = 48; // DOPO le prime 24ore divide semper per 24ore (48mezzore)

}

cits {

// media prima dello scadere delle 24ore

tot_Letture += (lettura [numura_valoda]);

conteggio = conteggio+1;

}

media_Letture = tot_Letture/conteggio;

numu_Latture = nume_Letture+1;

Blynk.virtualWrite (V8, media_Letture);

Blynk.virtualWrite (V1, conteggio);

}

anulēts iestatījums ()

{

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

}

tukša cilpa ()

{

Blynk.run ();

taimeris.run ();

garais adesso = milis ();

val = digitalRead (vibr_pin);

vb = vb+val;

ja (adesso - prima> = Tempmax)

{

vb = 0;

vbinit = vb;

prima = adesso;

}

Ieteicams: