Inhoudsopgave:
Video: Birra_Monitor: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Il progetto serve a monitorare la fermentazione della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). De temperatuursensoren (DHT22) serveren een temperatuurcontrole en een standaardtemperatuur van alle fermentazione. Vraag naar de mogelijkheden om een schema te maken en te visualiseren om de Blynk-app te gebruiken voor het oplossen van IoT.
Het project wordt gebruikt om de vergisting van huisgemaakt bier te monitoren met behulp van een eenvoudige trillingssensor (SW-420 NC). de toevoeging van de temperatuursensor (DHT22) dient om de temperatuur en vochtigheid te bewaken van de ruimte die geschikt is voor fermentatie. Deze gegevens worden beheerd door een nodemcu-kaart en gevisualiseerd via de Blynk-app die is aangesteld om IoT-oplossingen te ontwikkelen.
Stap 1: Verpakking:
Scheda e sensori sono alloggiaate in una semplice scatola di derivazione.
Board en sensoren zijn ondergebracht in een eenvoudige aansluitdoos.
Stap 2: Sensor aan het werk
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
wat er gebeurt als de sensor op de bubbler wordt "gemonteerd" dat elke keer dat de CO2 wordt verdreven, de sensor trillingen opneemt die op de Blynk-app worden weergegeven
Stap 3: Coderen
il codice per permettere il funzionamento del tutto è il seguente che basterà caricare sulla schema tramide il software Arduino IDE
de code om de werking van het geheel mogelijk te maken is de volgende die voldoende zal zijn om de Arduino IDE-software op de kaart te laden:
#include Adafruit_Sensor.h
#include DHT.h
#define BLYNK_PRINT Serie
#include ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
vlotter lettura [50]; //dimensione Arrayper-media
int num_Letture=0; // progressieve letture
zweven tot_Letture=0; //somma letture
zweven media_Letture=0; //medialezing
int conteggio=0; //variabele in conteggio primario
//inizio dichiarazoni variabili per media continua
int i=0;
int cc=0;
int togli=0;
//fijne dichiarazioni variabili per media continua
int val; //variabele registrazione vibrazione
int vibr_pin=5; // Piedino x Sensore di Vibrazione D1
int vb=0; //Inizializzo vb een 0
int vbr=0; //Inizializzo vb een 0
int vbinit=0; //Inizializzo vbinit een 0
niet-ondertekende lange prima=0; //gebruik per swap min/max
lange Tempmax=660000; //gebruik per swap min/max
vlotter tmax=-100; // impostazione impossibile per la temperatura massima
vlotter tmin=100; // impostazione onmogelijk per il temperatura minima
zweven umax=0; // impostazione onmogelijk per umidità massima
vlotter umin = 100; // impostazione onmogelijk per umidità minima
Maximaal snaren; //stringa visualizzata su Blynk
String munt; //stringa visualizzata su Blynk
Maximale snaar; //stringa visualizzata su Blynk
String min; //stringa visualizzata su Blynk
char auth = "a°°°°°°°°°°°°°°d";//token Blynk
char ssid = "T°°°°°°°°°°°°°9"; //Wifi
char pass = "O°°°°°°°°°°°°R"; //psw
#define DHTPIN 2 //pin sensore DHT
#definieer 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 per smaak reset da Blynk
{
int attiva = param.asInt();
als (attiva==1){
tmax=-100;
tmin = 100;
umax=0;
umin = 100;
maxt= "------------";
mint= "------------";
maxu= "------------";
min = "------------";
media_Letture=0;
tot_Letture=0;
num_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, min);
Blynk.virtualWrite(V1, conteggio);
Serial.println("Resetta");
vertraging (200);
Blynk.virtualWrite (V0, LAAG);
}
}
void sendSensor() //normale procedure voor lettura
{
String currentTime = String(uur()) + ":" + minuut();
String huidigeDatum = String(dag()) + "/" + maand();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println ("Kan niet lezen van DHT-sensor!");
led1.on();
opbrengst;
}
anders {
led1.off();
}
als (t > tmax) {
tmax=t;
maxt= String(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
als (t < tmin) {
tmin=t;
mint= String(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
als (h > umax) {
umax=u;
maxu= String(h) + "% (" + currentTime + "-" +currentDate+ ")";
}
als (h < umin) {
umin=u;
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, min);
}
void calcolo_media() //procedure per registrazioni dat media
{
lettura[nume_Letture] = dht.readTemperature();
if (isnan(lettura[nume_Letture])) {
led1.on();
opbrengst;
}
//procedure media circolare
if (nume_Letture>=48){
togli=nume_Letture-48;
tot_Letture -=(lettura[togli]);
tot_Letture +=(lettura[nume_Letture]);
num_Letture=0; //setta a zero e riparte tutto
cc=1; //identifica primo passaggio dopo 48 letture (24ore)
}
als (cc==1) {
conteggio=48; //DOPO le prime 24ore verdeel semper per 24ore (48mezzore)
}
anders{
//media prima dello scadere delle 24ore
tot_Letture +=(lettura[nume_Letture]);
conteggio=conteggio+1;
}
media_Letture=tot_Letture/conteggio;
aantal_Letture=nume_Letture+1;
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite(V1, conteggio);
}
ongeldige setup()
{
Serieel.begin(115200);
Blynk.begin(auth, ssid, pass);
dht.begin();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 min
timer.setInterval (180000, calcolo_media); // lettura e media ogni 30min
}
lege lus()
{
Blynk.run();
timer.run();
lange adesso=millis();
val = digitalRead (vibr_pin);
vb=vb+val;
if (adesso - prima >= Tempmax)
{
vb=0;
vbinit=vb;
prima=adesso;
}
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)