Satura rādītājs:
Video: Birra_Monitor: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Il progetto serve monitorare la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) kalpo monitora temperatūrai un 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.
Projektu izmanto, lai uzraudzītu mājās gatavota alus fermentāciju, izmantojot vienkāršu vibrācijas sensoru (SW-420 NC). temperatūras sensora (DHT22) pievienošana kalpo, lai uzraudzītu fermentācijai piemērotas telpas temperatūru un mitrumu. Šos datus pārvalda nodemcu karte un tie tiek vizualizēti, izmantojot lietotni Blynk, kas iecelta IoT risinājumu izstrādei.
1. solis: iepakošana
Shēmas un jutekliskie signāli tiek apvienoti vienā vienkāršā scatola di derivazione.
Dēlis un sensori ir ievietoti vienkāršā sadales kārbā.
2. solis: sensors darbā
quello che succede quando il sensore è "montato" sul gorgogliatore che ad ogni espulsione di CO2 il sensore registrerà delle vibrazioni che vajadzno visualizzate sull'app Blynk
kas notiek, kad sensors ir “uzstādīts” uz burbuļvannas, un ka katru reizi, kad tiek izvadīts CO2, sensors ierakstīs vibrācijas, kas tiks parādītas lietotnē Blynk
3. darbība: kods
kods permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE
kods, kas ļauj darboties kopumā, ir šāds, un ar to pietiks, lai kartē ielādētu Arduino IDE programmatūru
#iekļaut Adafruit_Sensor.h
#ieskaitot DHT.h
#define BLYNK_PRINT Seriāls
#iekļaut ESP8266WiFi.h;
#iekļaut BlynkSimpleEsp8266.h;
#iekļaut SimpleTimer.h;
#include WidgetRTC.h;
pludiņa lettura [50]; // dimensione Arrayper media
int nume_Letture = 0; // progressivo letture
pludiņš tot_Letture = 0; // somma letture
float media_Letture = 0; // mediju aizraušanās
int konteksts = 0; // mainīgais konteksta primārijs
// inizio dichiarazioni variabili per media continua
int i = 0;
int cc = 0;
int togli = 0;
// fine dichiarazioni variabili per media continua
int val; // mainīgais reģistrazione 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
neparakstīts garais prima = 0; // utile per swap min/max
garš Tempmax = 660000; // utile per swap min/max
pludiņš tmax = -100; // impostazione impossibile per la temperatura massima
pludiņš tmin = 100; // impostazione impossibile per il temperatura minimum
pludiņš umax = 0; // impostazione impossibile per umidità massima
pludiņš umin = 100; // impostazione impossibile per umidità minimum
Stīgu maxt; // stringa visualizzata su Blynk
Stīgu piparmētra; // stringa visualizzata su Blynk
Stīgu maxu; // stringa visualizzata su Blynk
Stīgu minu; // stringa visualizzata su Blynk
char auth = "a ° ° ° ° ° °" // //; // token Blynk
char ssid = "T ° ° ° ° ° °" "9"; //bezvadu internets
ogļu caurlaide = "O ° ° ° ° ° °" ""; // psw
#define DHTPIN 2 // pin sensore DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer taimeris; // taimeris
WidgetRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // rutīna, lai atiestatītu Blynk
{
int attiva = param.asInt ();
ja (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
umin = 100;
maxt = "------------";
piparmētra = "------------";
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, piparmētra);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("Atiestatīšana");
kavēšanās (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
String currentTime = String (stunda ()) + ":" + minūte ();
String currentDate = Virkne (diena ()) + "/" + mēnesis ();
pludiņš h = dht.readHumidity ();
pludiņš t = dht.readTemperature ();
ja (isnan (h) || isnan (t)) {
Serial.println ("Neizdevās nolasīt no DHT sensora!");
led1.on ();
atgriešanās;
}
cits {
led1.off ();
}
ja (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
ja (t <tmin) {
tmin = t;
piparmētra = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
ja (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
ja (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, piparmētra);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
void calcolo_media () // procedūra par reģistrācijas datu nesējiem
{
lettura [nume_Letture] = dht.readTemperature ();
ja (isnan (lettura [nume_Letture])) {
led1.on ();
atgriešanās;
}
// procedura media circolare
ja (nume_Letture> = 48) {
togli = nume_Letture-48;
tot_Letture -= (lettura [togli]);
tot_Letture += (lettura [numura_valoda]);
nume_Letture = 0; // setta a zero e riparte tutto
cc = 1; // identifika primo passaggio dopo 48 letture (24ore)
}
ja (cc == 1) {
conteggio = 48; // DOPO le prime 24ore divide semper per 24ore (48mezzore)
}
cits {
// media prima dello scadere delle 24ore
tot_Letture += (lettura [numura_valoda]);
conteggio = conteggio+1;
}
media_Letture = tot_Letture/conteggio;
numu_Latture = nume_Letture+1;
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V1, conteggio);
}
anulēts iestatījums ()
{
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
}
tukša cilpa ()
{
Blynk.run ();
taimeris.run ();
garais adesso = milis ();
val = digitalRead (vibr_pin);
vb = vb+val;
ja (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
prima = adesso;
}
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi
Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi
Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)