Բովանդակություն:
Video: Օգտագործելով ESP8266-01: 3 քայլերի 4 կապում
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Նշում. Այս նախագիծը հիմնականում նախկին հրահանգի ընդլայնումն է, որն օգտագործել է ընդամենը 2 կապ: ESP8266-01- ի GPIO կապանքների սահմանափակ թիվը (4) կարող է խոչընդոտ թվալ ցանկացած լուրջ կիրառման համար: Այնուամենայնիվ, եթե մեկը օգտագործում է կապում խելացի կերպով շատ լավ հնարավոր է շատ բան անել միայն այդ 4 կապում: Իմ վերջին հրահանգներից մի քանիսում ես ESP8266-01- ով ցույց եմ տվել DHT11- ի, DS18B20- ի, OLED- ի, RTC- ի և BMP180- ի օգտագործումը: Այս ձեռնարկում ես նպատակադրվեցի օգտագործել 4 տվիչ և դիսփլեյ ՝ միաժամանակ ներբեռնելով ձեռք բերված տվյալները Thingspeak- ում: Այն, ըստ էության, ընդլայնվում է մթնոլորտի մոնիտորինգի նախագծով ՝ իմ հավի համագործարանում և նրա շրջակայքում: Այո, դուք կարող եք սա անվանել եղանակի սառնամանիք, բայց դա պարզապես ցույց տալու համար, թե ինչպես են 4 կապում օգտագործվում, կարող եք հեշտությամբ այլ բան անել այս կերպ: I2C (BMP180 և OLED) 2 կապի համար կօգտագործեմ 2 կապ 2 DS18B20 սենսորների միջոցով Թեև ESP8266-01- ն այժմ օգտագործում է իր բոլոր կապերը, ես դեռ կարող եմ ավելացնել ավելի շատ տվիչներ (կամ գործարկիչներ) OneWire արձանագրության և/կամ I2C արձանագրության միջոցով: Այսպիսով, մեզ ինչ է պետք. BOM
- ESP8266-01
- 2x DS18B20
- 1x DHT11
- 1x BMP180
- OLED (ըստ ցանկության)
և, իհարկե, տախտակ, 3.3 Վ լարման հոսանք և որոշ տախտակի լարեր և Thingspeak հաշիվ
Ընդամենը մի քանի նկատառում BOM- ի վերաբերյալ.
- ESP8266-01 Ակնհայտ է, որ նախագիծը վերաբերում է ESP8266-01- ի սահմանափակ կապերի օգտագործմանը, բայց եթե դեռ անհրաժեշտ է գնել մեկը, կարող եք հաշվի առնել ESP8266-12- ը, որն ունի ավելի շատ կապում
- DHT11A էժան բոլոր նշանակության խոնավության և ջերմաստիճանի ցուցիչ: Դա չափազանց ճշգրիտ չէ, բայց դա անելու է: Եթե դեռ անհրաժեշտ է գնել մեկը, կարող եք ընտրել DHT22- ը, որը ենթադրաբար ավելի ճշգրիտ է, բայց կարող եք նաև ընտրել AMS2321- ը: Դա DHT22- ի մի տեսակ է, որը հարմար է I2C- ի համար, դրանով իսկ ազատելով մեկ այլ քորոց
- BMP180 չափում է ջերմաստիճանը և ճնշումը: Այն BMP085- ի իրավահաջորդն է, բայց այժմ այն նաև ունի որոշ սուլիչներ ինքնին: Կա (ավելի էժան) BMP280, բայց կարող եք նաև ընտրել BME280- ը, որը չափում է ջերմաստիճանը, օդային ճնշումը և խոնավությունը: Այդ կերպ Դուք կարող եք խնայել DHT/AMS սենսորի վրա
- OLEDI- ն հենց դա օգտագործեց, որպեսզի ես արագ տեսնեմ ՝ սենսորները կարդացվա՞ծ են, բայց դու նույնքան լավ կարող ես այն ստուգել Thingspeak- ում: OLED- ն ամեն դեպքում չափազանց փոքր է `կարդալու բոլոր ընթերցված արժեքները տպելու համար
Քայլ 1: Շղթան
ESP8266- ի 4 կապում նշված չեն որպես PCB, և պատկերների մեծ մասը միայն հստակորեն նշում է GPIO0- ը և GPIO2- ը: Այնուամենայնիվ, ESP826-01- ն ունի aa GPIO1 կապ (Tx քորոց) և GPIO3 (Rx քորոց) pin: i կօգտագործի այդ կապերը հետևյալ կերպ
- GPIO0 -> I2C պորտի SDA քորոց
- GPIO1 -> DHT11
- GPIO2-> I2C պորտի SCL քորոց
- GPIO3-> OneWire ավտոբուս
Քանի որ իմ I2C մոդուլներն արդեն ունեն ձգման դիմադրիչներ, ես այնտեղ I2C քաշող դիմադրողներ չեմ ավելացնի: DS18B20- ին դեռ պետք է քաշման դիմադրություն, որի համար ես օգտագործել եմ 4k7, բայց դա իրոք այնքան էլ կարևոր չէ, 10k- ն նույնպես լավ է: DHT11- ը ենթադրաբար նաև կարիք ունի ձգվող դիմադրության, բայց ես գտա, որ այն աշխատում է նաև առանց դրա: 4k7 ռեզիստորի ավելացումը չի փոխեց որևէ ընթերցում, այնպես որ ես այն թողեցի: 3 -փին DHT11 մոդուլներից շատերն արդեն ունեն 10 կ մոդուլ, որը միացված է մոդուլին: Ես պարզապես հասկացա, որ ես չեմ նկարել OLED- ի միացումները: Դա պայմանավորված է նրանով, որ ես այն միացրել եմ միայն արագ ստուգման համար, բայց եթե ցանկանում եք ավելացնել այն, պարզապես SDA- ն SDA- ին և SCL- ին SCL- ին միացնելն է… և, իհարկե, գետնին և Vcc կապում իրենց գործընկերներին
Քայլ 2: րագիրը
Quiteրագիրը բավականին պարզ է: Սկզբում այն ստեղծում է գրադարաններն ու սենսորները: Այն DHT11- ին ամրացնում է 1 (Tx), իսկ OnWire ավտոբուսը ՝ DS18B20- ի համար 3 -ին (Rx): OneWire ավտոբուսում 1 -ից ավելի DS18B20 սենսոր օգտագործելու համար անհրաժեշտ է իմանալ նրանց «յուրահատուկ հասցեն»: Եթե դա չունեք, ապա ձեզ հարկավոր է ծրագիր ՝ այդ հասցեները կարդալու համար: Հեշտությամբ արեք դա arduino- ով: programրագրում դեռ պետք է տրամադրեք ձեր WiFi հավատարմագրերը, ինչպես նաև Thingspeak Channel- ի համար գրելու API- ն
/*
Դաշտ 1 ջերմաստիճան (DHT11) դաշտ 2 խոնավություն (DHT11) դաշտ 3 Համագործակցության ջերմաստիճան (DS18B20) դաշտ 4 հողի ջերմաստիճան (DS18B20) դաշտ 5 Օդային ճնշում (bmp180) դաշտ 6 Արտաքին ջերմաստիճան (bmp180) * */ #ներառել #ներառել // https://www.pjrc.com/teensy/td_libs_OneWire.html #include // https://milesburton.com/Main_Page?title=Dallas_Tem… #include #include #include "SSD1306.h" SSD1306 ցուցադրում (0x3c, 0x3c, 0, 2); #սահմանել DHTPIN 1 // GPIO1 (Tx) #սահմանել DHTTYPE DHT11 #սահմանել ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "YourSSID"; const char* գաղտնաբառ = "YourPassword"; const char* host = "api.thingspeak.com"; const char* writeAPIKey = "W367812985"; // օգտագործել ՁԵՐ writeApi // DHT11 իրերը float temperature_buiten; բոց ջերմաստիճան_բուիտեն 2; DHT dht (DHTPIN, DHTTYPE, 15); // DS18b20 իրեր OneWire oneWire (ONE_WIRE_BUS); // OneWire օրինակ ՝ ցանկացած OneWire սարքի հետ DallasTemperature sensors (& oneWire); // Մեր OneWire օրինակի հասցեն փոխանցեք Dallas Temperature- ին: DeviceAddress Probe01 = {0x28, 0x0F, 0x2A, 0x28, 0x00, 0x00, 0x80, 0x9F}; DeviceAddress Probe02 = {0x28, 0x10, 0xA4, 0x57, 0x04, 0x00, 0x00, 0xA9}; // bmp180 իրեր Adafruit_BMP085 bmp; void setup () {// I2C իրեր Wire.pins (0, 2); Wire.begin (0, 2); // Նախնականացնել սենսորները // dht 11 իրեր dht.begin (); // ds18b20 stuff sensors.begin (); // ds18b20 // սահմանեք լուծաչափը 10 բիթ (Կարող է լինել 9 -ից 12 բիթ.. ցածրը ավելի արագ է) sensors.setResolution (Probe01, 10); sensors.setResolution (Probe02, 10); // bmp180 իրեր, եթե (! bmp.begin ()) {// Serial.println ("No BMP180 /BMP085"); // while (1) {}} // OLED իրեր display.init (); display.flipScreenVertically (); display.setFont (ArialMT_Plain_10); ուշացում (1000); // Միացեք WiFi ցանցին WiFi.begin (ssid, գաղտնաբառ); while (WiFi.status ()! = WL_CONNECTED) {ուշացում (500); }} void loop () {// ds18b20stuff ------------------- sensors.requestTemperatures (); // Ուղարկեք հրամանը ՝ ջերմաստիճան ստանալու համար temperature_buiten = sensors.getTempC (Probe01); // temperature_buiten2 = sensors.getTempC (Probe02); // // dht11 իրեր ---------------- ---- բոց խոնավություն = dht.readHumidity (); բոցի ջերմաստիճան = dht.readTemperature (); եթե (isnan (խոնավություն) || isnan (ջերմաստիճան)) {վերադարձ; } // bmp իրեր ------------------------- String t = String (bmp.readTemperature ()); Տող p = լարային (bmp.readPressure ()); // OLED նյութեր -------------------------- ցուցադրում: հստակ (); display.drawString (0, 10, p); // bmp ճնշման ցուցիչ.drawString (0, 24, լարային (temperature_buiten)); // ds18b20 display.drawString (0, 38, լարային (խոնավություն)); // dht11 ցուցադրում. ցուցադրել (); // կատարել TCP կապեր WiFiClient հաճախորդ; const int httpPort = 80; if (! client.connect (հյուրընկալող, httpPort)) {վերադարձ; } String url = "/update? Key ="; url += գրելAPIKey; url += "& դաշտ 1 ="; url += լարային (ջերմաստիճան); // roost (DHT1) url += "& field2 ="; url += տող (խոնավություն); // roost (DHT11) url += "& field3 ="; url += լարային (temperature_buiten); // համագործ ջերմաստիճան (DS18B20 nr 1) url += "& field4 ="; url += լարային (temperature_buiten2); // հողի ջերմաստիճան (DS18B29 nr 2) url += "& field5 ="; url += լարային (bmp.readTemperature ()); արտաքին ջերմաստիճան (BMP180) url += "& դաշտ 6 ="; url += Լար (bmp.readPressure ()); // Օդային ճնշում (BMP180) url += "\ r / n"; // Հարցում ուղարկեք սերվերի client.print (տող ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); ուշացում (1000); }
……..
Քայլ 3: Ավելին
Ներկայումս այս ծրագիրը միայն վերահսկում է, բայց ինչն է խանգարում ձեզ ավելացնել BH1750 I2C լուսային սենսոր `չափելու համար, եթե երեկո է կամ առավոտ, կամ RTC ՝ օրվա ժամը իմանալու և ավտոմատ կերպով բացելու և փակելու համագործակարի դուռը: PCF8574 I2C I/O ընդլայնման քարտ, կամ ինչպես արդեն այգում է, ավելացրեք PCF8591 կամ ADS1115 AD փոխարկիչ `հողի խոնավությունը չափելու և անհրաժեշտության դեպքում պոմպը ակտիվացնելու համար: Կամ գուցե միացնել ջրատաքացուցիչը, երբ ջերմաստիճանը զրոյից ցածր է, եթե դրա համար կա I2 C չիպ, ESP8266- ը, հավանաբար, կարող է օգտագործել այն:
Այնուամենայնիվ, կարևոր նշում. Asրագիրը լավ է աշխատում, բայց եթե Rx- ին կամ Tx- ին ավելացնեք այլ տվիչներ, հատկապես եթե դրանք դարձնեք ելքեր, ապա կապումներն անսպասելիորեն կհիշեն, որ դրանք իրականում GPIO- ի կապիչներ չեն: Ավելի լավ է սկզբից ասեք կապումներին, որ դրանք այժմ GPIO կապում են: Մեկը դա անում է ՝ տեղադրելով հետևյալ հայտարարությունները.
pinMode (1, FUNCTION_3);
pinMode (3, FUNCTION_3);
Խորհուրդ ենք տալիս:
4 թվանշան 7 հատվածի ցուցադրում 14 կապում Arduino- ով. 3 քայլ
4 թվանշան 7 հատվածի ցուցադրում 14 կապում Arduino- ի հետ. Միշտ լավ գաղափար է ստուգել ՝ արդյոք սարքը ճիշտ է աշխատում, թե ոչ, եթե այդ բաղադրիչն ունի շատ մեծ քանակությամբ կապում: Այս նախագծում ես փորձարկել եմ իմ 4 նիշ 7 սեգմենտ 14 փին էկրանը: Բոլոր 7 հատվածները միաժամանակ կցուցադրեն 0 -ից 9 -ը:
3 ATtiny85 կապում Control of the - Nrf24L01 - التحكم بثلاثة دبابيس فى: 7 քայլ
3 ATtiny85 Pins Control of the - Nrf24L01 - التحكم بثلاثة دبابيس فى: بسم الله الرحمن الرحيم
ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում ՝ 4 քայլ
ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում. Թարմացում 1-ին հուլիսի 2018-Ավելացված նշում վերագրանցման ժամանակ, երբ GPIO0- ն արդյունք է: Սա շատ կարճ նշում է, թե ինչպես օգտագործել ESP8266 մոդուլի GPIO0/GPIO2 և GPIO15 կապերը: Թարմացում. Նաև ստուգեք դուրս Ինչպես օգտագործել ESP8266-01 կապում Ներածություն ESP8266- ը ցածր է
Iրագրերի մշակում ՝ օգտագործելով GPIO կապում DragonBoard 410c- ի վրա Android և Linux օպերացիոն համակարգերով. 6 քայլ
Iրագրերի մշակում ՝ օգտագործելով GPIO կապում DragonBoard 410c- ում Android և Linux օպերացիոն համակարգերով. Այս ձեռնարկի նպատակն է ցույց տալ DragonBoard 410c ցածր արագությամբ GPIO կապի միջոցով ծրագրեր մշակելու համար անհրաժեշտ տեղեկատվությունը: Այս ձեռնարկը ներկայացնում է տեղեկատվություն ՝ ծրագրերի մշակման համար ՝ GPIO կապում օգտագործելով SYS- ը Անդրոսում
ESP8266 -NODEMCU $ 3 WiFi մոդուլ #2 - WEB ԷAGEԻ միջոցով վերահսկվող անլար կապում. 9 քայլ (նկարներով)
ESP8266 -NODEMCU $ 3 WiFi մոդուլ #2 - WEB ԷAGEԻ միջոցով վերահսկվող անլար կապում. Այս միկրոհաշվարկների նոր աշխարհ է եկել, և սա ESP8266 NODEMCU- ն է: Սա առաջին մասն է, որը ցույց է տալիս, թե ինչպես կարող եք esp8266 միջավայրը տեղադրել ձեր arduino IDE- ում ՝ սկսած տեսանյութի միջոցով և որպես մասեր