İçindekiler:
Video: Birra_Monitor: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Il progetto, casa tramite un semplice di vibrazione (SW-420 NC) içinde bir monitöre la fermentazione della birra fatta hizmet vermektedir. l'aggiunta del sensore di temperatura (DHT22), bir izleme sıcaklığı ve umidità della stanza atta alla fermentazione hizmet eder. Blynk uygulaması, IoT'nin tüm işlevlerinin yanı sıra, IoT'yi de içerir.
Proje, basit bir titreşim sensörü (SW-420 NC) kullanarak ev yapımı biranın fermantasyonunu izlemek için kullanılıyor. sıcaklık sensörünün (DHT22) eklenmesi, fermantasyona uygun odanın sıcaklığını ve nemini izlemeye yarar. Bu veriler bir nodemcu kartı tarafından yönetilir ve IoT çözümleri geliştirmek için atanan Blynk uygulaması aracılığıyla görselleştirilir.
Adım 1: Paketleme
Scheda e sensori sono alloggiate in semplice scatola di derivazione.
Kart ve sensörler basit bir bağlantı kutusuna yerleştirilmiştir.
2. Adım: Sensör İş Başında
quello che başarılı qudo il sensore è "montato" sul gorgogliatore che ad ogni spulsione di CO2 il sensore kayıt delle vibrazioni che verranno görselleştirme sull'app Blynk
sensör, CO2'nin her dışarı atılmasında sensör, Blynk uygulamasında görüntülenecek olan titreşimleri kaydedeceği fıskiyeye "takıldığında" ne olur?
3. Adım: Kodlayın
permettere başına il kodlar il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il yazılımı Arduino IDE
Arduino IDE yazılımını karta yüklemeye yetecek olan bütünün çalışmasını sağlayacak kod aşağıdaki gibidir.
#include Adafruit_Sensor.h
#include DHT.h
#define BLYNK_PRINT Seri
#include ESP8266WiFi.h;
#include BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
yüzen lettura[50]; // boyut Dizici ortamı
int nume_Letture=0; //ilerleyen harf
float tot_Letture=0; // somma harfi
kayan media_Letture=0; //medya yazısı
int conteggio=0; //değişken di conteggio primario
//inizio dichiarazioni değişken medya sürekliliği başına
int i=0;
int cc=0;
int togli=0;
//medya sürekliliği başına ince dichiarazioni variabili
int değeri; //değişken kayıt 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; //İnizializzo vbinit a 0
işaretsiz uzun prima=0; //takas başına kullanım min/maks
uzun Tempmax=660000; //takas başına kullanım min/maks
kayan nokta tmaks=-100; // impossibile per la temperatura massima
kayan nokta tmin=100; // sıcaklık minimumu başına imkansız imppostazione
kayan umax=0; //impostazione impossibile per umidità massima
yüzer umin=100; // umidità minimum başına imppostazione impossibile
dize maxt; //stringa visualizzata ve Blynk
Dize nane; //stringa visualizzata ve Blynk
Dize maxu; //stringa visualizzata ve Blynk
Dize eksi; //stringa visualizzata ve Blynk
char auth = "a°°°°°°°°°°°°d";//token Blynk
char ssid = "T°°°°°°°°°°°°9"; //Wifi
karakter geçişi = "O°°°°°°°°°°°°R"; //psw
#define DHTPIN 2 //pin sensore DHT
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
SimpleTimer zamanlayıcı; //zamanlayıcı
WidgetRTC rtc; //orologio di sistema Blynk
WidgetLED led1(V15); //Led Blynk sul pimi V15
BLYNK_CONNECTED () {
rtc.begin(); //avvio RTC
}
BLYNK_WRITE(V0) // Blynk'te her tatto sıfırlama için rutin
{
int attiva = param.asInt();
eğer (attiva==1){
tmaks=-100;
tmin=100;
umaks=0;
umin=100;
maxt= "------------";
nane= "------------";
maxu= "------------";
eksi= "------------";
media_Letture=0;
tot_Letture=0;
nume_Letture = 0;
contej = 0;
cc=0;
Serial.println(conteggio);
Blynk.virtualWrite(V8, media_Letture);
Blynk.virtualWrite(V10, maxt);
Blynk.virtualWrite(V11, nane);
Blynk.virtualWrite(V12, maxu);
Blynk.virtualWrite(V13, eksi);
Blynk.virtualWrite(V1, conteggio);
Serial.println("Sıfırla");
gecikme(200);
Blynk.virtualWrite(V0, DÜŞÜK);
}
}
void sendSensor() // prosedürün normalleştirilmesi
{
String currentTime = String(saat()) + ":" + dakika();
String currentDate = String(day()) + "/" + ay();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("DHT sensöründen okunamadı!");
led1.on();
dönüş;
}
Başka {
led1.off();
}
if (t > tmaks) {
tmaks=t;
maxt= String(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
eğer (t < tmin) {
tmin=t;
mint= String(t) + "°C (" + currentTime + "-" +currentDate+ ")";
}
if (h > umaks) {
umaks=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, nane);
Blynk.virtualWrite(V12, maxu);
Blynk.virtualWrite(V13, eksi);
}
void calcolo_media() // kayıt veri ortamı başına prosedür
{
lettura[nume_Letture] = dht.readTemperature();
if (isnan(lettura[nume_Letture])) {
led1.on();
dönüş;
}
// prosedür medya sirkülasyonu
if (nume_Letture>=48){
togli=nume_Letture-48;
tot_Letture -=(lettura[togli]);
tot_Letture +=(lettura[nume_Letture]);
nume_Letture=0; // bir sıfır ve parçalı tutto ayarla
cc=1; //identifica primo passaggio dopo 48 harf (24ore)
}
if (cc==1) {
conteggio=48; //DOPO le prime 24ore bölü semper başına 24ore (48mezzore)
}
Başka{
//medya 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);
}
geçersiz kurulum()
{
Seri.başla(115200);
Blynk.begin(auth, ssid, pass);
dht.begin();
timer.setInterval(10000, sendSensor); //Hava sıcaklığı umidità ogni 5 dk
timer.setInterval(1800000, calcolo_media); //lettura e media ogni 30dk
}
boşluk döngüsü()
{
Blynk.run();
zamanlayıcı.run();
uzun adesso=millis();
val = digitalRead (vibr_pin);
vb=vb+val;
if (adesso - prima >= Tempmax)
{
vb=0;
vbinit=vb;
prima=adesso;
}
Önerilen:
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): 9 Adım
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): Merhaba !Bu Talimatlar, motosiklet kasklarına monte edilmek üzere tasarlanmış bir HUD (Heads-Up Display) platformunu nasıl tasarladığımın ve inşa ettiğimin hikayesidir. "Haritalar" yarışması bağlamında yazılmıştır. Maalesef tamamen bitiremedim
Arduino Araba Geri Geri Park Uyarı Sistemi - Adım Adım: 4 Adım
Arduino Araba Geri Geri Park Uyarı Sistemi | Adım Adım: Bu projede Arduino UNO ve HC-SR04 Ultrasonik Sensör kullanarak basit bir Arduino Araba Geri Park Sensörü Devresi tasarlayacağım. Bu Arduino tabanlı Araba Ters uyarı sistemi, Otonom Navigasyon, Robot Mesafesi ve diğer menzil r
Adım Adım PC Oluşturma: 9 Adım
Adım Adım Bilgisayar Oluşturma: Sarf Malzemeleri: Donanım: AnakartCPU & CPU soğutucusuPSU (Güç kaynağı ünitesi)Depolama (HDD/SSD)RAMGPU (gerekli değil)CaseTools: TornavidaESD bilezik/aplikatörlü matstermal macun
Üç Hoparlör Devresi -- Adım Adım Eğitim: 3 Adım
Üç Hoparlör Devresi || Adım Adım Eğitim: Hoparlör Devresi, ortamdan alınan ses sinyallerini MIC'e güçlendirir ve bunu, güçlendirilmiş sesin üretildiği Hoparlöre gönderir. Burada, size bu Hoparlör Devresini kullanarak bu Hoparlör Devresini yapmanın üç farklı yolunu göstereceğim:
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)