Sadržaj:
Video: Birra_Monitor: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Progetto će poslužiti monitor za fermentaciju della birra fatta u kući tramite i semplice senzora za vibraciju (SW-420 NC). Senzori temperature (DHT22) služe za nadgledanje temperature i izmjenu stanze nakon fermentacije. Da biste dali sve potrebne informacije o tome da čvor nodemcu i vizualizira tramite Blynk aplikaciju zamjenu za sviluppo za rješenja IoT.
Projekt se koristi za praćenje fermentacije domaćeg piva pomoću jednostavnog senzora vibracija (SW-420 NC). Dodavanje senzora temperature (DHT22) služi za praćenje temperature i vlažnosti prostorije pogodne za fermentaciju. Ovim podacima upravlja nodemcu kartica i vizualizira ih aplikacija Blynk imenovana za razvoj IoT rješenja.
Korak 1: Pakovanje
Scheda e sensori sono aloggiate in una semplice scatola di derivazione.
Ploča i senzori smješteni su u jednostavnu razvodnu kutiju.
Korak 2: Senzor na poslu
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il registrator senzora delle vibrazioni che verranno vizualizirajte sull'app Blynk
šta se dešava kada je senzor "montiran" na mjehurić za mjerenje da će svaki put kada se CO2 izbaci senzor zabilježiti vibracije koje će se prikazati u aplikaciji Blynk
Korak 3: Kodirajte
kodovi po permetteru funkcioniraju kao tutorijal i mogu se koristiti samo kao glavni softver za Arduino IDE
kôd za omogućavanje funkcioniranja cjeline je sljedeći koji će biti dovoljan za učitavanje na karticu Arduino IDE softvera
#include Adafruit_Sensor.h
#include DHT.h
#define BLYNK_PRINT Serijski
#include ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
float lettura [50]; // dimenzija Arrayper media
int nume_Letture = 0; // progressivo letture
float tot_Letture = 0; // somma letture
float media_Letture = 0; // medijska literatura
int conteggio = 0; // varijabile di conteggio primario
// inizio dichiarazioni variabili per media continua
int i = 0;
int cc = 0;
int togli = 0;
// fine dichiarazioni variabili per media continua
int val; // varijabile 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
bez potpisa duga prima = 0; // korisno po zamjeni min/maks
dugi Tempmax = 660000; // korisno po zamjeni min/maks
plovak tmax = -100; // impostazione impossibile per la temperature massima
plovak tmin = 100; // impostazione impossibile per il temperature minima
float umax = 0; // impostazione impossibile per umidità massima
plovak umin = 100; // impostazione impossibile per umidità minima
String maxt; // stringa visualizzata su Blynk
Nana; // stringa visualizzata su Blynk
String maxu; // stringa visualizzata su Blynk
String minu; // stringa visualizzata su Blynk
char auth = "a °°°°°°°°°°°°° d"; // token Blynk
char ssid = "T °°°°°°°°°°°°° 9"; // wifi
char pass = "O °°°°°°°°°°°° R"; // psw
#define DHTPIN 2 // pin senzor DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer timer; // mjerač vremena
WidgetRTC rtc; // orologio di system Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutina za resetovanje tasto za Blynk
{
int attiva = param.asInt ();
if (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, nana);
Blynk.virtualWrite (V12, najviše);
Blynk.virtualWrite (V13, minuta);
Blynk.virtualWrite (V1, kontekst);
Serial.println ("Resetta");
kašnjenje (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normalan postupak promjene
{
String currentTime = String (sat ()) + ":" + minut ();
String currentDate = String (day ()) + "/" + month ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Očitavanje sa DHT senzora nije uspjelo!");
led1.on ();
return;
}
else {
led1.off ();
}
if (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
if (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
if (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
if (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, nana);
Blynk.virtualWrite (V12, najviše);
Blynk.virtualWrite (V13, minuta);
}
void calcolo_media () // procedure za registraciju medija
{
lettura [nume_Letture] = dht.readTemperature ();
if (isnan (lettura [nume_Letture])) {
led1.on ();
return;
}
// procedura media circolare
if (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)
}
if (cc == 1) {
conteggio = 48; // DOPO le prime 24ore podijeli sempor na 24ore (48mezzore)
}
else {
// medijska 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, kontekst);
}
void setup ()
{
Serial.begin (115200);
Blynk.begin (auth, ssid, pass);
dht.begin ();
timer.setInterval (10000, sendSensor); // dozvoljena temperatura umidit ogni 5 min
timer.setInterval (1800000, calcolo_media); // lettura i mediji ognji 30 min
}
void loop ()
{
Blynk.run ();
timer.run ();
long adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
if (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Preporučuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima