תוכן עניינים:
וִידֵאוֹ: Birra_Monitor: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
Il progetto מגישים מוניטור la fermentazione della birra fatta ב- casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) משרתים טמפרטורה צפויה ומעולה. קח מידע נוסף על תוכניות ליצירת תוכניות וחיזוקים של אפליקציות Blynk.
הפרויקט משמש לניטור תסיסה של בירה תוצרת בית באמצעות חיישן רטט פשוט (SW-420 NC). הוספת חיישן הטמפרטורה (DHT22) משמשת לניטור הטמפרטורה והלחות בחדר המתאימים לתסיסה. נתונים אלה מנוהלים על ידי כרטיס nodemcu ומודגשים באמצעות אפליקציית Blynk שמונתה לפתח פתרונות IoT.
שלב 1: אריזה
Scheda e sensori sono alloggiate in una semplice scatola di derivazione.
לוח וחיישנים שוכנים בקופסת חיבור פשוטה.
שלב 2: חיישן בעבודה
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
מה קורה כשהחיישן "מותקן" על הבועה שבכל פעם שהגז דו -חמצני החיישן יתעד רטט שיוצג באפליקציית Blynk.
שלב 3: קוד
il codice per permettere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il תוכנה Arduino IDE
הקוד שיאפשר את תפקוד המכלול הוא הבא שיספיק כדי להעמיס על הכרטיס את תוכנת Arduino IDE
#כלול Adafruit_Sensor.h
#כלול DHT.h
#הגדר סדרה BLYNK_PRINT
#כלול ESP8266WiFi.h;
#כלול BlynkSimpleEsp8266.h;
#include SimpleTimer.h;
#include WidgetRTC.h;
לצוף לצורה [50]; // dimensione Arrayper media
int nume_Letture = 0; // חסה פרוגרסיבו
float tot_Letture = 0; // חסה סומא
float media_Letture = 0; // השקת מדיה
int conteggio = 0; // variabile di conteggio primario
// inizio dichiarazioni variabili per continua media
int i = 0;
int cc = 0;
int togli = 0;
// variabili dichiarazioni בסדר להמשך התקשורת
int val; // משתנה 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
פרימה ארוכה ללא סימן = 0; // שימושי לכל החלפה מינימלי/מקסימלי
טמפמקס ארוך = 660000; // שימושי לכל החלפה מינימלי/מקסימלי
צף tmax = -100; // impostazione impossibile per la temperatura massima
צף tmin = 100; // impostazione impossibile per il temperatura minima
לצוף umax = 0; // impostazione impossibile per umidità massima
צף אומן = 100; // impostazione impossibile per umidità minima
מיקס מחרוזות; // stringa visualizzata su Blynk
מנטה מחרוזת; // stringa visualizzata su Blynk
מקסימום מחרוזת; // stringa visualizzata su Blynk
מינו מחרוזת; // stringa visualizzata su Blynk
char auth = "a °°°°°°°°°°°°°°°° pH d"; // אסימון בלינק
char ssid = "T °°°°°°°°°°°°° pH 9"; //וויי - פיי
char pass = "O °°°°°°°°°°°°°° R"; // psw
#define DHTPIN 2 // pin sensore DHT
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
טיימר SimpleTimer; //שָׁעוֹן עֶצֶר
WidgetRTC rtc; // orologio di sistema Blynk
WidgetLED led1 (V15); // לד Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // שגרה לאיפוס טעימות של da Blynk
{
int attiva = param.asInt ();
if (attiva == 1) {
tmax = -100;
tmin = 100;
umax = 0;
אומן = 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");
עיכוב (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
String currentTime = String (hour ()) + ":" + minute ();
String currentDate = String (day ()) + "/" + month ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
אם (isnan (h) || isnan (t)) {
Serial.println ("קריאה נכשלה מחיישן DHT!");
led1.on ();
לַחֲזוֹר;
}
אחר {
led1.off ();
}
אם (t> tmax) {
tmax = t;
maxt = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
אם (t <tmin) {
tmin = t;
mint = String (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
אם (h> umax) {
umax = h;
maxu = String (h) + "% (" + currentTime + "-" + currentDate + ")";
}
אם (h <umin) {
אומן = ח;
minu = מחרוזת (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 () // procedura for registrazioni dati media
{
lettura [nume_Letture] = dht.readTemperature ();
אם (isnan (lettura [nume_Letture])) {
led1.on ();
לַחֲזוֹר;
}
// הפרוצדורה התקשורתית
אם (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; // חסה של Identification Primo Passaggio Dopo 48 (24ore)
}
אם (cc == 1) {
conteggio = 48; // DOPO le prime 24ore מחלקים סמפר לכל 24ore (48mezer)
}
אַחֵר{
// מדיה 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);
}
הגדרת חלל ()
{
Serial.begin (115200);
Blynk.begin (auth, ssid, pass);
dht.begin ();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 דקות
timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30min
}
לולאת חלל ()
{
Blynk.run ();
timer.run ();
adesso ארוך = מיליס ();
val = digitalRead (vibr_pin);
vb = vb+val;
אם (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
פרימה = אדסו;
}
מוּמלָץ:
כיצד לבצע אנטנת BiQuade כפולה 4G LTE שלבים פשוטים: 3 שלבים
כיצד להפוך אנטנת 4G LTE BiQuade כפולה לשלבים קלים: לרוב לא עמדתי בפני, אין לי עוצמת אות טובה לעבודות היום-יומיות שלי. לכן. אני מחפש ומנסה סוגים שונים של אנטנות אבל לא עובד. לאחר בזבוז זמן מצאתי אנטנה שאני מקווה לייצר ולבדוק, כי זה עקרון הבנייה לא
עיצוב משחק בקפיצה ב -5 שלבים: 5 שלבים
עיצוב משחק בקפיצה ב -5 שלבים: פליק הוא דרך פשוטה מאוד ליצור משחק, במיוחד משהו כמו פאזל, רומן חזותי או משחק הרפתקאות
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: 3 שלבים
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: במדריך זה אראה לך את השלבים החיוניים להתקנת תוסף וורדפרס לאתר שלך. בעיקרון אתה יכול להתקין תוספים בשתי דרכים שונות. השיטה הראשונה היא באמצעות ftp או דרך cpanel. אבל אני לא אפרט את זה כיוון שזה באמת משלים