সুচিপত্র:

Birra_Monitor: 3 ধাপ
Birra_Monitor: 3 ধাপ

ভিডিও: Birra_Monitor: 3 ধাপ

ভিডিও: Birra_Monitor: 3 ধাপ
ভিডিও: How to use your Air Lift 3P/3H Controller 2024, জুলাই
Anonim
বিররা_ মনিটর
বিররা_ মনিটর

Il progetto পরিবেশন করা হয় একটি monitorare la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC)। l'aggiunta del sensore di temperatura (DHT22) একটি মনিটোর টেম্প্রেটুরা e 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।

প্রকল্পটি একটি সাধারণ কম্পন সেন্সর (SW-420 NC) ব্যবহার করে বাড়িতে তৈরি বিয়ারের গাঁজন পর্যবেক্ষণ করতে ব্যবহৃত হয়। তাপমাত্রা সেন্সর (DHT22) এর সংযোজন ঘরের তাপমাত্রা এবং আর্দ্রতা নিরীক্ষণের জন্য কাজ করে। এই ডেটা একটি নোডেমকু কার্ড দ্বারা পরিচালিত হয় এবং IoT সমাধানগুলি বিকাশের জন্য নিযুক্ত Blynk অ্যাপের মাধ্যমে দৃশ্যমান হয়।

ধাপ 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 কোড প্রতি permettere 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;

#অন্তর্ভুক্ত BlynkSimpleEsp8266.h;

#অন্তর্ভুক্ত SimpleTimer.h;

#WidgetRTC.h অন্তর্ভুক্ত করুন;

ভাসমান লেটুরা [50]; // মাত্রা অ্যারেপার মিডিয়া

int nume_Letture = 0; // প্রগতিশীল লেটচার

float tot_Letture = 0; // somma লেটচার

float media_Letture = 0; // মিডিয়া লেটচার

int conteggio = 0; // variabile di conteggio primario

// inizio dichiarazioni variabili per media continuea

int i = 0;

int cc = 0;

int togli = 0;

// মিডিয়া ধারাবাহিকভাবে সূক্ষ্ম dichiarazioni variabili

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

স্বাক্ষরবিহীন দীর্ঘ প্রাইমা = 0; // ইউটাইল প্রতি সোয়াপ মিনিট/সর্বোচ্চ

দীর্ঘ টেম্পম্যাক্স = 660000; // ইউটিলাইজ প্রতি সোয়াপ মিনিট/সর্বোচ্চ

ভাসা tmax = -100; // impostazione impossibile per la temperatura massima

ভাসমান tmin = 100; // impostazione impossibile per il temperatura minima

ভাসমান umax = 0; // impostazione অসম্ভব প্রতি umidità massima

ভাসমান উমিন = 100; // impostazione অসম্ভব প্রতি umidità minima

স্ট্রিং ম্যাক্সট; // stringa visualizzata su Blynk

স্ট্রিং পুদিনা; // stringa visualizzata su Blynk

স্ট্রিং ম্যাক্সু; // stringa visualizzata su Blynk

স্ট্রিং মিনু; // stringa visualizzata su Blynk

char auth = "a -d"; // টোকেন ব্লিন্ক

char ssid = "T -9"; //ওয়াইফাই

চার পাস = "ও -আর"; // psw

#ডিএইচটিপিন 2 সংজ্ঞায়িত করুন // পিন সেন্সর ডিএইচটি

#DHTTYPE DHT22 নির্ধারণ করুন

DHT dht (DHTPIN, DHTTYPE);

সিম্পল টাইমার টাইমার; // টাইমার

উইজেটআরটিসি আরটিসি; // orologio di systemema Blynk

উইজেট LED LED1 (V15); // LED Blynk sul pin V15

BLYNK_CONNECTED () {

rtc.begin (); // avvio RTC

}

BLYNK_WRITE (V0) // রুটিন প্রতি tasto রিসেট da Blynk

{

int attiva = param.asInt ();

যদি (attiva == 1) {

tmax = -100;

tmin = 100;

umax = 0;

উমিন = 100;

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

পুদিনা = "------------";

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

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

media_Letture = 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 ("Resetta");

বিলম্ব (200);

Blynk.virtualWrite (V0, LOW);

}

}

অকার্যকর সেন্ডসেন্সর () // নরমাল প্রসেসুরা ডি লেটুরা

{

স্ট্রিং currentTime = স্ট্রিং (ঘন্টা ()) + ":" + মিনিট ();

স্ট্রিং currentDate = স্ট্রিং (দিন ()) + "/" + মাস ();

ভাসা h = dht.readHumidity ();

float t = dht.readTemperature ();

যদি (isnan (h) || isnan (t)) {

Serial.println ("DHT সেন্সর থেকে পড়তে ব্যর্থ!");

led1.on ();

প্রত্যাবর্তন;

}

অন্য {

led1.off ();

}

যদি (t> tmax) {

tmax = t;

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

}

যদি (t <tmin) {

tmin = t;

পুদিনা = স্ট্রিং (টি) + "C (" + বর্তমান সময় + "-" + বর্তমান তারিখ + ")";

}

যদি (h> umax) {

umax = h;

maxu = স্ট্রিং (h) + "% (" + currentTime + "-" + currentDate + ")";

}

যদি (h <umin) {

উমিন = জ;

minu = স্ট্রিং (h) + "% (" + currentTime + "-" + currentDate + ")";

}

Blynk.virtualWrite (V5, h);

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 () // পদ্ধতি প্রতি রেজিস্ট্রেশন ডেটি মিডিয়া

{

লেটুরা [সংখ্যাসূচক] = dht.readTemperature ();

if (isnan (lettura [nume_Letture]) {{

led1.on ();

প্রত্যাবর্তন;

}

// প্রসেসুরা মিডিয়া সার্কোলার

যদি (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 letture (24ore)

}

যদি (cc == 1) {

কনটেজিও = 48; // ডোপো লে প্রাইম 24ore ডিভাইড সেম্পার প্রতি 24ore (48mezzore)

}

অন্য {

// মিডিয়া প্রাইমা ডেলো স্ক্যাডারে দেলে 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 (auth, ssid, pass);

dht.begin ();

timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 মিনিট

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

}

অকার্যকর লুপ ()

{

Blynk.run ();

timer.run ();

দীর্ঘ adesso = মিলিস ();

val = digitalRead (vibr_pin);

vb = vb+val;

যদি (adesso - prima> = Tempmax)

{

vb = 0;

vbinit = vb;

prima = adesso;

}

প্রস্তাবিত: