جدول المحتويات:
فيديو: Birra_Monitor: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
يقدم Il progetto جهاز مراقبة la fermentazione della birra fatta في casa tramite un semplice sensore di vibrazione (SW-420 NC). تخدم l'aggiunta del sensore di tematura (DHT22) جهاز مراقبة درجة الحرارة وأوميديتا ديلا ستانزا آلا ألا فيرمنتازيوني. 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 المعين لتطوير حلول إنترنت الأشياء.
الخطوة 1: التعبئة والتغليف
Scheda e sensi sono alloggiate in una semplice scatola di derivazione.
توجد اللوحة وأجهزة الاستشعار في صندوق تقاطع بسيط.
الخطوة الثانية: الاستشعار في العمل
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
ماذا يحدث عندما يتم "تثبيت" المستشعر على الفقاعة بحيث أنه في كل مرة يتم فيها طرد ثاني أكسيد الكربون ، سيسجل المستشعر الاهتزازات التي سيتم عرضها على تطبيق Blynk
الخطوة 3: الكود
الكود لكل فترة زمنية ، برنامج Arduino IDE
الكود الذي يسمح بتشغيل الكل هو التالي الذي سيكون كافيًا لتحميل برنامج Arduino IDE على البطاقة
# تضمين Adafruit_Sensor.h
# تضمين DHT.h
#define BLYNK_PRINT المسلسل
# تضمين ESP8266WiFi.h ؛
# تضمين BlynkSimpleEsp8266.h ؛
# تضمين SimpleTimer.h ؛
# تضمين القطعة RTC.h ؛
تعويم lettura [50] ؛ // أبعاد صفيف الوسائط
عدد int nume_Letture = 0 ؛ // Progressivo letture
تعويم tot_Letture = 0 ؛ // السوما ليتشر
تعويم media_Letture = 0 ؛ // إعلامي
int conteggio = 0 ؛ // varabile di conteggio primario
// inizio dichiarazioni variabili لكل وسائط مستمرة
كثافة العمليات أنا = 0 ؛
int cc = 0 ؛
int togli = 0 ؛
// متغيرات dichiarazioni الدقيقة لكل وسائط مستمرة
int فال؛ // varabile registrazione vibrazione
كثافة العمليات 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 أ 0
بريما طويل بدون توقيع = 0 ؛ // فائدة لكل مقايضة min / max
طويل Tempmax = 660000 ؛ // فائدة لكل مقايضة min / max
تعويم tmax = -100 ؛ // impostazione impossibile per la temperatura massima
تعويم tmin = 100 ؛ // impostazione مستحيل لكل درجة حرارة دنيا
تعويم umax = 0 ؛ // impostazione impossibile per umidità massima
تعويم umin = 100 ؛ // impostazione impossibile per umidità minima
سلسلة ماكست // stringa visualizzata su Blynk
سلسلة النعناع // stringa visualizzata su Blynk
سلسلة ماكسو ؛ // stringa visualizzata su Blynk
سلسلة مينو // stringa visualizzata su Blynk
char auth = "a °×××××××××××××" ؛ // الرمز المميز Blynk
char ssid = "T °××××××××××× 9" ؛ //واي فاي
char pass = "O °×××××××××××" ؛ // psw
#define DHTPIN 2 // pin sensore DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN ، DHTTYPE) ؛
مؤقت SimpleTimer ؛ // الموقت
القطعة RTC rtc ؛ // orologio di sistema Blynk
WidgetLED led1 (V15) ؛ // Led Blynk sul pin V15.0
BLYNK_CONNECTED () {
rtc.begin () ، // avvio RTC
}
BLYNK_WRITE (V0) // روتين لكل إعادة ضبط tasto da Blynk
{
int attiva = param.asInt () ؛
إذا (أتيفا == 1) {
tmax = -100 ؛
tmin = 100 ؛
umax = 0 ؛
أومين = 100 ؛
maxt = "------------" ؛
النعناع = "------------" ؛
maxu = "------------" ؛
minu = "------------" ؛
media_Letture = 0 ؛
tot_Letture = 0 ،
nume_Letture = 0 ؛
كونتجيو = 0 ؛
سم مكعب = 0 ؛
Serial.println (conteggio) ؛
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) ؛
}
}
void sendSensor () // معيار إجرائي دي lettura
{
String currentTime = String (hour ()) + ":" + minutes () ؛
String currentDate = String (day ()) + "/" + month () ؛
تعويم h = dht.readHumidity () ؛
تعويم t = dht.readTemperature () ،
إذا (isnan (h) || isnan (t)) {
Serial.println ("فشل القراءة من مستشعر DHT!") ؛
led1.on () ؛
إرجاع؛
}
آخر {
led1.off () ؛
}
إذا (t> tmax) {
tmax = ر ؛
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")" ؛
}
إذا (t <tmin) {
tmin = t ؛
النعناع = String (t) + "° C (" + currentTime + "-" + currentDate + ")" ؛
}
إذا (ح> umax) {
umax = ح ؛
maxu = String (h) + "٪ (" + currentTime + "-" + currentDate + ")" ؛
}
إذا (ح <umin) {
umin = ح ؛
minu = String (h) + "٪ (" + currentTime + "-" + currentDate + ")" ؛
}
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 () ،
إذا (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 ؛ // تعيين توتو
سم مكعب = 1 ؛ // identifica primo passaggio dopo 48 letture (24ore)
}
إذا (cc == 1) {
كونتجيو = 48 ؛ // DOPO le prime 24ore divide semper لكل 24ore (48mezzore)
}
آخر{
// وسائل الإعلام prima dello scadere delle 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) ؛
}
الإعداد باطل()
{
Serial.begin (115200) ؛
Blynk.begin (auth ، ssid ، pass) ؛
dht.begin () ،
timer.setInterval (10000 ، sendSensor) ؛ // lettura temodità ogni 5 min
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)
{
فب = 0 ؛
vbinit = vb ؛
بريما = أديسو ؛
}
موصى به:
تصميم اللعبة في فليك في 5 خطوات: 5 خطوات
تصميم اللعبة في Flick in 5 Steps: Flick هي طريقة بسيطة حقًا لصنع لعبة ، لا سيما شيء مثل الألغاز أو الرواية المرئية أو لعبة المغامرة
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف - خطوات خطوة: 4 خطوات
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف | خطوات بخطوة: في هذا المشروع ، سأصمم دائرة مستشعر لعكس مواقف السيارات من Arduino باستخدام مستشعر الموجات فوق الصوتية Arduino UNO و HC-SR04. يمكن استخدام نظام التنبيه العكسي للسيارة المستند إلى Arduino للتنقل الذاتي ومجموعة الروبوتات وغيرها من النطاقات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: 3 خطوات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: في هذا Instructable سنقوم باكتشاف الوجه على Raspberry Pi 4 باستخدام Shunya O / S باستخدام مكتبة Shunyaface. Shunyaface هي مكتبة للتعرف على الوجوه / الكشف عنها. يهدف المشروع إلى تحقيق أسرع سرعة في الكشف والتعرف مع
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): 6 خطوات
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): هل تريد تخويف أصدقائك وإحداث بعض ضوضاء الصراخ في عيد الهالوين؟ أو تريد فقط عمل مزحة جيدة؟ يمكن لشاشة الزومبي المنبثقة القيام بذلك! في هذا Instructable ، سوف أعلمك كيفية جعل زومبي القفز للخارج بسهولة باستخدام Arduino. HC-SR0