Мазмұны:

ESP8266/ESP32 метеорологиялық станциясы TFT: 8 қадам
ESP8266/ESP32 метеорологиялық станциясы TFT: 8 қадам

Бейне: ESP8266/ESP32 метеорологиялық станциясы TFT: 8 қадам

Бейне: ESP8266/ESP32 метеорологиялық станциясы TFT: 8 қадам
Бейне: ESP8266/ESP32: Обзор, начало работы 2024, Қыркүйек
Anonim
ESP8266/ESP32 метеорологиялық станциясы TFT бар
ESP8266/ESP32 метеорологиялық станциясы TFT бар
ESP8266/ESP32 метеорологиялық станциясы TFT бар
ESP8266/ESP32 метеорологиялық станциясы TFT бар
ESP8266/ESP32 метеорологиялық станциясы TFT бар
ESP8266/ESP32 метеорологиялық станциясы TFT бар

Сәлеметсіз бе!

Бұл қысқа нұсқаулықта мен екінші Esp8266 WS жобамды ұсынғым келеді. Мен бірінші ESP жобасын жариялағаннан кейін мен өзімді екінші жобаға айналдырғым келді. Сондықтан менің қажеттіліктеріме сәйкес ескі бастапқы кодты қайта өңдеуге бос уақытым болды.

Сондықтан қарсы болмасаңыз, мен оны ұсынамын.

1 -қадам: метеостанция

WS әлі күнге дейін ауа райы деректерін жүктеу және экранда көрсету үшін openweathermap API кілтін қолданады.

Кішкене кодтау қажет болды, себебі ол формада мен қалаған ауа райы белгішелерін көрсете алмады.

2 -қадам: материалдар

WS үшін қажет бөлшектер:

- Nodemcu V3 ESP8266

- ST7735 IC драйвері бар 1,8 дюймдік TFT СКД

- F-F сымдары

- Бастапқы код

- Arduino IDE

- SPIFFS қолдау

- Openweathermap API кілті

3 -қадам: Бағдарламалық қамтамасыз ету

Бұл жоба үшін мен бастапқы кодты және қажетті нүктелік кескін суреттерін ұсынамын, оны менің github бетінен жүктеп алыңыз: https://github.com/Lacybad/ESP8266-ST7735- ауа райы-…

Мен қолданған кітапхана - Bodmer жасаған TFT_eSPI.

Сізге не істеу керек: дұрыс кітапханаларды жүктеңіз, оны құрастырыңыз және тақтаға жүктеңіз, SPIFFS көмегімен нүктелік кескіннің суреттерін ESP -ке жүктеңіз және lcd арқылы қосылыңыз.

Мен 24 биттік 100 X100 нүктелік кескінді қолдандым, бірақ сіз кез келген басқа белгішелерді қолдана аласыз. Мен қолданғандар https://www.flaticon.com сайтынан жүктелген

4 -қадам: СКД түйреуіші

Бекіту келесідей:

// SDO/MISO -ны NodeMCU пин D6 -ге көрсету (немесе TFT оқылмаса, ажыратылған күйде қалдыру)

// Жарықдиодты NodeMCU пин VIN -ге (немесе 5В, төменде қараңыз) көрсету

// SCK NodeMCU түйрегіне D5 көрсету

// SDI/MOSI -ді D7 NodeMCU істігіне шығару

// D3 NodeMCU істігіне DC (RS/AO) көрсету

// RESET параметрін NodeMCU түйрегіне D4 көрсету (немесе RST, төменде қараңыз)

// CS -ны NodeMCU пин D8 -ге (немесе GND -ге, төменде қараңыз) көрсету

// GND -ті NodeMCU түйрегіне GND (0V) көрсету

// VCC көрсету NodeMCU 5V немесе 3.3V

Артқы жүктемені азайту үшін сіз 10K потенциометрді немесе басқа GPIO түйреуішін қолдана аласыз. Өзіме келетін болсақ, мен әдетте артқы жарық істігін TX істігіне қосамын. Мен білемін, бұл ESP үшін өте жақсы идея немесе өте пайдалы емес, бірақ ол осылай жұмыс істейді.

5 -қадам: WS әрекетте

WS әрекетінде
WS әрекетінде
WS әрекетінде
WS әрекетінде
WS әрекетінде
WS әрекетінде

Барлығын дұрыс жасағаннан кейін метеостанция интернетке қосылғанын және ауа райы туралы мәліметтерді жүктеп алатынын көре аласыз.

Әр түрлі параметрлер әр түрлі ілмектерде бөлінеді.

Сіз көріп отырғаныңыз - ауа райының нақты сипаттамасы, температура, ылғалдылық, желдің жылдамдығы, метрмен көріну, ауа қысымы, жел бұрышы, бұлтпен қамту пайызбен (%).

Кешкі сағат 9 -дан таңғы 7 -ге дейінгі бонусқа келетін болсақ, дисплей түнгі уақытты бейнелейді.

6 -қадам: Кейбір маңызды кеңестер

Кейбір маңызды кеңестер
Кейбір маңызды кеңестер
Кейбір маңызды кеңестер
Кейбір маңызды кеңестер
Кейбір маңызды кеңестер
Кейбір маңызды кеңестер

Өздеріңіз білетіндей, Интернетте 1,8 дюймдік TFT-дің бірнеше нұсқалары бар. Adafruit lcd-дің түпнұсқасында әдетте ешқандай проблемалар болмайды. Бірақ жалған (әдетте Aliexpress-тен) қолданған кезде сізге кейбір түзетулер енгізу қажет.

Bodmers TFT_eSPI кітапханасы өте керемет және бай функционалдылық. Ең жақсы жағы - ол сіз қолданатын 1,8 дюймдік TFT түріне байланысты пиксельдік ығысуларды басқара алды.

Бұл мәселені шешу үшін мен мыналарды ұсынамын:

Кітапхана қалтасына өтіп, User_Setup.h файлын өңдеңіз. Пікір қалдырмаңыз #ST7735_DRIVER анықтаңыз және басқаларға түсініктеме беріңіз.

Содан кейін tft биіктігін ені бойынша түсіндіріңіз. Содан кейін менің жағдайда (REDTAB) түсініктеме, мысалы: #define ST7735_REDTAB. Осыдан кейін оны бір сәтке сақтап, эскизін құрастырып, тақтаға жүктеңіз. Мен эскиздегі параметрлерді анықтағаныма сенімді болу үшін, бұл ұзақ процедура, себебі сіз офсетті жойғанша тақтаға түсіру үшін эскизді әр уақытта жинап, жүктеп отыруыңыз керек, бірақ бұл экспериментке тұрарлық. H өңдеу үшін. Мен Wordpad бағдарламасын ұсынамын. Суреттер қосылған.

7 -қадам: Орындалды

Барлығын дұрыс жасағаннан кейін сіз осы кішкентай гаджетті тамашалай аласыз. Мен нүктелік кескіндерді ауа райы кодтарымен мүмкіндігінше жұптастыруға тырыстым, бірақ мен оны әлі де сынап жатырмын.

Мен оны өзім үшін жасадым, бірақ бір күннен кейін мен оны бөлісемін деп ойладым. Мүмкін біреуге маған қарағанда ұнайтын шығар.

Менің нұсқаулықты оқығаныңыз үшін рахмет, сіз оны пайдалы деп санайсыз және оны қалағаныңызша қолданасыз деп үміттенемін.

Бүгінгі күніңіз жақсы өтсін!

8 -қадам: шағын жаңарту

Шағын жаңарту
Шағын жаңарту
Шағын жаңарту
Шағын жаңарту
Шағын жаңарту
Шағын жаңарту

Бірнеше күннен кейін мен бұл WS -ті жаңа түрде қайта жасаймын деп ойладым.

Өзгерістер: ESP32 Uno R3

Параллель ILI9340/41 TFT СКД

Жаңа белгішелер

1 қосымша опция

User_setup.h файлын TFT_eSPI кітапханасында сәйкесінше эскизде өңдеңіз. Pls оларға түсініктеме бермеңіз және басқа нұсқаны түсіндіріңіз, әйтпесе ол жұмыс істемейді.

Сіз GPIO 35 -тен 15 -ке, GPIO 33 -тен 34 -ке, GPIO 32 -ден 36 -ға дейін қосылуыңыз керек, себебі олар тек кіріс түйреуіштері, содан кейін біздің дисплей жұмыс істемейді (суретті қараңыз).

Бастапқы код github -те қол жетімді.

Ұсынылған: