Mundarija:
Video: ESP8266-01: 3 qadamining 4 ta pinidan foydalanish
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Eslatma: Ushbu loyiha, asosan, faqat 2 ta pin ishlatilgan, oldingi ko'rsatmalarni kengaytmasi bo'lib, ESP8266-01 GPIO pinlarining cheklangan soni (4) har qanday jiddiy dastur uchun to'siq bo'lib tuyulishi mumkin. Aqlli usulda, faqat 4 ta pin bilan ko'p ish qilish mumkin, ba'zi so'nggi ko'rsatmalarimda men DHT11, DS18B20, OLED, RTC va ESP8266-01 bilan BMP180 ishlatilishini ko'rsatdim. Bu yo'riqnomada men 4 ta sensor va displeydan foydalanishni, shu bilan birga olingan ma'lumotlarni Thingspeak -ga yuklashni yo'lga qo'ydim. Bu aslida mening tovuqxonam va atrofimdagi atmosferani kuzatish loyihasini kengaytirmoqda. Ha, siz buni ob -havo stantsiyasi deb atashingiz mumkin, lekin bu faqat 4 ta pinni ishlatishni tasvirlash uchun, siz boshqa yo'l bilan osonlikcha boshqa narsani qilishingiz mumkin, men 2 DS18B20 datchiklari uchun I2C (BMP180 va OLED) uchun 1 ta pinni ishlataman. DHT11 uchun OneWire protokoli 1-pin ESP8266-01-da hozirda uning barcha pinlari ishlatilgan bo'lsa-da, men hali ham OneWire protokoli va/yoki I2C protokoli orqali ko'proq sensorlarni (yoki aktuatorlarni) qo'shishim mumkin, shuning uchun bizga nima kerak: BOM
- ESP8266-01
- 2x DS18B20
- 1x DHT11
- 1x BMP180
- OLED (ixtiyoriy)
va, albatta, non paneli, 3,3 V kuchlanishli PSU va bir nechta non simlari va Thingspeak hisobi
Bank bilan bog'liq ba'zi izohlar:
- Shubhasiz, loyiha ESP8266-01 cheklangan pimlarini ishlatishga qaratilgan, lekin agar siz hali ham sotib olishingiz kerak bo'lsa, ko'proq pinli ESP8266-12 ni ko'rib chiqishingiz mumkin.
- DHT11A arzon namlik va harorat sensori. Bu unchalik aniq emas, lekin shunday bo'ladi. Agar siz hali ham sotib olishingiz kerak bo'lsa, siz aniqroq DHT22 ni tanlashingiz mumkin, lekin siz ham AMS2321 ni tanlashingiz mumkin. Bu I2C uchun mos bo'lgan DHT22 turidir, shuning uchun boshqa pinni bo'shatadi
- BMP180 harorat va havo bosimini o'lchaydi. Bu BMP085 vorisi, lekin hozirda uning o'zi ham ba'zi yordamchilarga ega. BMP280 (arzonroq) bor, lekin siz harorat, havo bosimi va namlikni o'lchaydigan BME280 ni tanlashingiz mumkin. Shunday qilib, siz DHT/AMS sensorini tejashingiz mumkin
- OLEDI buni ishlatdi, shuning uchun men sensorlar o'qilganligini tezda bilib oldim, lekin siz buni Thingspeak -da tekshirishingiz mumkin. OLED hamma o'qilgan qiymatlarni chop etish uchun juda kichik
1 -qadam: O'chirish davri
ESP8266 ning 4 ta pimi tenglikni kartasida ko'rsatilmagan va aksariyat tasvirlarda faqat GPIO0 va GPIO2 aniq ko'rsatilgan, biroq ESP826-01da GPIO1 pinli (Tx pinli) va GPIO3 pinli (Rx pinli).i mavjud. bu pinlarni quyidagicha ishlatadi
- GPIO0 -> I2C portining SDA pimi
- GPIO1 -> DHT11
- GPIO2-> I2C portining SCL pin
- GPIO3-> OneWire avtobusi
Mening I2C modullarim allaqachon tortishish rezistorlariga ega bo'lgani uchun, men u erga hech qanday I2C tortish qarshiligini qo'shmayman. DS18B20 hali ham 4k7 ishlatgan tortishish qarshiligiga muhtoj, lekin bu unchalik muhim emas, 10k ham yaxshi. DHT11, shuningdek, tortish qarshiligiga muhtoj, lekin men u ham ishlamasdan ishlaganini topdim. 4k7 rezistorni qo'shish hech qanday o'qishni o'zgartirmadi, shuning uchun men uni tashlab qo'ydim. 3 pinli DHT11 modullarining ko'pchiligi, 10 k lehimlangan, men hozirgina OLED uchun ulanishlarni chizmaganimni tushundim. Buning sababi shundaki, men uni faqat tezkor tekshirish uchun bog'ladim, lekin agar siz uni qo'shishni xohlasangiz, bu faqat SDA -ni SDA -ga va SCL -ni SCL -ga ulash … va, albatta, er va Vcc pinlarini hamkasblariga ulash.
2 -qadam: Dastur
Dastur juda sodda. Avval u kutubxonalar va datchiklarni o'rnatadi, DHT11 -ni 1 -pin (Tx) ga va DS18B20 uchun OnWire avtobusini 3 -pin (Rx) ga ulaydi. OneWire avtobusida 1 dan ortiq DS18B20 sensoridan foydalanish uchun siz ularning "noyob manzilini" bilishingiz kerak. Agar sizda bunday bo'lmasa, u manzillarni o'qish uchun sizga dastur kerak. Dasturda siz hali ham Thingspeak kanalingiz uchun WiFi ma'lumotlarini, shuningdek API yozishni ta'minlashingiz kerak.
/*
Dala 1 temp roost (DHT11) Dala 2 namlik rost (DHT11) maydon 3 Coop harorati (DS18B20) maydon 4 tuproq harorati (DS18B20) maydon 5 Havo bosimi (bmp180) maydon 6 Tashqi harorat (bmp180) * */ #include #include // https://www.pjrc.com/teensy/td_libs_OneWire.html #include // https://milesburton.com/Main_Page?title=Dallas_Tem… #include #include #include "SSD1306.h" SSD1306 displeyi (0x3c, 0, 2); #depine DHTPIN 1 // GPIO1 (Tx) #deftine DHTTYPE DHT11 #deineFine ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "YourSSID"; const char* password = "Sizning parolingiz"; const char* host = "api.thingspeak.com"; const char* writeAPIKey = "W367812985"; // WriteApi -ni ishlating // DHT11 narsalar float temperature_buiten; suzuvchi harorat_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // DS18b20 materiallari OneWire oneWire (ONE_WIRE_BUS); // OneWire namunasi har qanday OneWire qurilmasi bilan aloqa o'rnatish uchun DallasTemperature sensorlar (& oneWire); // Bizning oneWire misolimizning manzilini Dallas haroratiga o'tkazing. DeviceAddress Probe01 = {0x28, 0x0F, 0x2A, 0x28, 0x00, 0x00, 0x80, 0x9F}; DeviceAddress Probe02 = {0x28, 0x10, 0xA4, 0x57, 0x04, 0x00, 0x00, 0xA9}; // bmp180 narsalar Adafruit_BMP085 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Wire.begin (0, 2); // Sensorlarni ishga tushirish // dht 11 ta narsalar dht.begin (); // ds18b20 stuff sensors.begin (); // ds18b20 // piksellar sonini 10 bitga o'rnating (9 dan 12 bitgacha bo'lishi mumkin.. pastroq tezroq) sensorlar.setResolution (Probe01, 10); sensorlar.setResolution (Probe02, 10); // bmp180 narsalar, agar (! bmp.begin ()) {// Serial.println ("BMP180 /BMP085 yo'q"); // while (1) {}} // OLED materiallari display.init (); display.flipScreenVertically (); display.setFont (ArialMT_Plain_10); kechikish (1000); // WiFi tarmog'iga ulanish WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); }} void loop () {// ds18b20stuff ------------------- sensorlar.requestTemperatures (); // haroratni olish uchun buyruq yuboring temperature_buiten = sensors.getTempC (Probe01); // temperature_buiten2 = sensorlar.getTempC (Probe02); // // dht11 narsalar ---------------- ---- suzuvchi namlik = dht.readHumidity (); float harorati = dht.readTemperature (); agar (isnan (namlik) || isnan (harorat)) {qaytish; } // bmp narsalar ------------------------- String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // OLED materiallari -------------------------- display.clear (); display.drawString (0, 10, p); // bmp bosimini ko'rsatish.drawString (0, 24, String (harorat_buiten)); // ds18b20 ko'rsatish.drawString (0, 38, String (namlik));. ekran (); // WiFiClient mijoziga TCP ulanishini o'rnatish; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += yozishAPIKey; url += "& maydon1 ="; url += String (harorat); // roost (DHT1) url += "& field2 ="; url += String (namlik); // roost (DHT11) url += "& field3 ="; url += String (temperatura_buiten); // xona harorati (DS18B20 nr 1) url += "& field4 ="; url += String (harorat_buiten2); // tuproq harorati (DS18B29 nr 2) url += "& field5 ="; url += String (bmp.readTemperature ()); Tashqi harorat (BMP180) url += "& field6 ="; url += String (bmp.readPressure ()); // Havo bosimi (BMP180) url += "\ r / n"; // Client.print serveriga so'rov yuboring (String ("Get") + url + "HTTP/1.1 / r / n" + "Xost:" + host + "\ r / n" + "Ulanish: yopish / r / n / r / n "); kechikish (1000); }
……..
3 -qadam: Ko'proq
Hozirgi vaqtda bu dastur faqat kuzatadi, lekin sizni BH1750 I2C yorug'lik sezgichini qo'shishga nima to'sqinlik qiladi: kech yoki ertalabmi yoki RTC kunning vaqtini biladi va uning yordamida eshikni avtomatik ravishda ochadi va yopadi. PCF8574 I2C I/U kengaytirish kartasi yoki u allaqachon bog'da bo'lgani kabi, tuproq namligini o'lchash va kerak bo'lganda nasosni yoqish uchun PCF8591 yoki ADS1115 AD konvertorini qo'shing. Yoki harorat noldan pastga tushganda, suv havzasi isitgichini yoqish mumkin, agar I2 C chipi bo'lsa, ESP8266 uni ishlatishi mumkin.
Muhim eslatma: Dastur avvalgidek yaxshi ishlaydi, lekin agar siz Rx yoki Tx -ga boshqa datchiklarni qo'shsangiz, ayniqsa ularni chiqishlarga aylantirsangiz, pinlar kutilmaganda ular GPIO pinlari emasligini eslab qolishi mumkin. Ilovalarni GPIO pinlari ekanligini boshidanoq aytish yaxshiroqdir, buni quyidagi sozlamalarni o'rnatish orqali amalga oshiradi:
pinMod (1, FUNCTION_3);
pinMode (3, FUNCTION_3);
Tavsiya:
ESP8266 bilan analog sensorlardan foydalanish: 5 qadam
Analog sensorlarni ESP8266 bilan ishlatish: Analog-raqamli konvertor (ADC, A/D, A-D yoki A-dan D)-analog signalni raqamli signalga aylantiradigan tizim. A/D konvertorlari ma'lumotlarni qayta ishlash uchun analog elektr signallarini tarjima qiladi. Mahsulotlar ishlash, quvvat va
ESP8266/ESP32 platalari bilan WiFi avtomatik ulanishdan foydalanish: 3 qadam
WiFi AutoConnect -ni ESP8266/ESP32 platalari bilan ishlatish: Biz smartfon yordamida Wi -Fi kirish nuqtalariga ulanish va ularni boshqarishga imkon beradigan AutoConnect kutubxonasidan qanday foydalanishni bilib olamiz. Yuqoridagi video sizga kerakli ekranlar bilan birga jarayonni boshqaradi. t haqida ma'lumot olish uchun kirish
Foydalanish uchun Grande 4 Cifre 8886 displeyli Con Wemos ESP8266 Arduino NodeMCU: 6 qadam
Buyuk ekranni 4 Cifre 8886 displeyli konfiguratsiyani ishlating ESP8266 Arduino NodeMCU: Diqqat bilan yozib olish uchun 8886 -displeyda, har bir kompyuter uchun D1 -ni tanlang - bu Arduino -da emas u mikrokontrollni yuqori darajadagi holatga keltiradi
Blynk yordamida Wemos ESP-Wroom-02 D1 Mini WiFi moduli ESP8266 + 18650 dan qanday foydalanish kerak: 10 qadam
Blynk yordamida Wemos ESP-Wroom-02 D1 Mini WiFi moduli ESP8266 + 18650-dan qanday foydalanish kerak: Xususiyatlar: nodemcu 18650 zaryadlash tizimining integratsiyasi bilan mos keladi. Ko'rsatkichli LED (yashil rang to'liq qizil degan ma'noni anglatadi) zaryad olayotganda ishlatilishi mumkin ulagichni uyqu rejimida ishlatish mumkin · 1 ta qo'shish
Acer Aspire 1690: 6 qadamining DVD diskini o'zgartiring
Acer Aspire 1690 DVD drayverini o'zgartiring: Bu ko'rsatma Acer Aspire 1690 (va boshqa Acers) DVD diskini qanday o'zgartirish kerakligini ko'rsatadi. Rasmlar past o'lchamli, lekin to'g'ri vintlarni topishda yordam berishi kerak