সুচিপত্র:
ভিডিও: Birra_Monitor: 3 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
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;
}
প্রস্তাবিত:
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ: 3 ধাপ
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ তৈরি করতে হয়: বেশিরভাগ সময় আমি মুখোমুখি হয়েছি, আমার প্রতিদিনের কাজের জন্য আমার ভাল সংকেত শক্তি নেই। তাই। আমি বিভিন্ন ধরণের অ্যান্টেনা অনুসন্ধান করি এবং চেষ্টা করি কিন্তু কাজ করি না। নষ্ট সময়ের পরে আমি একটি অ্যান্টেনা খুঁজে পেয়েছি যা আমি তৈরি এবং পরীক্ষা করার আশা করি, কারণ এটি নির্মাণের নীতি নয়
Arduino Halloween Edition - Zombies Pop -out Screen (ছবি সহ ধাপ): 6 টি ধাপ
আরডুইনো হ্যালোইন সংস্করণ - জম্বি পপ -আউট স্ক্রিন (ছবি সহ ধাপ): আপনার বন্ধুদের ভয় দেখাতে চান এবং হ্যালোইনে কিছু চিৎকারের শব্দ করতে চান? অথবা শুধু কিছু ভাল কৌতুক করতে চান? এই Zombies পপ আউট পর্দা যে করতে পারেন! এই নির্দেশনায় আমি আপনাকে শেখাবো কিভাবে সহজেই আরডুইনো ব্যবহার করে লাফ দিয়ে জম্বি তৈরি করতে হয়। HC-SR0
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): 8 টি ধাপ
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): অতিস্বনক শব্দ ট্রান্সডুসার L298N Dc মহিলা অ্যাডাপ্টার একটি পুরুষ ডিসি পিন Arduino UNO ব্রেডবোর্ড দিয়ে কিভাবে এটি কাজ করে: প্রথমে, আপনি Arduino Uno এ কোড আপলোড করুন (এটি ডিজিটাল সজ্জিত একটি মাইক্রোকন্ট্রোলার এবং এনালগ পোর্ট কোড রূপান্তর করতে (C ++)
11 ধাপ রুবে গোল্ডবার্গ মেশিন: 8 টি ধাপ
11 স্টেপ রুবে গোল্ডবার্গ মেশিন: এই প্রজেক্টটি একটি 11 স্টেপ রুবে গোল্ডবার্গ মেশিন, যা একটি জটিল পদ্ধতিতে একটি সহজ কাজ তৈরি করার জন্য ডিজাইন করা হয়েছে। এই প্রকল্পের কাজ হল সাবানের বার ধরা
গুরুত্বপূর্ণ হাত ধোয়ার ধাপ শেখানোর মেশিন: 5 টি ধাপ
ক্রিটিক্যাল হ্যান্ড ওয়াশিং স্টেপ টিচিং মেশিন: এটি এমন একটি মেশিন যা ব্যবহারকারীকে তার হাত ধোয়ার সময় ধাপগুলো সম্পর্কে মনে করিয়ে দেয়। মহামারী বা মহামারী প্রতিরোধের সময়