Obsah:

Birra_Monitor: 3 kroky
Birra_Monitor: 3 kroky

Video: Birra_Monitor: 3 kroky

Video: Birra_Monitor: 3 kroky
Video: Мне стыдно 3. Шоу постыдных историй. В гостях Бека Easy, Асхат Ибитанов и Биржан Кабылбаев 2024, Júl
Anonim
Birra_Monitor
Birra_Monitor

Naše služby budú slúžiť na monitorovanie fermentácie v dôsledku silného vibrácie (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) slúži na monitorovanie teploty a umocnenia delta stanza atta alla fermentazione. Nájdete tu všetky dôležité informácie o procese zobrazovania a zobrazovania aplikácií Blynk, ktoré sú k dispozícii pre všetky aplikácie IoT.

Projekt slúži na monitorovanie kvasenia domáceho piva pomocou jednoduchého senzora vibrácií (SW-420 NC). pridanie teplotného senzora (DHT22) slúži na monitorovanie teploty a vlhkosti miestnosti vhodnej na kvasenie. Tieto údaje sú spravované kartou nodemcu a vizualizované prostredníctvom aplikácie Blynk určenej na vývoj riešení IoT.

Krok 1: Balenie

Balenie
Balenie
Balenie
Balenie

Všetky sonografické sondy sú zaradené v zozname derivátov.

Doska a senzory sú umiestnené v jednoduchej spojovacej skrinke.

Krok 2: Senzor pri práci

Senzor pri práci
Senzor pri práci
Senzor pri práci
Senzor pri práci

čo sa týka úspechu, montáže a montáže gorgogliatorov, ktoré môžu mať za následok zníženie emisií CO2, zaregistrujú sa všetky vibrácie a verná vizualizácia bude dostupná Blynk

čo sa stane, keď je senzor „namontovaný“na prebublávač, že zakaždým, keď sa vylúči CO2, senzor zaznamená vibrácie, ktoré sa zobrazia v aplikácii Blynk

Krok 3: Kód

všetky kódy pre zábavu, základné funkcie a softvér pre najväčšiu možnú softvérovú chybu Arduino IDE

kód umožňujúci fungovanie celku je nasledujúci, ktorý bude stačiť na načítanie softvéru Arduino IDE na kartu

#include Adafruit_Sensor.h

#include DHT.h

#define BLYNK_PRINT Sériové číslo

#include ESP8266WiFi.h;

#include BlynkSimpleEsp8266.h;

#include SimpleTimer.h;

#include WidgetRTC.h;

float lettura [50]; // dimenzia Arrayper media

int nume_Letture = 0; // progresívna letture

float tot_Letture = 0; // somma letture

float media_Letture = 0; // mediálna poukážka

int conteggio = 0; // variabile di conteggio primario

// rôzne dichiarazioni variácie podľa mediálneho kontinua

int i = 0;

int cc = 0;

int togli = 0;

// jemné dichiarazioni variabili per media continua

int val; // variabilný 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

nepodpísaná dlhá prima = 0; // utilita na swap min/max

dlhá teplota = 660000; // utilita na swap min/max

plavák tmax = -100; // impostazione nemožné podľa la temperatura massima

float tmin = 100; // impostazione nemožné podľa minimálnej teploty

float umax = 0; // impostazione nemožné pre maximálnu hmotnosť

float umin = 100; // impostazione nemožné za minimálne množstvo

Reťazec maxt; // stringa visualizzata su Blynk

Reťazec mäty; // stringa visualizzata su Blynk

Reťazec maxu; // stringa visualizzata su Blynk

Sláčikové minúty; // stringa visualizzata su Blynk

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

char ssid = "T °°°°°°°°°°°°°°° 9"; // wifi

char pass = "O °°°°°°°°°°°°°°° R"; // psw

#define DHTPIN 2 // pinový senzor DHT

#define DHTTYPE DHT22

DHT dht (DHTPIN, DHTTYPE);

Časovač SimpleTimer; // časovač

WidgetRTC rtc; // orologio di sistema Blynk

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

BLYNK_CONNECTED () {

rtc.begin (); // avvio RTC

}

BLYNK_WRITE (V0) // rutina na obnovenie nastavenia da Blynk

{

int attiva = param.asInt ();

ak (attiva == 1) {

tmax = -100;

tmin = 100;

umax = 0;

umin = 100;

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

mäta = "------------";

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äta);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

Blynk.virtualWrite (V1, conteggio);

Serial.println („Resetta“);

oneskorenie (200);

Blynk.virtualWrite (V0, LOW);

}

}

void sendSensor () // normalne procedura di lettura

{

Reťazec currentTime = Reťazec (hodina ()) + ":" + minúta ();

Reťazec currentDate = Reťazec (deň ()) + "/" + mesiac ();

float h = dht.readHumidity ();

float t = dht.readTemperature ();

if (isnan (h) || isnan (t)) {

Serial.println ("Nepodarilo sa prečítať zo senzora DHT!");

led1.on ();

návrat;

}

inak {

led1.off ();

}

ak (t> tmax) {

tmax = t;

maxt = Reťazec (t) + "° C (" + aktuálny čas + "-" + aktuálny dátum + ")";

}

if (t <tmin) {

tmin = t;

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

}

if (h> umax) {

umax = h;

maxu = Reťazec (h) + "% (" + currentTime + "-" + currentDate + ")";

}

if (h <umin) {

umin = h;

minu = Reťazec (h) + "% (" + currentTime + "-" + currentDate + ")";

}

Blynk.virtualWrite (V5, h);

Blynk.virtualWrite (V6, t);

Blynk.virtualWrite (V7, vb);

Blynk.virtualWrite (V10, maxt);

Blynk.virtualWrite (V11, mäta);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

}

neplatné calcolo_media () // postup pre registráciu rôznych médií

{

lettura [nume_Letture] = dht.readTemperature ();

if (isnan (lettura [nume_Letture])) {

led1.on ();

návrat;

}

// procedura media circolare

if (nume_Letture> = 48) {

togli = nume_Letture-48;

tot_Letture -= (lettura [togli]);

tot_Letture += (lettura [nume_Letture]);

nume_Letture = 0; // nastavte nulové tutoriál

cc = 1; // identifikácia primo passaggio dopo 48 letture (24ore)

}

ak (cc == 1) {

conteggio = 48; // DOPO le prime 24ore delenie semper na 24ore (48mezzore)

}

inak {

// mediálne primárne delchované sťahovanie 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);

}

neplatné nastavenie ()

{

Serial.begin (115200);

Blynk.begin (auth, ssid, pass);

dht.begin ();

timer.setInterval (10 000, sendSensor); // lettura temperatura umidità ogni 5 min

timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30min

}

prázdna slučka ()

{

Blynk.run ();

timer.run ();

dlhé adesso = millis ();

val = digitalRead (vibr_pin);

vb = vb+val;

if (adesso - prima> = Tempmax)

{

vb = 0;

vbinit = vb;

prima = adesso;

}

Odporúča: