Мазмуну:
- 1 -кадам: LCD Graphic Module 128x128 RGB TFT ILI 9163C
- 2 -кадам: Нымдуулук жана температура сенсору AM2302 DHT22
- 3 -кадам: Circuit
- 4 -кадам: Ассамблея
- 5 -кадам: Китепкана
- 6 -кадам: Код
- 7 -кадам: Кээ бир башка кызыктуу функциялар
Video: LCD дисплейи бар ESP8266 санариптик термометр: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бүгүн мен ESP8266 NodeMCU боюнча TFT ЖК дисплейин кантип колдонууну көрсөтөм, бул реалдуу убакытта температура жана нымдуулук маалыматын көрсөтүү үчүн. Мен температураны жана нымдуулукту өлчөөчү DHT22 менен дисплейди колдонуунун мисалын келтирем. Бул видеодо, тактап айтканда, мен санарип термометрибиз үчүн чакан дисплейди колдоном, ал графикалык жана системанын өзүндө байкоо жүргүзүүгө мүмкүндүк берет. Бүгүнкү күндүн максаты - ESP8266 аркылуу суюк кристаллдык дисплей менен иштөө жөнүндө билүү.
1 -кадам: LCD Graphic Module 128x128 RGB TFT ILI 9163C
Бул долбоордо биз колдонгон дисплей 128x128 пиксел. 0, 0 жогорку сол бурчта жана бул моделдин текстти басып чыгаруу жана графикалык басып чыгаруу функциялары бар, алар менен кийинчерээк алектенебиз.
2 -кадам: Нымдуулук жана температура сенсору AM2302 DHT22
Биз AM2302 DHT22ди ассамблеябызда колдонобуз, бул мага абдан жаккан сенсор, анткени ал абдан так.
3 -кадам: Circuit
Долбоордо бизде ESP8266 бар, ал буга чейин программаланган жана USB кубатын колдонот. DHT22 ЖК дисплейин башкаруучу ESP8266 маалыматына жана тартылуу каршылыгына туташкан.
4 -кадам: Ассамблея
Бул жерде NodeMCU, сенсор жана дисплейди көрсөткөн биздин жыйындын электр схемасы бар. Эсиңизде болсун, бул i2c сериялык дисплейи, анткени аны колдонуу дагы оңураак, анткени анда дагы казыктар бар.
5 -кадам: Китепкана
Биз дисплейди Arduino C тили менен программалай тургандыктан, бизге DHT22 китепканасы, ошондой эле ЖК керек.
Биринчиден, нымдуулук жана температура сенсору менен байланышуу үчүн төмөнкү "DHT сенсор китепканасы" китепканасын кошуңуз.
Жөн гана "Эскиз >> Китепканаларды кошуу >> Китепканаларды башкаруу…" кирүү
Эми, төмөнкү китепкананы кошуңуз, "Adafruit-GFX-Library-master".
Жөн гана "Эскиз >> Китепканаларды кошуу >> Китепканаларды башкаруу…" кирүү
Ошондой эле, LCD графикалык модулу менен байланыш үчүн "TFT_ILI9163C" китепканасын кошуңуз.
Шилтемеге кирүү (((((((https://github.com/sumotoy/TFT_ILI9163C)))))) жана китепкананы жүктөп алыңыз.
Файлды ачып, Arduino IDEнин китепканалар папкасына чаптаңыз.
C: / Программа файлдары (x86) / Arduino / китепканалар
6 -кадам: Код
Алгач биздин коддо колдонула турган китепканаларды кошолу.
#кошуу // коммюникерди иштетүү үчүн ЖК#камтыйт // камтыйт
Аныктамалар
Биз төмөндө программа учурунда колдонула турган өзгөрмөлөрдү жана объекттердин мисалын көрөбүз.
#DHTPIN D6'ди аныктоо // DHT22 сенсорун аныктоо#DHTTYPE DHT22 аныктоо // DHT22 сенсордун жардамы менен сенсорду колдонуу (маанилүү куруучу) DHT dht (DHTPIN, DHTTYPE); // Конструктор сенсорлорго комментарийлерди тапшырат // Түс аныктамалары #КАРА 0x0000 аныктоо #КӨК 0x001F #КЫЗЫЛ 0xF800 #аныктоо ЖАШЫЛ 0x07E0 #define CYAN 0x07FF #FinFineFEFFEFEFEFEFFEFFEFFEFFOFFOFFOFFOFFOFFOFFOFFOFFOFFOFFOFSFFFYYFY _CS D1 // pine que conectaremos же CS кылыңыз LCDди аныктоо #Decine _DC D4 // pure que conectaremos or RS módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // конструктор ЖК менен байланыш түзүү үчүн
Жайгашуу
Setup () функциясында биз нымдуулук сенсору жана температурасы менен байланыш үчүн жооптуу "dht" өзгөрмөсүн баштайбыз. Ошондой эле ЖК модулу менен байланышуу үчүн колдонулган "дисплей" өзгөрмөсүн баштайбыз.
Биз ошондой эле экранда сүрөт тарта баштоо үчүн объектти конфигурациялайбыз.
void setup (void) {dht.begin (); // сенсордук дисплейдеги комментарийлерди баштоо.begin (); // ЖК дисплейи менен байланышуу үчүн. // лимфа жана тела, removendo todos os desenhos display.fillScreen (КАРА); // дисплейде алдын ала көрсөтүү.setTextSize (2); // конфигурация же текст жазуу 2 Display.setTextColor (GREEN); // texto como verde display.setCursor (5, 10); // posiciona or cursor para começar to a partcrace a partir do (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // reposiciona o cursor display.print ("UMIDADE"); // экранда тела display.setTextColor (АК); // конфигурация текстти комо бранко (бир бөлүгү да) кечиктирүү (1000); // эспера де 1 сегмента}
Loop
Цикл () функциясында сенсор тарабынан окулган жана экранда белгилүү бир жерге коюлган нымдуулукту жана температураны алабыз. Ар бир 5 секунд аралыкта, маани сенсордон окулат жана экранда жазылат.
void loop () {int h = dht.readHumidity (); // сенсор int t = dht.readTemperature (); // сенсорлордун температурасы // сенсор катары "толтуруу" функциясын колдонсоңуз болот, ал эми "толтурууRect" деген сөздүн мааниси, жергиликтүү убакытта жана температурада, апагаремосто же баалуу шарттарда. display.fillRect (5, 32, 120, 20, BLACK); // fillRect (x, y, туурасы, бийиктиги, түсү); display.fillRect (5, 92, 120, 20, КАРА); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // телевидениенин температурасын сактоо.чап ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” үчүн Celcius display.setCursor (40, 95); // reposiciona o cursor para escrever display.print (h); // телекөрсөтүүнүн.print ("%") үмүтүн үзбөңүз; // кечигүү үчүн "кечигүү" мөөнөтүн кечеңдетүү (5000); }
7 -кадам: Кээ бир башка кызыктуу функциялар
// Экрандын мазмунун бурат (0, 1, 2 же 3 параметрлери)
display.setRotation (uint8_t);
// Дисплейдин түстөрүн тескери бурат (терс кылат)
display.invertDisplay (логикалык);
// (x, y) абалында экранда бир пикселди тартат
display.drawPixel (x, y, color);
// Вертикаль сызыкты позициясына тартат
display.drawFastVLine (x, y, туурасы, түсү);
// Көрсөтүлгөн позицияда вертикалдуу сызык тартат
display.drawFastHLine (x, y, туурасы, түсү);
// Көрсөтүлгөн позицияда горизонталдык сызык тартат
display.drawRect (x, y, туурасы, бийиктиги, түсү);
// Көрсөтүлгөн позицияга тегерек тартат
display.drawCircle (x, y, radius, color);
Сунушталууда:
Байланышсыз термометр / портативдүү термометр катары смартфонду колдонуңуз: 8 кадам (сүрөттөр менен)
Смартфонду контактсыз термометр / портативдүү термометр катары колдонуңуз: термо тапанча сыяктуу контактсыз / контактсыз дене температурасын өлчөө. Мен бул долбоорду түздүм, анткени Thermo Gun азыр абдан кымбат, ошондуктан DIY жасоого альтернатива алышым керек. Ал эми максаты аз бюджеттик версиясы менен жасалат.SuppliesMLX90614Ardu
Ардуиного негизделген байланышсыз инфракызыл термометр - IR негизделген термометр Arduino колдонуу: 4 кадам
Ардуиного негизделген байланышсыз инфракызыл термометр | IR негизделген термометр Arduino колдонуу: Салам балдар бул көрсөтмөлөрдө биз ардуинону колдонобуз. ошол сахнада температура
Санариптик термометр NodeMCU жана LM35ти колдонуу: 5 кадам
Санариптик термометр NodeMCU жана LM35ти колдонуп: Интернеттен каалаган жерден санарип термометрин түзүп, температурасын көзөмөлдөп туруу керек. Биз LM35 температура сенсорун NodeMCU 1.0 (ESP-12E) менен байланыштырабыз. LM35-температура сенсору
Санариптик саатты 7 сегменттин дисплейи менен 8051ди кантип жасоо керек: 4 кадам
Санариптик саатты 7 сегменттүү дисплей менен кантип жасоо керек: Бул долбоордо мен сизге 7 сегменттүү дисплейи бар 8051 микроконтроллерди колдонуу менен жөнөкөй санариптик саат кантип жасоо керектигин түшүндүрдүм
Санариптик термометр жасаңыз: 5 кадам
Санариптик термометрди жасаңыз: Бул көрсөтмөдөн сиз бир нече жөнөкөй компоненттерди жана 1 ICди колдонуп, 10 фунт стерлингге чейин жөнөкөй санарип термометрин жасоону үйрөнөсүз. Аяктаган долбоор мындай болушу керек: