Isi kandungan:
Video: Birra_Monitor: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Il progetto melayani monitorare la fermentazione della birra fatta di casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) melayani temperatur monitor dan 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.
Projek ini digunakan untuk memantau fermentasi bir buatan sendiri menggunakan sensor getaran sederhana (SW-420 NC). penambahan sensor suhu (DHT22) berfungsi untuk memantau suhu dan kelembapan bilik yang sesuai untuk penapaian. Data ini diuruskan dengan kad nodemcu dan divisualisasikan melalui aplikasi Blynk yang dilantik untuk mengembangkan penyelesaian IoT.
Langkah 1: Pembungkusan
Scheda e sensori sono alloggiate dalam una semplice scatola di derivazione.
Papan dan sensor diletakkan di dalam kotak simpang sederhana.
Langkah 2: Sensor di Tempat Kerja
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
apa yang berlaku apabila sensor "dipasang" pada gelembung yang setiap kali CO2 dikeluarkan sensor akan merakam getaran yang akan dipaparkan di aplikasi Blynk
Langkah 3: Kod
il codice per permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il perisian Arduino IDE
kod untuk membolehkan fungsi keseluruhan adalah berikut yang cukup untuk memuatkan pada kad perisian Arduino IDE
#sertakan Adafruit_Sensor.h
#masuk DHT.h
#tentukan seri BLYNK_PRINT
#sertakan ESP8266WiFi.h;
#sertakan BlynkSimpleEsp8266.h;
#masuk SimpleTimer.h;
#masuk WidgetRTC.h;
apungan lettura [50]; // dimensione Arrayper media
int nume_Letture = 0; // progressivo letture
float tot_Letture = 0; // somma letture
media terapung_Letture = 0; // letture media
int conteggio = 0; // pemboleh ubah di conteggio primario
// inizio dichiarazioni variabili per media berterusan
int i = 0;
int cc = 0;
int togli = 0;
// variabel dichiarazioni halus per media berterusan
int val; // pemboleh ubah 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
prima panjang yang tidak ditandatangani = 0; // penggunaan setiap pertukaran min / maks
Tempmax panjang = 660000; // penggunaan setiap pertukaran min / maks
apungan tmax = -100; // impostazione mustahil per la temperatura massima
apungan tmin = 100; // impostazione impossibile per il temperatura minima
apungan umax = 0; // impostazione mustahil per umidità massima
apungan umin = 100; // impostazione mustahil per umidità minima
Maxt rentetan; // stringa visualizzata su Blynk
String mint; // stringa visualizzata su Blynk
String maxu; // stringa visualizzata su Blynk
String minu; // stringa visualizzata su Blynk
char auth = "a °------------------"
char ssid = T °---------------------- // wifi
kar lulus = O °| // psw
#tentukan DHTPIN 2 // pin sensore DHT
#tentukan DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
Pemasa SimpleTimer; // pemasa
WidgetRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutin setiap tetapan semula da Blynk
{
int attiva = param.asInt ();
jika (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
pudina = "------------";
maxu = "------------";
minu = "------------";
media_Letture = 0;
tot_Letture = 0;
nume_Letture = 0;
conteggio = 0;
cc = 0;
Serial.println (conteggio);
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, pudina);
Blynk.virtualWrite (V12, maksu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Resetta");
kelewatan (200);
Blynk.virtualWrite (V0, RENDAH);
}
}
batal sendSensor () // normale Procedura di lettura
{
String currentTime = Rentetan (jam ()) + ":" + minit ();
String currentDate = Rentetan (hari ()) + "/" + bulan ();
apungan h = dht.readHumidity ();
terapung t = dht.readTemperature ();
jika (isnan (h) || isnan (t)) {
Serial.println ("Gagal membaca dari sensor DHT!");
led1.on ();
kembali;
}
lain {
led1.off ();
}
jika (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
jika (t <tmin) {
tmin = t;
pudina = Rentetan (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
jika (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
jika (h <umin) {
umin = h;
minu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
Blynk.virtualWrite (V5, h);
Blynk.virtualWrite (V6, t);
Blynk.virtualWrite (V7, vb);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, pudina);
Blynk.virtualWrite (V12, maksu);
Blynk.virtualWrite (V13, minu);
}
batal calcolo_media () // prosedur per media registrazioni dati
{
lettura [nume_Letture] = dht.readTemperature ();
jika (isnan (lettura [nume_Letture])) {
led1.on ();
kembali;
}
// edaran prosedur prosedur
jika (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)
}
jika (cc == 1) {
conteggio = 48; // DOPO le prime 24ore bahagikan semper setiap 24ore (48mezzore)
}
lain {
// media 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);
}
persediaan tidak sah ()
{
Serial.begin (115200);
Blynk.begin (auth, ssid, pass);
dht.begin ();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 min
timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30min
}
gelung kosong ()
{
Blynk.run ();
pemasa.run ();
adesso panjang = milis ();
val = digitalRead (vibr_pin);
vb = vb + val;
jika (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Disyorkan:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
Langkah demi Langkah Pembinaan PC: 9 Langkah
Langkah demi Langkah Pembinaan PC: Persediaan: Perkakasan: MotherboardCPU & CPU cooler PSU (Unit bekalan kuasa) Penyimpanan (HDD / SSD) RAMGPU (tidak diperlukan) Alat kes: Pemutar skru Gelang ESD / tampal matsthermal dengan aplikator
Tiga Litar Pembesar Suara -- Tutorial Langkah demi Langkah: 3 Langkah
Tiga Litar Pembesar Suara || Tutorial Langkah-demi-Langkah: Loudspeaker Circuit menguatkan isyarat audio yang diterima dari persekitaran ke MIC dan menghantarnya ke Speaker dari tempat audio diperkuat dihasilkan. Di sini, saya akan menunjukkan kepada anda tiga cara berbeza untuk membuat Loudspeaker Circuit ini menggunakan:
Pendidikan Langkah demi Langkah dalam Robotik Dengan Kit: 6 Langkah
Pendidikan Langkah-demi-Langkah dalam Robotik Dengan Kit: Setelah beberapa bulan membina robot saya sendiri (sila rujuk semua ini), dan setelah dua kali bahagian gagal, saya memutuskan untuk mengambil langkah mundur dan memikirkan semula strategi dan arahan. Pengalaman selama beberapa bulan kadang-kadang sangat bermanfaat, dan
Pengangkatan Akustik Dengan Arduino Uno Langkah demi Langkah (8-langkah): 8 Langkah
Acoustic Levitation With Arduino Uno Step-by Step (8-step): transduser suara ultrasonik L298N Dc power adaptor wanita dengan pin dc lelaki Arduino UNOBreadboardBagaimana ini berfungsi: Pertama, anda memuat naik kod ke Arduino Uno (ia adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk menukar kod (C ++)