Სარჩევი:

Birra_Monitor: 3 ნაბიჯი
Birra_Monitor: 3 ნაბიჯი

ვიდეო: Birra_Monitor: 3 ნაბიჯი

ვიდეო: Birra_Monitor: 3 ნაბიჯი
ვიდეო: Мне стыдно 3. Шоу постыдных историй. В гостях Бека Easy, Асхат Ибитанов и Биржан Кабылбаев 2024, ივლისი
Anonim
ბირრა_მონიტორი
ბირრა_მონიტორი

მე შემიძლია მოვახდინო მონიტორინგი ფერმენტაციონიდან della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) ემსახურება მონიტორინგულ ტემპერატურას და ემცირება della stanza atta alla fermentazione. Questi dati vengono gestiti da una scheda nodemcu e visualizzati tramite Blynk app deputata allo sviluppo di soluzioni IoT.

პროექტი გამოიყენება ხელნაკეთი ლუდის დუღილის მონიტორინგისთვის მარტივი ვიბრაციის სენსორის გამოყენებით (SW-420 NC). ტემპერატურის სენსორის დამატება (DHT22) ემსახურება დუღილისთვის შესაფერისი ოთახის ტემპერატურისა და ტენიანობის მონიტორინგს. ეს მონაცემები მართულია nodemcu ბარათის საშუალებით და ვიზუალიზდება Blynk აპლიკაციის საშუალებით, რომელიც დანიშნულია IoT გადაწყვეტილებების შემუშავებისთვის.

ნაბიჯი 1: შეფუთვა

შეფუთვა
შეფუთვა
შეფუთვა
შეფუთვა

Scheda e sensori sono alloggiate in una semplice scatola di derivazione.

დაფა და სენსორები მოთავსებულია უბრალო გადასატან ყუთში.

ნაბიჯი 2: სენსორი სამსახურში

სენსორი სამსახურში
სენსორი სამსახურში
სენსორი სამსახურში
სენსორი სამსახურში

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

რა ხდება, როდესაც სენსორი "დამონტაჟებულია" ბუშტუკზე, რომ ყოველ ჯერზე CO2 გამოდევნისას სენსორი ჩაწერს ვიბრაციებს, რომლებიც ნაჩვენები იქნება ბლინკის აპლიკაციაში

ნაბიჯი 3: კოდი

il codice per pertetere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE

კოდი, რომელიც მთლიანი ფუნქციონირების საშუალებას იძლევა, არის შემდეგი, რაც საკმარისი იქნება ბარათზე Arduino IDE პროგრამული უზრუნველყოფის ჩასატვირთად

#მოიცავს Adafruit_Sensor.h

#მოიცავს DHT.h

#განსაზღვრეთ BLYNK_PRINT სერიალი

#მოიცავს ESP8266WiFi.h;

#ჩართეთ ბლინკ მარტივი SimpleEsp8266.h;

#მოიცავს SimpleTimer.h;

#მოიცავს ვიჯეტის RTC.h;

float lettura [50]; // dimensione Arrayper მედია

int nume_Letture = 0; // progressivo სალათი

float tot_Letture = 0; // somma letture

float media_Letture = 0; // მედია სალათი

int conteggio = 0; // variabile di conteggio primario

// inizio dichiarazioni variabili per media Continua

int i = 0;

int cc = 0;

int ტოგლი = 0;

// ჯარიმა dichiarazioni variabili per media continua

int val; // ცვალებადი რეგისტრაციის ვიბრაციონი

int vibr_pin = 5; // Piedino x Sensore di Vibrazione D1

int vb = 0; // ინიციალიზო vb a 0

int vbr = 0; // ინიციალიზო vb a 0

int vbinit = 0; // ინიციაცილო ვბინიტი a 0

ხელმოუწერელი გრძელი პრიმა = 0; // უტილიტი ერთ გაცვლაზე min/max

გრძელი ტემპმაქსი = 660000; // უტილიტი ერთ გაცვლაზე min/max

float tmax = -100; // impostazione impossibile per la temperatura massima

float tmin = 100; // impostazione impossibile per il temperatura minima

float umax = 0; // impostazione impossibile per umidità massima

float umin = 100; // impostazione impossibile per umidità minima

სიმებიანი ტექსტი; // stringa visualizzata su Blynk

სიმებიანი პიტნა; // stringa visualizzata su Blynk

სიმებიანი maxu; // stringa visualizzata su Blynk

სიმებიანი მინუ; // stringa visualizzata su Blynk

ჩარტ ავტორი = "a °°°(char ssid = "T ° ° ° ° ° 9" 9 "; //ვაი - ფაი

char pass = O °°°(// psw

#განსაზღვრეთ DHTPIN 2 // pin sensore DHT

#განსაზღვრეთ DHTTYPE DHT22

DHT dht (DHTPIN, DHTTYPE);

SimpleTimer ქრონომეტრი; // ტაიმერი

WidgetRTC rtc; // orologio di sistema ბლინკი

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

BLYNK_CONNECTED () {

rtc.begin (); // avvio RTC

}

BLYNK_WRITE (V0) // რუტინა ბლინკის გემოვნებით გადატვირთვისთვის

{

int attiva = param.asInt ();

თუ (ატივა == 1) {

tmax = -100;

tmin = 100;

უმაქსი = 0;

umin = 100;

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

პიტნა = "------------";

maxu = "------------";

minu = "------------";

მედია_ლეტურა = 0;

tot_Letture = 0;

nume_Letture = 0;

კონტეჯიო = 0;

cc = 0;

სერიული.პრინტლნი (კონტეჯიო);

Blynk.virtualWrite (V8, media_Letture);

Blynk.virtualWrite (V10, maxt);

Blynk.virtualWrite (V11, პიტნა);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

Blynk.virtualWrite (V1, conteggio);

Serial.println ("რესეტი");

დაგვიანება (200);

Blynk.virtualWrite (V0, LOW);

}

}

void sendSensor () // normale procedura di lettura

{

სიმებიანი currentTime = სიმებიანი (საათი ()) + ":" + წუთი ();

სიმებიანი currentDate = სიმებიანი (დღე ()) + "/" + თვე ();

float h = dht.readHumidity ();

float t = dht.readTemperature ();

თუ (ისნანი (თ) || ისნანი (ტ)) {

Serial.println ("DHT სენსორიდან წაკითხვა ვერ მოხერხდა!");

led1.on ();

დაბრუნების;

}

სხვა {

led1.off ();

}

თუ (t> tmax) {

tmax = t;

maxt = სიმებიანი (t) + "° C (" + currentTime + "-" + currentDate + ")";

}

თუ (t <tmin) {

tmin = t;

პიტნა = სიმებიანი (t) + "° C (" + currentTime + "-" + currentDate + ")";

}

თუ (h> umax) {

უმაქსი = თ;

maxu = სიმებიანი (თ) + "% (" + მიმდინარე დრო + "-" + მიმდინარე თარიღი + ")";

}

თუ (h <umin) {

umin = h;

minu = სიმებიანი (თ) + "% (" + მიმდინარე დრო + "-" + მიმდინარე თარიღი + ")";

}

Blynk.virtualWrite (V5, თ);

Blynk.virtualWrite (V6, t);

Blynk.virtualWrite (V7, vb);

Blynk.virtualWrite (V10, maxt);

Blynk.virtualWrite (V11, პიტნა);

Blynk.virtualWrite (V12, maxu);

Blynk.virtualWrite (V13, minu);

}

ბათილი calcolo_media () // პროცედურა რეგისტრაციის მონაცემების მედიაზე

{

lettura [nume_Letture] = dht.readTemperature ();

თუ (ისნანი (lettura [nume_Letture]))) {

led1.on ();

დაბრუნების;

}

// procedura media circolare

თუ (nume_Letture> = 48) {

ტოგლი = 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 სალათი (24ore)

}

თუ (cc == 1) {

კონტეჯიო = 48; // DOPO le prime 24ore გაყოფა sempre per 24ore (48mezzore)

}

სხვა {

// მედია prima dello scadere delle 24ore

tot_Letture += (lettura [nume_Letture]);

კონტეგიო = კონტეგიო+1;

}

media_Letture = tot_Letture/conteggio;

nume_Letture = nume_Letture+1;

Blynk.virtualWrite (V8, media_Letture);

Blynk.virtualWrite (V1, conteggio);

}

ბათილად დაყენება ()

{

Serial.begin (115200);

Blynk.begin (author, ssid, pass);

dht. დაწყება ();

timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 წთ

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

}

ბათილი მარყუჟი ()

{

Blynk.run ();

timer.run ();

ხანგრძლივი adesso = millis ();

val = digitalRead (vibr_pin);

vb = vb+val;

if (adesso - prima> = Tempmax)

{

vb = 0;

vbinit = vb;

პრიმა = ადესო;

}

გირჩევთ: