Talaan ng mga Nilalaman:
Video: Birra_Monitor: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Naghahatid ako ng isang monitorare la fermentazione della birra fatta sa casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) maghatid ng isang monitorare temperatura at umutang ng della stanza atta alla fermentazione. Mag-isip ng dati mong pagkilos sa isang iskedyul ng pag-ibig upang ma-visualize ang tramite ng Blynk app na mailalagay sa loob ng IoT.
Ginagamit ang proyekto upang subaybayan ang pagbuburo ng homemade beer gamit ang isang simpleng sensor ng panginginig (SW-420 NC). ang pagdaragdag ng sensor ng temperatura (DHT22) ay nagsisilbi upang subaybayan ang temperatura at halumigmig ng silid na angkop para sa pagbuburo. Ang data na ito ay pinamamahalaan ng isang nodemcu card at isinalarawan sa pamamagitan ng Blynk app na hinirang upang paunlarin ang mga solusyon sa IoT.
Hakbang 1: Pagbalot
Mag-iskedyul ng sensori sono alloggiate sa isang semplice scatola di derivazione.
Ang mga board at sensor ay nakalagay sa isang simpleng kahon ng kantong.
Hakbang 2: Sensor sa Trabaho
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
ano ang mangyayari kapag ang sensor ay "naka-mount" sa bubbler na sa tuwing pinatalsik ang CO2 ang sensor ay magtatala ng mga panginginig na ipapakita sa Blynk app
Hakbang 3: Code
il codice per permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE
ang code upang payagan ang paggana ng kabuuan ay ang sumusunod na magiging sapat upang mai-load sa card ang Arduino IDE software
# isama ang Adafruit_Sensor.h
# isama ang DHT.h
# tukuyin ang BLYNK_PRINT Serial
# isama ang ESP8266WiFi.h;
# isama ang BlynkSimpleEsp8266.h;
# isama ang SimpleTimer.h;
# isama ang WidgetRTC.h;
float lettura [50]; // dimensione Arrayper media
int nume_Letture = 0; // Progressivo letture
float tot_Letture = 0; // somma letture
float media_Letture = 0; // media letture
int conteggio = 0; // variabile di conteggio primario
// inizio dichiarazioni variabili bawat media Continua
int i = 0;
int cc = 0;
int togli = 0;
// fine dichiarazioni variabili per media Continua
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
unsigned mahabang prima = 0; // utile per swap min / max
mahabang Tempmax = 660000; // utile per swap min / max
float tmax = -100; // impostazione impossibile per la temperatura massima
float tmin = 100; // impostazione impossibile per il temperatura minima
float umax = 0; // impostazione impossibile per umidità massima
float umin = 100; // impostazione impossibile per umidità minima
String maxt; // 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 °<<<<<<♥♥♥♥♥♥♥♥ 9”; // wifi
char pass = O °♥♥♥♥♥♥♥♥♥♥ // psw
# tukuyin ang DHTPIN 2 // pin sensore DHT
# tukuyin ang DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer timer; // timer
WidgetRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNected () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // routine bawat tasto reset da Blynk
{
int attiva = param.asInt ();
kung (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
mint = "------------";
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, mint);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Resetta");
pagkaantala (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale prosedurura let letura
{
String currentTime = String (oras ()) + ":" + minuto ();
String currentDate = String (araw ()) + "/" + buwan ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
kung (isnan (h) || isnan (t)) {
Serial.println ("Nabigong basahin mula sa sensor ng DHT!");
led1.on ();
bumalik;
}
iba pa {
led1.off ();
}
kung (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
kung (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
kung (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
kung (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, mint);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
void calcolo_media () // prosedurura bawat registrazioni dati media
{
lettura [nume_Letture] = dht.readTemperature ();
kung (isnan (lettura [nume_Letture])) {
led1.on ();
bumalik;
}
// prosedurura media circolare
kung (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)
}
kung (cc == 1) {
conteggio = 48; // DOPO le prime 24ore split semper per 24ore (48mezzore)
}
iba pa {
// 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);
}
walang bisa ang pag-setup ()
{
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
}
walang bisa loop ()
{
Blynk.run ();
timer.run ();
mahabang adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb + val;
kung (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Inirerekumendang:
Mga Soldering Surface Mount Component - Mga Pangunahing Kaalaman sa Paghinang: 9 Mga Hakbang (na may Mga Larawan)
Mga Soldering Surface Mount Component | Mga Pangunahing Kaalaman sa Paghinang: Sa ngayon sa aking Serye ng Mga Pangunahing Kaalaman sa Soldering, tinalakay ko ang sapat na mga pangunahing kaalaman tungkol sa paghihinang para masimulan mong magsanay. Sa Ituturo na ito kung ano ang tatalakayin ko ay medyo mas advanced, ngunit ito ay ilan sa mga pangunahing kaalaman para sa paghihinang sa Surface Mount Compo
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Tubig na Naa-access !: 7 Mga Hakbang (na may Mga Larawan)
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Dragon na Naa-access !: Ang pagbagay ng laruan ay nagbubukas ng mga bagong paraan at na-customize na solusyon upang payagan ang mga bata na may limitadong mga kakayahan sa motor o mga kapansanan sa pag-unlad na makipag-ugnay sa mga laruan nang nakapag-iisa. Sa maraming mga kaso, ang mga bata na nangangailangan ng inangkop na mga laruan ay hindi maaring
Paano Kumuha ng 18650 Mga Cell Mula sa Mga Patay na Baterya ng Laptop !: 7 Mga Hakbang (na may Mga Larawan)
Paano Kumuha ng 18650 Mga Cell Mula sa Mga Patay na Baterya ng Laptop !: Pagdating sa mga proyekto ng pagbuo sa pangkalahatan ay gumagamit kami ng isang supply ng kuryente para sa prototyping, ngunit kung ito ay isang portable na proyekto kailangan namin ng isang mapagkukunan ng kuryente tulad ng 18650 li-ion cells, ngunit ang mga cell na ito ay minsan mahal o karamihan sa mga nagbebenta ay hindi nagbebenta
Mga Larong Pang-tunog ng Mga Hayop para sa Mga Bata: 4 na Mga Hakbang
Mga Larong Pang-tunog ng Mga Hayop para sa Mga Bata: Ang hayop ay tunog sa sarili nitong tinig kapag ang puzzle ng hayop na ito ay inilagay nang tama para sa mga bata sa ilalim ng 24 na buwan. Masisiyahan ang iyong mga anak na lalaki kapag narinig nila ang lahat ng anim na tunog na ibinubuga ng hayop niya. Ang proyektong ito ay batay sa isang produktong komersyal, ngunit nais ko
10 Mga kahalili sa DIY sa Mga Off-The-Shelf na Elektroniko na Mga Bahagi: 11 Mga Hakbang (na may Mga Larawan)
10 Mga Kahalili sa DIY sa Mga Off-The-Shelf na Mga Elektroniko na Bahagi: Maligayang pagdating sa aking kauna-unahang itinuro! Sa palagay mo ba ang ilang mga bahagi mula sa mga tagatingi sa online ay masyadong mahal o may mababang kalidad? Kailangan bang makakuha ng isang prototype nang mabilis at tumatakbo nang mabilis at hindi makapaghintay linggo para sa pagpapadala? Walang mga lokal na electronics distributor? Ang fol