Πίνακας περιεχομένων:
- Βήμα 1: BoM - Bill of Material
- Βήμα 2: Ο αναλογικός αισθητήρας UV
- Βήμα 3: Εγκατάσταση οθόνης: OLED
- Βήμα 4: Τοπικός μετρητής UV
- Βήμα 5: Εγκατάσταση DHT22 για μετρήσεις θερμοκρασίας αέρα και υγρασίας
- Βήμα 6: Αποστολή δεδομένων στο ThingSpeak.com
- Βήμα 7: Συμπέρασμα
Βίντεο: IoT Made Easy: Λήψη απομακρυσμένων δεδομένων καιρού: UV και θερμοκρασία Θερμοκρασία & υγρασία: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-02-01 14:40
Σε αυτό το σεμινάριο, θα καταγράψουμε απομακρυσμένα δεδομένα ως UV (υπεριώδη ακτινοβολία), θερμοκρασία αέρα και υγρασία. Αυτά τα δεδομένα θα είναι πολύ σημαντικά και θα χρησιμοποιηθούν σε έναν μελλοντικό πλήρη Μετεωρολογικό Σταθμό.
Το μπλοκ διάγραμμα δείχνει τι θα πάρουμε στο τέλος.
Βήμα 1: BoM - Bill of Material
NodeMCU (ESP8266-12E) - 9,00 USD
Αισθητήρας υγρασίας και θερμοκρασίας (DHT22) - 10,00 USD
Αισθητήρας UV - 4,00 USD
OLED USD 12,00
Breadboard - 1,00 USD
Βήμα 2: Ο αναλογικός αισθητήρας UV
Αυτός ο αισθητήρας UV παράγει μια αναλογική έξοδο ανάλογη της υπεριώδους ακτινοβολίας που βρίσκεται στο φάσμα ανίχνευσης φωτός. Χρησιμοποιεί μια υπεριώδη φωτοδίοδο (βασισμένη στο νιτρίδιο του γαλλίου), η οποία μπορεί να ανιχνεύσει το φάσμα του φωτός 240-370nm (που καλύπτει το UVB και το μεγαλύτερο μέρος του φάσματος UVA). Το επίπεδο σήματος από τη φωτοδίοδο είναι πολύ μικρό, στο επίπεδο νανο-αμπέρ, οπότε η μονάδα έχει ενσωματώσει έναν λειτουργικό ενισχυτή για να ενισχύσει το σήμα σε ένα πιο ευανάγνωστο επίπεδο τάσης (0 έως 1V).
Ο αισθητήρας και ο ενισχυτής μπορούν να τροφοδοτηθούν, συνδέοντας το VCC σε 3,3VDC (ή 5VDC) και το GND στη γείωση τροφοδοσίας. Το αναλογικό σήμα μπορεί να ληφθεί από τον ακροδέκτη OUT.
Η έξοδός του θα είναι σε χιλιοστά βολτ και θα διαβαστεί από την Αναλογική Είσοδο του NodeMCU. Μόλις διαβαστεί, θα πρέπει να το "μετατρέψουμε" (ή να "αντιστοιχίσουμε") για να χειριστεί καλύτερα τις τιμές ο κώδικας. Μπορούμε να το κάνουμε με τη συνάρτηση readSensorUV ():
/ * Διαβάστε τον αισθητήρα UV σε mV και υπολογίστε τον δείκτη UV * *
void readSensorUV () {byte numOfReadings = 5; dataSensorUV = 0; για (int i = 0; i <numOfReadings; i ++) {dataSensorUV+= analogRead (sensorUVPin); καθυστέρηση (200)? } dataSensorUV /= numOfReadings; dataSensorUV = (dataSensorUV * (3.3 / 1023.0)) * 1000; Serial.println (dataSensorUV); indexCalculate (); }
Μόλις έχουμε τα δεδομένα υπεριώδους ακτινοβολίας, μπορούμε εύκολα να υπολογίσουμε τον δείκτη UV, όπως ορίζεται στον παραπάνω πίνακα. Η συνάρτηση indexCalculate () θα το κάνει για εμάς:
/ * Υπολογισμός δείκτη UV */
void indexCalculate () {if (dataSensorUV <227) indexUV = 0; αλλιώς αν (227 <= dataSensorUV && dataSensorUV <318) indexUV = 1; αλλιώς εάν (318 <= dataSensorUV && dataSensorUV <408) indexUV = 2; αλλιώς αν (408 <= dataSensorUV && dataSensorUV <503) indexUV = 3; αλλιώς αν (503 <= dataSensorUV && dataSensorUV <606) indexUV = 4; αλλιώς αν (606 <= dataSensorUV && dataSensorUV <696) indexUV = 5; αλλιώς αν (696 <= dataSensorUV && dataSensorUV <795) indexUV = 6; αλλιώς εάν (795 <= dataSensorUV && dataSensorUV <881) indexUV = 7; αλλιώς εάν (881 <= dataSensorUV && dataSensorUV <976) indexUV = 8; αλλιώς αν (976 <= dataSensorUV && dataSensorUV <1079) indexUV = 9; αλλιώς αν (1079 <= dataSensorUV && dataSensorUV <1170) indexUV = 10; else indexUV = 11; }
Βήμα 3: Εγκατάσταση οθόνης: OLED
Για σκοπούς δοκιμής, θα συμπεριλάβουμε ένα OLED στον μετρητή UV (αυτό το βήμα είναι εντελώς προαιρετικό).
Είναι εντάξει κατά τη διάρκεια των δοκιμών, η χρήση της Serial Monitor, αλλά τι συμβαίνει όταν χρησιμοποιείτε τα πρωτότυπα σας μακριά από τον υπολογιστή σας σε αυτόνομη λειτουργία; Για αυτό, ας εγκαταστήσουμε μια οθόνη OLED, την SSD1306, με τα κύρια χαρακτηριστικά της:
- Μέγεθος οθόνης: 0,96"
- Σειριακό I2C IIC SPI
- 128X64
- Λευκό LED OLED LCD
Ακολουθήστε το ηλεκτρικό διάγραμμα και συνδέστε τις 4 ακίδες του OLED μας:
- Το VCC πηγαίνει στα 3.3V
- Το GND πηγαίνει στο έδαφος
- Το SCL πηγαίνει στο NodeMCU (GPIO 2) ==> D4
- Το SDA πηγαίνει στο NodeMCU (GPIO 0) ==> D3
Αφού συνδέσουμε την οθόνη, ας κατεβάσουμε και εγκαταστήσουμε τη βιβλιοθήκη της στο Arduino IDE: το "ESP8266 OLED Driver for SSD1306 display" που αναπτύχθηκε από τον Daniel Eichhorn (Βεβαιωθείτε ότι χρησιμοποιείτε την έκδοση 3.0.0 ή μεγαλύτερη!).
Εγκαταστήστε τη βιβλιοθήκη στο Arduino IDE που μπορείτε να βρείτε στο SSD1306Wire.h
Μόλις επανεκκινήσετε το IDE, η βιβλιοθήκη θα πρέπει να είναι ήδη εγκατεστημένη.
Η βιβλιοθήκη υποστηρίζει πρωτόκολλο I2C για πρόσβαση στην οθόνη OLED χρησιμοποιώντας την ενσωματωμένη βιβλιοθήκη Wire.h:
/ * OLED */
#include "SSD1306Wire.h" #include "Wire.h" const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306Εμφάνιση καλωδίων (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN).
Ας απαριθμήσουμε μερικά σημαντικά API που θα χρησιμοποιηθούν με την οθόνη OLED. Ο πλήρης κατάλογος μπορεί να βρεθεί στο GITHub που παρέχεται παραπάνω.
A. Έλεγχος οθόνης:
void init (); // Αρχικοποιήστε την οθόνη
void displayOn (void)? // Ενεργοποιήστε την οθόνη σε κενό displayOff (άκυρο). // Απενεργοποιήστε την οθόνη void clear (void). // Εκκαθάριση τοπικού pixel buffer void flipScreenVertically (); // Αναποδογυρίστε την οθόνη
Β. Λειτουργίες κειμένου:
void drawString (int16_t x, int16_t y, String text); // (xpos, ypos, "Text")
void setFont (const char* fontData); // Ορίζει την τρέχουσα γραμματοσειρά.
Διαθέσιμες προεπιλεγμένες γραμματοσειρές:
- ArialMT_Plain_10,
-
ArialMT_Plain_16,
- ArialMT_Plain_24
Μόλις εγκατασταθεί τόσο το ίδιο το OLED όσο και η Βιβλιοθήκη του, ας γράψουμε ένα απλό πρόγραμμα για να το δοκιμάσουμε. Εισαγάγετε με τον παρακάτω κωδικό στο IDE σας, το αποτέλεσμα θα πρέπει να είναι μια οθόνη όπως φαίνεται στην παραπάνω φωτογραφία:
* OLED */
#include "SSD1306Wire.h" #include "Wire.h" const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306Εμφάνιση καλωδίων (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN). void setup () {Serial.begin (115200); displaySetup (); } void loop () {} / * Εκκίνηση και εμφάνιση δεδομένων εγκατάστασης σε OLED * / void displaySetup () {display.init (); // αρχικοποίηση οθόνης. Clear (); // Διαγραφή οθόνης.flipScreenVertically (); // Γυρίστε την οθόνη ανάποδα display.display (); // Βάλτε δεδομένα στην οθόνη Serial.println ("Έναρξη δοκιμής εμφάνισης"); display.setFont (ArialMT_Plain_24); display.drawString (30, 0, "OLED"); // (xpos, ypos, "Text") display.setFont (ArialMT_Plain_16); display.drawString (18, 29, "Δοκιμή ξεκίνησε"); display.setFont (ArialMT_Plain_10); display.drawString (10, 52, "Serial BaudRate:"); display.drawString (90, 52, String (11500)); display.display (); // Θέστε δεδομένα στην καθυστέρηση εμφάνισης (3000). }
Μπορείτε να κατεβάσετε το παραπάνω πρόγραμμα από το GitHub μου:
NodeMCU_OLED_Test
Βήμα 4: Τοπικός μετρητής UV
Τώρα, με εγκατεστημένη την οθόνη OLED, μπορούμε να συνδέσουμε μια μπαταρία και να κάνουμε μερικές απομακρυσμένες δοκιμές χρησιμοποιώντας το "UV Meter"
#define SW_VERSION "UV_Sensor_V.1"
/ * Αισθητήρας UV */ #ορίστε αισθητήραUVPin A0 int dataSensorUV = 0; int indexUV = 0; / * OLED */ #include "SSD1306Wire.h" #include "Wire.h" const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306Εμφάνιση καλωδίων (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN). void setup () {Serial.begin (115200); displaySetup (); } void loop () {readSensorUV (); displayUV (); καθυστέρηση (1000)? } / * Εκκίνηση και εμφάνιση δεδομένων εγκατάστασης σε OLED * / void displaySetup () {display.init (); // αρχικοποίηση οθόνης. Clear (); // Διαγραφή οθόνης.flipScreenVertically (); // Γυρίστε την οθόνη ανάποδα display.display (); // Εμφάνιση δεδομένων Serial.println ("Έναρξη δοκιμής αισθητήρα UV"). display.setFont (ArialMT_Plain_24); display.drawString (10, 0, "MJRoBot"); display.setFont (ArialMT_Plain_16); display.drawString (0, 29, "Δοκιμή αισθητήρα UV"); display.setFont (ArialMT_Plain_10); display.drawString (0, 52, "ΝΔ Ver.:"); display.drawString (45, 52, SW_VERSION); display.display (); καθυστέρηση (3000)? } / * Διαβάστε τον αισθητήρα UV σε mV και υπολογίστε τον δείκτη UV * / void readSensorUV () {byte numOfReadings = 5; dataSensorUV = 0; για (int i = 0; i <numOfReadings; i ++) {dataSensorUV+= analogRead (sensorUVPin); καθυστέρηση (200)? } dataSensorUV /= numOfReadings; dataSensorUV = (dataSensorUV * (3.3 / 1023.0)) * 1000; Serial.println (dataSensorUV); indexCalculate (); } / * Υπολογισμός δείκτη UV * / void indexCalculate () {if (dataSensorUV <227) indexUV = 0; αλλιώς αν (227 <= dataSensorUV && dataSensorUV <318) indexUV = 1; αλλιώς εάν (318 <= dataSensorUV && dataSensorUV <408) indexUV = 2; αλλιώς αν (408 <= dataSensorUV && dataSensorUV <503) indexUV = 3; αλλιώς αν (503 <= dataSensorUV && dataSensorUV <606) indexUV = 4; αλλιώς αν (606 <= dataSensorUV && dataSensorUV <696) indexUV = 5; αλλιώς αν (696 <= dataSensorUV && dataSensorUV <795) indexUV = 6; αλλιώς αν (795 <= dataSensorUV && dataSensorUV <881) indexUV = 7; αλλιώς εάν (881 <= dataSensorUV && dataSensorUV <976) indexUV = 8; αλλιώς αν (976 <= dataSensorUV && dataSensorUV <1079) indexUV = 9; αλλιώς αν (1079 <= dataSensorUV && dataSensorUV <1170) indexUV = 10; else indexUV = 11; } /* Εμφάνιση τιμών UV σε τοπικό OLED* / void displayUV () {display.clear (); display.setFont (ArialMT_Plain_16); display.drawString (20, 0, "UV Sensor"); display.drawString (0, 23, "UV (mV):"); display.drawString (80, 23, String (dataSensorUV)); display.drawString (0, 48, "Δείκτης UV:"); display.setFont (ArialMT_Plain_24); display.drawString (82, 42, String (indexUV)); display.display (); }
Μπορείτε να κατεβάσετε τον παραπάνω κώδικα από το GitHun μου: NodeMCU_UV_Sensor_OLED.ino
Βήμα 5: Εγκατάσταση DHT22 για μετρήσεις θερμοκρασίας αέρα και υγρασίας
Ένας από τους πιο χρησιμοποιούμενους αισθητήρες για τη λήψη δεδομένων καιρού είναι ο DHT22 (ή ο αδελφός DHT11), ένας ψηφιακός αισθητήρας σχετικής υγρασίας και θερμοκρασίας. Χρησιμοποιεί έναν χωρητικό αισθητήρα υγρασίας και ένα θερμίστορ για τη μέτρηση του περιβάλλοντος αέρα και εκπέμπει ένα ψηφιακό σήμα στην ακίδα δεδομένων (δεν απαιτούνται αναλογικές ακίδες εισόδου).
Ο αισθητήρας πρέπει να τροφοδοτείται μεταξύ 3,3V και 5V και θα λειτουργεί από -40oC έως +80oC με ακρίβεια +/- 0,5oC για θερμοκρασία και +/- 2% για σχετική υγρασία. Είναι επίσης σημαντικό να έχετε κατά νου ότι η περίοδος ανίχνευσής του είναι κατά μέσο όρο 2 δευτερόλεπτα (ελάχιστος χρόνος μεταξύ των μετρήσεων). Ο ιστότοπος του Adafruit παρέχει πολλές πληροφορίες και για τα δύο, DHT22 και τον αδελφό του DHT11. Για περισσότερες λεπτομέρειες, επισκεφθείτε τη σελίδα φροντιστηρίου DHT22/11.
Το DHT22 έχει 4 ακίδες (βλέποντας τον αισθητήρα, ο πείρος 1 είναι ο πιο αριστερός):
- VCC (θα συνδεθούμε σε 3.3V από το NodeMCU).
- Έκδοση δεδομένων
- Δεν συνδέεται και
- Εδαφος.
Μόλις συνήθως χρησιμοποιείτε τον αισθητήρα σε αποστάσεις μικρότερες από 20m, θα πρέπει να συνδεθεί μια αντίσταση 10K μεταξύ των ακίδων δεδομένων και VCC. Ο ακροδέκτης εξόδου θα συνδεθεί με τον πείρο NodeMCU D3 (δείτε το παραπάνω διάγραμμα). Μόλις εγκατασταθεί ο αισθητήρας στη μονάδα μας, κατεβάστε τη βιβλιοθήκη DHT από το αποθετήριο Adafruit GitHub και εγκαταστήστε το στο αρχείο της βιβλιοθήκης του Arduino. Μόλις φορτώσετε ξανά το Arduino IDE, θα πρέπει να εγκατασταθεί η "βιβλιοθήκη αισθητήρων DHT".
Στην αρχή του κώδικα, πρέπει να συμπεριλάβουμε τις γραμμές:
/* DHT22*/
#include "DHT.h" #define DHTPIN D2 #define DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE); φουσκωτό βουητό = 0; float temp = 0;
Θα δημιουργηθεί μια νέα λειτουργία για την ανάγνωση του αισθητήρα:
/ * Λήψη δεδομένων DHT */
void getDhtData (void) {float tempIni = temp; float humIni = βουητό; temp = dht.readTemperature (); hum = dht.readHumidity (); if (isnan (hum) || isnan (temp)) // Ελέγξτε αν απέτυχε οποιαδήποτε ανάγνωση και βγείτε νωρίς (για να προσπαθήσετε ξανά). {Serial.println ("Η ανάγνωση απέτυχε από τον αισθητήρα DHT!"); temp = tempIni; βουητό = humIni; ΕΠΙΣΤΡΟΦΗ; }}
Ο πλήρης κωδικός που περιλαμβάνει τους αισθητήρες UV και DHT μπορεί να μεταφορτωθεί από το GitHub μου: NodeMCU_UV_DHT_Sensor_OLED
Βήμα 6: Αποστολή δεδομένων στο ThingSpeak.com
Μέχρι στιγμής, χρησιμοποιήσαμε μόνο το NodeMCU ESP12-E ως κανονικό και συνηθισμένο πίνακα Arduino. Φυσικά, έχουμε «ξύνει» μόνο τις πραγματικές δυνατότητες αυτού του εντυπωσιακού μικρού τσιπ και τώρα είναι η ώρα της απογείωσης στον ουρανό! Better καλύτερα στα αστέρια! Ερ… στο σύννεφο!;-)
Ας ξεκινήσουμε!
- Πρώτον, πρέπει να έχετε λογαριασμό στο ThinkSpeak.com
- Ακολουθήστε τις οδηγίες για να δημιουργήσετε ένα κανάλι και λάβετε υπόψη το αναγνωριστικό καναλιού και το κλειδί API εγγραφής
- Ενημερώστε τον παρακάτω κώδικα με το δίκτυο WiFi και τα διαπιστευτήριά σας Thinkspeak
- Εκτελέστε το πρόγραμμα στο IDE
Ας σχολιάσουμε τα πιο σημαντικά μέρη του κώδικα:
Αρχικά, ας καλέσουμε τη βιβλιοθήκη ESP8266, να ορίσουμε το πρόγραμμα -πελάτη WiFi και να ορίσουμε τα διαπιστευτήρια τοπικού δρομολογητή και Thinkspeak:
/* ESP12-E & Thinkspeak*/
#include WiFiClient client. const char* MY_SSID = "Το δικό σας SSD ID ΕΔΩ"; const char* MY_PWD = "Ο ΚΩΔΙΚΟΣ ΠΡΟΣΒΑΣΗΣ ΣΑΣ ΕΔΩ"; const char* TS_SERVER = "api.thingspeak.com"; Συμβολοσειρά TS_API_KEY = "ΤΟ ΚΑΝΑΛΙ ΣΑΣ ΓΡΑΦΤΕ ΤΟ Κλειδί API";
Δεύτερον, ας συμπεριλάβουμε μια πολύ σημαντική βιβλιοθήκη για έργα IoT: SimpleTimer.h:
/ * ΧΡΟΝΟΔΙΑΚΟΠΤΗΣ */
#include SimpleTimer timer;
Τρίτον, κατά τη ρύθμιση (), θα ξεκινήσουμε σειριακή επικοινωνία, θα καλέσουμε τη λειτουργία connectWiFi () και θα ορίσουμε τα χρονόμετρα. Σημειώστε ότι η γραμμή κώδικα: timer.setInterval (60000L, sendDataTS). θα καλεί τη συνάρτηση sendDataTS () κάθε 60 δευτερόλεπτα, προκειμένου να ανεβάσει δεδομένα στο κανάλι ThinkSpeak.
void setup ()
{… Serial.begin (115200); καθυστέρηση (10)? … ConnectWifi (); timer.setInterval (60000L, sendDataTS); …}
Τέλος, αλλά όχι λιγότερο σημαντικό, κατά τη διάρκεια του βρόχου (), η μόνη εντολή που χρειάζεται είναι η εκκίνηση του χρονοδιακόπτη και αυτό είναι όλο!
κενός βρόχος ()
{… Timer.run (); // Ξεκινά το SimpleTimer}
Παρακάτω, μπορείτε να δείτε τις δύο σημαντικές λειτουργίες που χρησιμοποιούνται για τον χειρισμό της επικοινωνίας Thinkspeak:
Σύνδεση ESP12-E με το δίκτυό σας WiFi:
/***************************************************
*Σύνδεση WiFi ******************************************* ***/ void connectWifi () {Serial.print ("Connecting to"+*MY_SSID); WiFi.begin (MY_SSID, MY_PWD); while (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (1000); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi Connected"); Serial.println (""); }
Το ESP12-E στέλνει δεδομένα στο ThinkSpeak:
/***************************************************
*Αποστολή δεδομένων στο Thinkspeak Channel **************************************** ******/ void sendDataTS (άκυρο) {if (client.connect (TS_SERVER, 80)) {String postStr = TS_API_KEY; postStr += "& field1 ="; postStr += String (dataSensorUV); postStr += "& field2 ="; postStr += String (indexUV); postStr += "& field3 ="; postStr += String (temp); postStr += "& field4 ="; postStr += String (βουητό); postStr += "\ r / n / r / n"; client.print ("POST /ενημέρωση HTTP /1.1 / n"); client.print ("Host: api.thingspeak.com / n"); client.print ("Σύνδεση: κλείσιμο / n"); client.print ("X-THINGSPEAKAPIKEY:" + TS_API_KEY + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Περιεχόμενο-Μήκος:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); καθυστέρηση (1000)? } εστάλη ++; client.stop (); }
Ο πλήρης κωδικός μπορεί να βρεθεί στο GitHub μου: NodeMCU_UV_DHT_Sensor_OLED_TS_EXT
Μόλις ανεβάσετε τον κωδικό στο NodeMCU. Ας συνδέσουμε μια εξωτερική μπαταρία και κάνουμε κάποια μέτρηση κάτω από τον ήλιο. Βάζω τον Απομακρυσμένο Σταθμό στην οροφή και αρχίζω να καταγράφω δεδομένα στο ThingSpeak.com όπως φαίνεται στις παραπάνω φωτογραφίες.
Βήμα 7: Συμπέρασμα
Όπως πάντα, ελπίζω ότι αυτό το έργο μπορεί να βοηθήσει άλλους να βρουν τον δρόμο τους στον συναρπαστικό κόσμο των ηλεκτρονικών!
Για λεπτομέρειες και τελικό κωδικό, επισκεφθείτε το αποθετήριο GitHub: RPi-NodeMCU-Weather-Station
Για περισσότερα έργα, επισκεφθείτε το ιστολόγιό μου: MJRoBot.org
Μείνετε συντονισμένοι! Επόμενο σεμινάριο θα στείλουμε δεδομένα από έναν απομακρυσμένο μετεωρολογικό σταθμό σε έναν κεντρικό, με βάση έναν διακομιστή Ιστού Raspberry Pi:
Saludos από τον νότο του κόσμου!
Τα λέμε στο επόμενο διδακτικό μου!
Σας ευχαριστώ, Μαρσέλο
Συνιστάται:
Πώς να κάνετε υγρασία και θερμοκρασία σε πραγματικό χρόνο καταγραφέα δεδομένων με Arduino UNO και κάρτα SD - Προσομοίωση DHT11 Data-logger στο Proteus: 5 Βήματα
Πώς να κάνετε υγρασία και θερμοκρασία σε πραγματικό χρόνο καταγραφέα δεδομένων με Arduino UNO και κάρτα SD | Προσομοίωση DHT11 Data-logger στο Proteus: Εισαγωγή: γεια, αυτό είναι το Liono Maker, εδώ είναι ο σύνδεσμος του YouTube. Κάνουμε δημιουργικό έργο με το Arduino και δουλεύουμε σε ενσωματωμένα συστήματα. Data-Logger: Ένας καταγραφέας δεδομένων (επίσης data-logger ή data recorder) είναι μια ηλεκτρονική συσκευή που καταγράφει δεδομένα με την πάροδο του χρόνου
ESP8266 και Visuino: DHT11 Θερμοκρασία και υγρασία Web Server: 12 βήματα
ESP8266 και Visuino: DHT11 Θερμοκρασία και υγρασία Web Server: Οι μονάδες ESP8266 είναι εξαιρετικοί ανεξάρτητοι ελεγκτές χαμηλού κόστους με ενσωματωμένο Wi-Fi και έχω ήδη δημιουργήσει μια σειρά οδηγιών σχετικά με αυτά. Οι DTH11/DTH21/DTH22 και AM2301 είναι πολύ δημοφιλείς συνδυασμένες θερμοκρασίες και αισθητήρες υγρασίας Arduino και έκανα έναν αριθμό
Μετρήστε τη θερμοκρασία και την υγρασία χρησιμοποιώντας DHT11 / DHT22 και Arduino: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας DHT11 / DHT22 και Arduino: Σε αυτό το σεμινάριο Arduino θα μάθουμε πώς να χρησιμοποιούμε τον αισθητήρα DHT11 ή τον αισθητήρα DHT22 για τη μέτρηση θερμοκρασίας και υγρασίας με την πλακέτα Arduino
Αυτοματοποίηση θερμοκηπίου με LoRa! (Μέρος 1) -- Αισθητήρες (Θερμοκρασία, Υγρασία, Υγρασία Εδάφους): 5 Βήματα
Αυτοματοποίηση θερμοκηπίου με LoRa! (Μέρος 1) || Αισθητήρες (Θερμοκρασία, Υγρασία, Υγρασία Εδάφους): Σε αυτό το έργο θα σας δείξω πώς αυτοματοποίησα ένα θερμοκήπιο. Αυτό σημαίνει ότι θα σας δείξω πώς έφτιαξα το θερμοκήπιο και πώς συνδέω τα ηλεκτρονικά τροφοδοσίας και αυτοματισμού. Επίσης, θα σας δείξω πώς να προγραμματίσετε έναν πίνακα Arduino που χρησιμοποιεί L
ESP8266 NodeMCU Access Point (AP) για διακομιστή Web με αισθητήρα θερμοκρασίας DT11 και θερμοκρασία εκτύπωσης και υγρασία στο πρόγραμμα περιήγησης: 5 βήματα
ESP8266 NodeMCU Access Point (AP) για διακομιστή Ιστού με αισθητήρα θερμοκρασίας DT11 και θερμοκρασία εκτύπωσης και υγρασία στο πρόγραμμα περιήγησης: Γεια σας παιδιά στα περισσότερα έργα χρησιμοποιούμε το ESP8266 και στα περισσότερα έργα χρησιμοποιούμε το ESP8266 ως διακομιστή ιστού, ώστε να μπορείτε να έχετε πρόσβαση στα δεδομένα οποιαδήποτε συσκευή μέσω wifi με πρόσβαση στον διακομιστή ιστοσελίδων που φιλοξενείται από το ESP8266, αλλά το μόνο πρόβλημα είναι ότι χρειαζόμαστε έναν δρομολογητή εργασίας για