Სარჩევი:
ვიდეო: Birra_Monitor: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
მე შემიძლია მოვახდინო მონიტორინგი ფერმენტაციონიდან della birra fatta in casa tramite un semplice sensore di vibrazione (SW-420 NC). l'aggiunta del sensore di temperatura (DHT22) ემსახურება მონიტორინგულ ტემპერატურას და ემცირება della stanza atta alla fermentazione. Questi dati vengono gestiti da una scheda nodemcu e visualizzati tramite Blynk app deputata allo sviluppo di soluzioni IoT.
პროექტი გამოიყენება ხელნაკეთი ლუდის დუღილის მონიტორინგისთვის მარტივი ვიბრაციის სენსორის გამოყენებით (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
რა ხდება, როდესაც სენსორი "დამონტაჟებულია" ბუშტუკზე, რომ ყოველ ჯერზე CO2 გამოდევნისას სენსორი ჩაწერს ვიბრაციებს, რომლებიც ნაჩვენები იქნება ბლინკის აპლიკაციაში
ნაბიჯი 3: კოდი
il codice per pertetere il funzionamento del tutto è il seguente che basterà caricare sulla scheda tramide il software Arduino IDE
კოდი, რომელიც მთლიანი ფუნქციონირების საშუალებას იძლევა, არის შემდეგი, რაც საკმარისი იქნება ბარათზე Arduino IDE პროგრამული უზრუნველყოფის ჩასატვირთად
#მოიცავს Adafruit_Sensor.h
#მოიცავს DHT.h
#განსაზღვრეთ BLYNK_PRINT სერიალი
#მოიცავს ESP8266WiFi.h;
#ჩართეთ ბლინკ მარტივი SimpleEsp8266.h;
#მოიცავს SimpleTimer.h;
#მოიცავს ვიჯეტის RTC.h;
float lettura [50]; // dimensione Arrayper მედია
int nume_Letture = 0; // progressivo სალათი
float tot_Letture = 0; // somma letture
float media_Letture = 0; // მედია სალათი
int conteggio = 0; // variabile di conteggio primario
// inizio dichiarazioni variabili per media Continua
int i = 0;
int cc = 0;
int ტოგლი = 0;
// ჯარიმა dichiarazioni variabili per media continua
int val; // ცვალებადი რეგისტრაციის ვიბრაციონი
int vibr_pin = 5; // Piedino x Sensore di Vibrazione D1
int vb = 0; // ინიციალიზო vb a 0
int vbr = 0; // ინიციალიზო vb a 0
int vbinit = 0; // ინიციაცილო ვბინიტი a 0
ხელმოუწერელი გრძელი პრიმა = 0; // უტილიტი ერთ გაცვლაზე min/max
გრძელი ტემპმაქსი = 660000; // უტილიტი ერთ გაცვლაზე min/max
float tmax = -100; // impostazione impossibile per la temperatura massima
float tmin = 100; // impostazione impossibile per il temperatura minima
float umax = 0; // impostazione impossibile per umidità massima
float umin = 100; // impostazione impossibile per umidità minima
სიმებიანი ტექსტი; // stringa visualizzata su Blynk
სიმებიანი პიტნა; // stringa visualizzata su Blynk
სიმებიანი maxu; // stringa visualizzata su Blynk
სიმებიანი მინუ; // stringa visualizzata su Blynk
ჩარტ ავტორი = "a °°°(char ssid = "T ° ° ° ° ° 9" 9 "; //ვაი - ფაი
char pass = O °°°(// psw
#განსაზღვრეთ DHTPIN 2 // pin sensore DHT
#განსაზღვრეთ DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
SimpleTimer ქრონომეტრი; // ტაიმერი
WidgetRTC rtc; // orologio di sistema ბლინკი
WidgetLED led1 (V15); // Led Blynk sul pin V15
BLYNK_CONNECTED () {
rtc.begin (); // avvio RTC
}
BLYNK_WRITE (V0) // რუტინა ბლინკის გემოვნებით გადატვირთვისთვის
{
int attiva = param.asInt ();
თუ (ატივა == 1) {
tmax = -100;
tmin = 100;
უმაქსი = 0;
umin = 100;
maxt = "------------";
პიტნა = "------------";
maxu = "------------";
minu = "------------";
მედია_ლეტურა = 0;
tot_Letture = 0;
nume_Letture = 0;
კონტეჯიო = 0;
cc = 0;
სერიული.პრინტლნი (კონტეჯიო);
Blynk.virtualWrite (V8, media_Letture);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, პიტნა);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
Blynk.virtualWrite (V1, conteggio);
Serial.println ("რესეტი");
დაგვიანება (200);
Blynk.virtualWrite (V0, LOW);
}
}
void sendSensor () // normale procedura di lettura
{
სიმებიანი currentTime = სიმებიანი (საათი ()) + ":" + წუთი ();
სიმებიანი currentDate = სიმებიანი (დღე ()) + "/" + თვე ();
float h = dht.readHumidity ();
float t = dht.readTemperature ();
თუ (ისნანი (თ) || ისნანი (ტ)) {
Serial.println ("DHT სენსორიდან წაკითხვა ვერ მოხერხდა!");
led1.on ();
დაბრუნების;
}
სხვა {
led1.off ();
}
თუ (t> tmax) {
tmax = t;
maxt = სიმებიანი (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
თუ (t <tmin) {
tmin = t;
პიტნა = სიმებიანი (t) + "° C (" + currentTime + "-" + currentDate + ")";
}
თუ (h> umax) {
უმაქსი = თ;
maxu = სიმებიანი (თ) + "% (" + მიმდინარე დრო + "-" + მიმდინარე თარიღი + ")";
}
თუ (h <umin) {
umin = h;
minu = სიმებიანი (თ) + "% (" + მიმდინარე დრო + "-" + მიმდინარე თარიღი + ")";
}
Blynk.virtualWrite (V5, თ);
Blynk.virtualWrite (V6, t);
Blynk.virtualWrite (V7, vb);
Blynk.virtualWrite (V10, maxt);
Blynk.virtualWrite (V11, პიტნა);
Blynk.virtualWrite (V12, maxu);
Blynk.virtualWrite (V13, minu);
}
ბათილი calcolo_media () // პროცედურა რეგისტრაციის მონაცემების მედიაზე
{
lettura [nume_Letture] = dht.readTemperature ();
თუ (ისნანი (lettura [nume_Letture]))) {
led1.on ();
დაბრუნების;
}
// procedura media circolare
თუ (nume_Letture> = 48) {
ტოგლი = 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 სალათი (24ore)
}
თუ (cc == 1) {
კონტეჯიო = 48; // DOPO le prime 24ore გაყოფა sempre per 24ore (48mezzore)
}
სხვა {
// მედია prima dello scadere delle 24ore
tot_Letture += (lettura [nume_Letture]);
კონტეგიო = კონტეგიო+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 (author, ssid, pass);
dht. დაწყება ();
timer.setInterval (10000, sendSensor); // lettura temperatura umidità ogni 5 წთ
timer.setInterval (1800000, calcolo_media); // lettura e media ogni 30 წთ
}
ბათილი მარყუჟი ()
{
Blynk.run ();
timer.run ();
ხანგრძლივი adesso = millis ();
val = digitalRead (vibr_pin);
vb = vb+val;
if (adesso - prima> = Tempmax)
{
vb = 0;
vbinit = vb;
პრიმა = ადესო;
}
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან