สารบัญ:
วีดีโอ: Birra_Monitor: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
Il progetto ให้บริการจอภาพ la fermentazione della birra fatta ใน casa tramite un semplice sensore di vibrazione (SW-420 NC) l'aggiunta del sensore di temperatura (DHT22) ทำหน้าที่ตรวจสอบอุณหภูมิ e umidità della stanza atta alla fermentazione คำถาม ข้อมูล vengono gestiti da una scheda nodemcu และ visualizzati tramite แอป Blynk deputata allo sviluppo di soluzioni IoT
โปรเจ็กต์นี้ใช้เพื่อติดตามการหมักเบียร์โฮมเมดโดยใช้เซ็นเซอร์ตรวจจับการสั่นสะเทือนอย่างง่าย (SW-420 NC) การเพิ่มเซ็นเซอร์อุณหภูมิ (DHT22) ทำหน้าที่ตรวจสอบอุณหภูมิและความชื้นของห้องที่เหมาะสมกับการหมัก ข้อมูลนี้จัดการโดยการ์ด nodemcu และแสดงภาพผ่านแอป Blynk ที่ได้รับการแต่งตั้งให้พัฒนาโซลูชัน IoT
ขั้นตอนที่ 1: บรรจุภัณฑ์
Scheda e sensori sono alloggiate ใน una semplice scatola di derivazione
บอร์ดและเซ็นเซอร์อยู่ในกล่องรวมสัญญาณที่เรียบง่าย
ขั้นตอนที่ 2: เซ็นเซอร์ในที่ทำงาน
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 เซ็นเซอร์ การลงทะเบียน delle vibrazioni che verranno visualizzate sull'app Blynk
จะเกิดอะไรขึ้นเมื่อเซ็นเซอร์ถูก "ติดตั้ง" บน bubbler ซึ่งทุกครั้งที่ CO2 ถูกขับออก เซ็นเซอร์จะบันทึกการสั่นที่จะแสดงบนแอป Blynk
ขั้นตอนที่ 3: รหัส
il codice ต่อ permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda traamide il software Arduino IDE
รหัสเพื่อให้การทำงานของทั้งหมดมีดังต่อไปนี้ที่จะเพียงพอที่จะโหลดบนการ์ดซอฟต์แวร์ Arduino IDE
#รวม Adafruit_Sensor.h
#รวม DHT.h
#define BLYNK_PRINT ซีเรียล
#รวม ESP8266WiFi.h;
#รวม BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
ผักสลัดลอยน้ำ[50]; //dimensione Arrayper media
int nume_Letture=0; //จดหมายก้าวหน้า
ลอย tot_Letture=0; //ซอมม่าจดหมาย
float media_Letture=0; //จดหมายสื่อ
int conteggio=0; //ตัวแปร di conteggio primario
//inizio dichiarazioni Variabili ต่อสื่อที่ต่อเนื่อง
int i=0;
int ซีซี=0;
int togli=0;
//ปรับ dichiarazioni ตัวแปรต่อสื่อต่อเนื่อง
ค่า int; //ตัวแปร registrazione vibrazione
int vibr_pin=5; //Piedino x Sensore ดิ Vibrazione D1
int vb=0; //Inizializzo vb a 0
int vbr=0; //Inizializzo vb a 0
int vbinit=0; //Inizializzo vbinit a 0
พรีมาแบบยาวที่ไม่ได้ลงนาม=0; //utile ต่อการแลกเปลี่ยน min/max
อุณหภูมิสูงสุดยาว = 660000; //utile ต่อการแลกเปลี่ยน ขั้นต่ำ/สูงสุด
ลอย tmax=-100; //impostazione impossibile per la temperatura massima
ลอย tmin=100; //impostazione เป็นไปไม่ได้ต่อ il temperatura minima
ทุ่น umax=0; //impostazione impossibile ต่อ umidità massima
ลอย umin=100; //impostazione impossibile ต่อ umidità minima
สตริงสูงสุด; //stringa visualizzata su Blynk
สะระแหน่สตริง; //stringa visualizzata su Blynk
สตริงแมกซ์ซู; //stringa visualizzata su Blynk
สตริงลบ; //stringa visualizzata su Blynk
char auth = "a°°°°°°°°°°°°°°d"; // โทเค็น Blynk
ถ่าน ssid = "T°°°°°°°°°°°°° 9"; //wifi
ถ่านผ่าน = "O°°°°°°°°°°°° R"; //psw
#define DHTPIN 2 // ปักหมุดเซ็นเซอร์ DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer จับเวลา; //จับเวลา
WidgetRTC rtc; //orologio di sistema Blynk
WidgetLED led1(V15); //Led Blynk โซลพิน V15
BLYNK_CONNECTED () {
rtc.begin(); //avvio RTC
}
BLYNK_WRITE(V0) // กิจวัตรต่อการรีเซ็ต tasto da Blynk
{
int อัตติวา = 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 (คอนเทจจิโอ);
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V10, สูงสุด);
Blynk.virtualWrite (V11 มิ้นต์);
Blynk.virtualWrite (V12, สูงสุด);
Blynk.virtualWrite (V13, ลบ);
Blynk.virtualWrite (V1, conteggio);
Serial.println("รีเซตตา");
ล่าช้า(200);
Blynk.virtualWrite (V0, ต่ำ);
}
}
ถือเป็นโมฆะ sendSensor () // กระบวนการปกติของ lettura
{
สตริง 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= สตริง(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
ถ้า (t <tmin) {
tmin=t;
มิ้นต์= สตริง(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
ถ้า (h > umax) {
umax=h;
maxu= สตริง(h) + "% (" + currentTime + "-" +currentDate+ ")";
}
ถ้า (h < umin) {
อูมิน=h;
minu= String(h) + "% (" + currentTime + "-" +currentDate+ ")";
}
Blynk.virtualWrite(V5, ชั่วโมง);
Blynk.virtualWrite(V6, เสื้อ);
Blynk.virtualWrite (V7, vb);
Blynk.virtualWrite (V10, สูงสุด);
Blynk.virtualWrite (V11, มิ้นต์);
Blynk.virtualWrite (V12, สูงสุด);
Blynk.virtualWrite (V13, ลบ);
}
ถือเป็นโมฆะ calcolo_media () // ขั้นตอนต่อการลงทะเบียนข้อมูลสื่อ
{
lettura[nume_Letture] = dht.readTemperature();
if (isnan (ผักกาดหอม [nume_Letture])) {
led1.on();
กลับ;
}
//procedura สื่อ circolare
ถ้า (nume_Letture>=48){
togli=nume_Letture-48;
tot_Letture -=(ผักกาดหอม[togli]);
tot_Letture +=(ผักกาดหอม[nume_Letture]);
nume_Letture=0; //setta a zero e riparte tutto
ซีซี=1; //identifica พรีโม passaggio dopo 48 letture (24ore)
}
ถ้า (cc==1) {
คอนเทจจิโอ=48; // DOPO le prime 24ore แบ่ง semper ต่อ 24ore (48mezzore)
}
อื่น{
//media prima dello scadere delle 24ore
tot_Letture +=(ผักกาดหอม[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(รับรองความถูกต้อง, ssid, ผ่าน);
dht.begin();
timer.setInterval (10000, sendSensor); //lettura temperatura umidità ogni 5 นาที
timer.setInterval (1800000, calcolo_media); //letter e media ogni 30 นาที
}
วงเป็นโมฆะ ()
{
Blynk.run();
timer.run();
adesso ยาว = millis();
val = digitalRead (vibr_pin);
vb=vb+val;
ถ้า (adesso - พรีมา >= Tempmax)
{
vb=0;
vbinit=vb;
พรีมา=อเดสโซ;
}
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง