Мазмуну:
- 1 -кадам: Сизге эмне керек
- 2 -кадам: Nextion редакторунда интерфейсти иштеп чыгуу
- 3 -кадам: Circuit
- 4 -кадам: Visuinoду баштаңыз жана Arduino UNO Board Board түрүн тандаңыз
- 5 -кадам: Visuino компоненттерин кошуу
- 6 -кадам: Visuino Set компоненттеринде
- 7 -кадам: Visuino Connect компоненттеринде
- 8 -кадам: Nextion файлын SD картка көчүрүү
- 9 -кадам: Arduino кодун түзүү, түзүү жана жүктөө
- 10 -кадам: Play
- 11 -кадам: Ресурстар
Video: Nextion Display жана Arduino менен DIY аба ырайы станциясы: 11 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул окуу куралында биз учурдагы убакытты, температураны жана нымдуулукту көрсөтүү үчүн Nextion дисплейин, rtc1307 убакыт модулун, Arduino UNO жана Visuino колдонобуз.
Демонстрациялык видеону көрүңүз.
1 -кадам: Сизге эмне керек
- Arduino uno (же нано, мега баарына колдонсо болот)
- Nextion lcd 2.8 дюйм nx3224t028_011 (башка Nextion LCD да иштейт)
- Arduino үчүн I2C RTC DS1307 24C32 реалдуу убакыт сааты модулу
- Өткөргүч зымдар
- Breadboard
- Visuino программасы: Visuino жүктөп алыңыз
- Nextion Editor программасы: Бул жерден жүктөп алыңыз
2 -кадам: Nextion редакторунда интерфейсти иштеп чыгуу
Биринчиден, SD карта FAT32де форматталганын текшериңиз (Картты форматтоочу сыяктуу кээ бир программаларды колдонуңуз)
- Nextion Editor программасын баштаңыз жана "Жаңы" баскычын чыкылдатыңыз жана "Аба ырайы" сыяктуу долбооруңузду сактаңыз.
- Андан кийин "Орнотуулар" диалогу көрсөтүлөт, сизде бар дисплейдин түрүн тандаңыз.
- Бош ак барак түзүлөт.
- Сол жактагы куралдар кутусунан 3x сүрөт.
- Сол жактагы "Сүрөт" өтмөгүн тандап + баскычын басып, сүрөттөрдү жүктөңүз. Сиз интернеттен убакыт, температура жана нымдуулук үчүн кээ бир жакшы сүрөтчөлөрдү жүктөп алсаңыз болот (Iconarchive вебсайты сыяктуу)
- Ар бир Сүрөт элементин жана оң жактын астындагы "Атрибут" терезесинен "pic" талаасына эки жолу чыкылдатыңыз жана сүрөттү тандаңыз, муну ар бир сүрөт элементи үчүн жасаңыз (3x).
Менюдан чыкылдатыңыз "Куралдар> Шрифт генератору"
- Убакытты, температураны жана нымдуулукту көрсөтүү үчүн колдонула турган шрифтти түзүңүз жана "MyFont1" сыяктуу ат коюңуз
- "Түзүү шрифтин" чыкылдатып, "Түзүлгөн шрифт кошулсунбу?" Деп сураганда, аны бир жерге сактаңыз. Ооба дегенди басыңыз.
- Диалог кутучасын жабыңыз жана түзүлгөн шрифт ID 0 менен "Ариптер" өтмөгүнүн сол жагындагы ботто көрүнөт
- Сол жактагы Куралдар кутусунан 3x "текстин" сүйрөп, маалыматты көрсөтө турган жерге коюңуз
- Оң жактын астындагы "Атрибуттар" терезесинин ар бир текст элементи үчүн, шрифт 0 <сиз мурда жараткан ариптин идентификатору, сиз бир нече ариптерди колдонуп, ар бир текст элементине ID коюуга болот.
- Сиз "txt" талаасында демейки текст маанисин коё аласыз, мисалы "Убакыт", "С", "%
- Түстү "pco" талаасын чыкылдатуу менен коюуга болот Ар бир текст элементинин "t0" ж.б сыяктуу белгилүү бир объекттин аталышы бар экенин эске алыңыз, бул кийин Visuinoдо колдонулат
- Ар бир объекттин атын "атрибуттар" терезесинен> objnameден таба аласыз
Бардык элементтерди жайгаштырганда жана жайгаштырганда:
- "Компиляция" баскычын басыңыз
- менюну чыкылдатыңыз "Файл"> "Куруу Папкасын ачуу" биздин учурда "Weather.tft" файлын таап, аны SD картка көчүрүңүз.
3 -кадам: Circuit
- Ардуино пинин [5v] плитага оң позицияны туташтырыңыз [Кызыл]
- Ардуино пинин [GND] нандын тактасына туташтырыңыз Негативдүү пин [Көк]
- DHT11 сенсор түйүнүн [-] Arduino пинине [GND] туташтырыңыз
- DHT11 сенсорунун пинин [-] нандын оң жагына туташтырыңыз [Кызыл]
- DHT11 сенсорунун сигнал пинин [S] Arduino санариптик пинине [7] туташтырыңыз
- Убакыт DS1307 модулунун пинин [Vcc] нандын оң жагына туташтырыңыз [Кызыл]
- Убакыт DS1307 модулунун пинин [GND] панелдин терс пинине [Көк] туташтырыңыз
- Убакыт DS1307 модулунун түйүнүн [SDA] Arduino пинине [SDA] туташтырыңыз
- Убакыт DS1307 модулунун түйүнүн [SCL] Arduino пинине [SCL] туташтырыңыз
- Nextion Display пинин [VCC] нандын оң жагына туташтырыңыз [Кызыл]
- Nextion Display пинин [GND] панелдин терс пинине [Көк] туташтырыңыз
- Nextion Display пинин [RX] Arduino pin [TX] менен туташтырыңыз
- Nextion Display пинин [TX] Arduino pin [RX] менен туташтырыңыз
4 -кадам: Visuinoду баштаңыз жана Arduino UNO Board Board түрүн тандаңыз
Arduino программалоону баштоо үчүн, бул жерден Arduino IDE орнотулган болушу керек:
Сураныч, Arduino IDE 1.6.6 кээ бир маанилүү каталар бар экенин билиңиз. 1.6.7 же андан жогору орнотуп жатканыңызды текшериңиз, антпесе бул Нускоо иштебейт! Эгерде сиз бул көрсөтмөдөгү кадамдарды аткарбасаңыз, Arduino IDE программасын Arduino IDOго орнотуңуз! Visuino: https://www.visuino.eu да орнотулушу керек. Visuino'ду биринчи сүрөттө көрсөтүлгөндөй баштаңыз Arduino компонентиндеги "Куралдар" баскычын чыкылдатыңыз (Picture 1) Visuino диалог пайда болгондо, 2 -сүрөттө көрсөтүлгөндөй "Arduino UNO" тандаңыз.
5 -кадам: Visuino компоненттерин кошуу
- "Старт" компонентин кошуу
- "Real Time Clock (RTC) DS 1307" компонентин кошуу
- "Саат генератору" компонентин кошуңуз
- "Нымдуулук жана термометр DHT11" компонентин кошуңуз
- 2x "Текстке аналог" компонентин кошуңуз
- "Decode (Split) datetime" компонентин кошуңуз
- "Nextion Display" компонентин кошуу
6 -кадам: Visuino Set компоненттеринде
"RealTimeClock1" компонентине эки жолу чыкылдатыңыз, элементтер терезеси ачылат жана:
- "Күндү белгилөөнү" сүйрөңүз жана касиеттер терезесинин астындагы "Маанини" учурдагы датага коюңуз
- "Жылды белгилөө" дегенди сүйрөңүз жана касиеттер терезесинин астындагы "Маанини" учурдагы жылга коюңуз
- "Айды коюңуз" дегенди сүйрөңүз жана касиеттер терезесинин астындагы "Наркты" учурдагы айга коюңуз
- "Саатты коюуну" сүйрөңүз жана касиеттер терезесинин астындагы "Маанини" учурдагы саатка коюңуз
- "Мүнөттү коюңуз" дегенди сүйрөңүз жана касиеттер терезесинин астындагы "Маанини" учурдагы мүнөткө коюңуз
"FormattedText1" компонентин тандаңыз жана касиеттер терезесинин астынан "текстти" төмөнкүгө коюңуз:%0:%1:%2
"FormattedText1" компонентине эки жолу чыкылдатыңыз, элементтер терезеси ачылат жана:
3x "Текст элементин" солго сүйрөңүз
"DisplayNextion1" компонентине эки жолу чыкылдатыңыз, элементтер терезеси ачылат жана:
3x "Текст" элементин солго сүйрөңүз жана ар бир элемент үчүн:
- биринчи элементтин аты үчүн: Убакыт
- экинчи элементтин аты: Температура
- үчүнчү элементтин аты: нымдуулук
- Ар бир элемент үчүн "Барактын индекси" коюлган: 0
- "Элемент аты" биринчи элемент топтому үчүн: t0 (бул Nextion редакторунда ар бир элементтин үстүндө көрүнүүчү ат, менин t0)
- "Element name" экинчи элемент топтому үчүн: t1 (бул Nextion редакторунда ар бир элементтин үстүндө көрүнүүчү ат, менин учурда анын t1)
- "Элемент аты" экинчи элемент топтому үчүн: t2 (бул Nextion редакторунда ар бир элементтин үстүндө көрүнүүчү ат, менин учурда t2)
7 -кадам: Visuino Connect компоненттеринде
- "Старт1" пин "Чыгуу" "RealTimeClock1"> "Күн 1 коюу" пин "Саат" менен туташыңыз
- "Start1" пин "Out" туташуусун "RealTimeClock1"> "Set Hour1" pin "Clock" менен туташтырыңыз
- "Старт1" пин "Чыгуу" "RealTimeClock1"> "Жыл 1 коюу" пин "Саат" менен туташыңыз
- "Start1" пин "Out" туташуусун "RealTimeClock1"> "" Set a month1 "pin" Clock "менен туташтырыңыз
- "Start1" пин "Out" туташуусун "RealTimeClock1"> "Minute1 коюу" pin "Clock" менен туташтырыңыз.
- "RealTimeClock1" компонент пинин [Чыгуу] менен "DecodeDateTime1" пинине туташтырыңыз [In]
- "RealTimeClock1" компонент пинин [Control] Arduino тактасынын I2C пинине туташтырыңыз [In]
- "ClockGenerator1" компонент пинин [Out] "HumidityThermometer1" компонент пинине туташтырыңыз [Саат]
- "DecodeDateTime1" компонентин [Hour] "FormattedText1"> "Textelement1" пинине туташтыруу үчүн [In]
- "DecodeDateTime1" компонентин [Hour] "FormattedText1"> "Textelement2" төөнөгүчүнө туташтыруу [In]
- "DecodeDateTime1" компонентин [Hour] "FormattedText1"> "Textelement3" пинине туташтыруу үчүн [In]
- "HumidityThermometer1" компонент пинин [Температураны] "AnalogToText1" компонент пинине [In] туташтырыңыз
- "HumidityThermometer1" компонент пинин [Нымдуулукту] "AnalogToText2" компонент пинине [In] туташтырыңыз
- "HumidityThermometer1" компонент пинин [Sensor] Arduino тактасынын санариптик пинине [7] туташтырыңыз.
- "FormattedText1" компонент пинин [Out] "DisplayNextion1" компонентинин пин түйүнүнө туташтыр [Time]
- "AnalogToText1" компонент пинин [Чыгуу] туташуу "DisplayNextion1" компонент пин температурасы [In]
- "AnalogToText2" компонент пинин [Чыгуу] "DisplayNextion1" компонентинин пин ылдамдыгына [In] туташтырыңыз
"DisplayNextion1" төөнөгүчүн [Чыгуу] arduino тактасына "Serial [0]" пинке [In] туташтырыңыз
8 -кадам: Nextion файлын SD картка көчүрүү
Nextion файлы SD картада экениңизди текшериңиз
- Nextion дисплейин өчүрүү
- SD картаны Nextion дисплейине салыңыз
- Nextion дисплейин күйгүзүңүз жана Nextion дисплейин жаңыртуунун жүрүшүн көрөсүз
- Nextion дисплейин өчүрүү
- Nextion дисплейинен SD картасын алып салыңыз
Эми Nextion дисплейи даяр.
9 -кадам: Arduino кодун түзүү, түзүү жана жүктөө
Visuinoдо F9 баскычын басыңыз же Arduino кодун чыгаруу үчүн 1 -сүрөттө көрсөтүлгөн баскычты басыңыз жана Arduino IDEди ачыңыз Arduino IDEде, жүктөө баскычын чыкылдатып, кодду түзүңүз жана жүктөңүз (Сүрөт 2) Эскертүү:
Кодду Arduinoго жүктөп жатканда Arduino pin [RX] жана Arduino pin [TX] ажыратуу үчүн, жүктөө аяктагандан кийин Arduino pin [RX] жана Arduino pin [TX] кайра туташуусун текшериңиз
10 -кадам: Play
Эгерде сиз Arduino UNO модулун иштетсеңиз, дисплей Visuino'до орнотулган учурдагы температураны жана нымдуулукту + убактысын көрсөтө баштайт. Куттуктайм! Сиз Visuino менен Аба ырайы станциясынын долбоорун бүтүрдүңүз.
Ошондой эле Visuino долбоору тиркелген, мен аны ушул Нускамалык үчүн жаратканмын, аны Visuino'до жүктөп алып ача аласыз:
жана
Nextion редактору үчүн Nextion File (Weather. HMI) жана Nextion файлын түзгөн (Weather.tft), сиз Nextion дисплейине түз көчүрө аласыз.
11 -кадам: Ресурстар
Nextion Displays менен кантип иштөөнү үйрөнүү үчүн бул укмуштуу окуу куралын текшере аласыз
Сунушталууда:
Кесиптик аба ырайы станциясы ESP8266 жана ESP32 DIY колдонуп: 9 кадам (сүрөттөр менен)
ESP8266 жана ESP32 DIY колдонгон профессионалдуу аба ырайы станциясы: LineaMeteoStazione - бул Sensirionдун профессионалдык сенсорлору, ошондой эле кээ бир Davis Instrument компоненттери (Rain Gauge, Anemometer) менен байланышта боло турган толук аба ырайы станциясы
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен аба ырайы станциясы: 3 кадам (сүрөттөр менен)
Акыркы 1-2 күндүн ичинде трендди көрүү үчүн Arduino, BME280 жана дисплей менен метеорологиялык станция: Саламатсызбы! Алар учурдагы абанын басымын, температурасын жана нымдуулугун көрсөтөт. Аларга акыркы 1-2 күндүн ичинде курстун презентациясы жетишпеди. Бул процесске ээ болмок
IoT аба ырайы станциясы RPi жана ESP8266 менен: 10 кадам
IoT Weather Station менен RPi жана ESP8266: Мурунку сабактарда биз NodeMCU, сенсорлор менен ойноп, ThingSpeak (Интернеттин нерселери (IoT) платформасында маалыматтарды чогултууну жана сактоону үйрөткөн) булутта сенсорлор менен ойноп келгенбиз. жана IoT тиркемелерин иштеп чыгуу): IOT
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз
RPi аба ырайы станциясы жана санариптик саат: 4 кадам (сүрөттөр менен)
RPi Аба ырайы станциясы жана санариптик саат: Бул тез жана оңой жасалуучу проект жана көрсөтүү үчүн жагымдуу дисплей. Бул убакытты, аба ырайын жана температураны көрсөтөт. Эгерде сиз көргөн нерселерди жактырсаңыз, менин жасаган нерселеримди улантуу үчүн Instagram жана Twitterде (@Anders644PI) мени ээрчиңиз