Мазмұны:
- 1 -қадам: СКД графикалық модулі 128x128 RGB TFT ILI 9163C
- 2 -қадам: Ылғалдылық пен температура сенсоры AM2302 DHT22
- 3 -қадам: Схема
- 4 -қадам: құрастыру
- 5 -қадам: Кітапхана
- 6 -қадам: код
- 7 -қадам: Кейбір басқа қызықты функциялар
Бейне: LCD дисплейі бар ESP8266 цифрлық термометрі: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бүгін мен сізге нақты уақыттағы орта үшін температура мен ылғалдылық туралы ақпаратты көрсету үшін ESP8266 NodeMCU дисплейіндегі TFT LCD дисплейін қалай қолдану керектігін көрсетемін. Мен температураны және ылғалдылықты өлшейтін DHT22 дисплейін қолданудың мысалын келтіремін. Бұл бейнеде мен, атап айтқанда, біздің цифрлық термометр үшін жинақы дисплейді қолданамын, ол графикалық және жүйенің өзін бақылауға мүмкіндік береді. Бүгінгі күннің мақсаты - ESP8266 көмегімен сұйық кристалды дисплеймен жұмыс жасауды үйрену.
1 -қадам: СКД графикалық модулі 128x128 RGB TFT ILI 9163C
Біз бұл жобада қолданатын дисплей 128x128 пиксель. 0, 0 жоғарғы сол жақ бұрышта орналасқан және бұл модельде мәтінді басып шығару және графикалық басып шығару функциялары бар, олармен кейінірек айналысамыз.
2 -қадам: Ылғалдылық пен температура сенсоры AM2302 DHT22
Біз өз жинағымызда AM2302 DHT22 қолданамыз, бұл сенсор, маған өте ұнайды, себебі бұл өте дәл.
3 -қадам: Схема
Жобада бізде ESP8266 бар, ол қазірдің өзінде бағдарламаланған және USB қуатын қолданады. DHT22 СКД дисплейін басқаратын ESP8266 деректеріне және тартылатын резисторға қосылған.
4 -қадам: құрастыру
Мұнда NodeMCU, сенсор мен дисплейді көрсететін біздің құрастырудың электрлік схемасы бар. Есіңізде болсын, бұл i2c сериялық дисплейі, оны пайдалану оңай, себебі оның түйреуіштері көп.
5 -қадам: Кітапхана
Біз дисплейді Arduino C тілінде бағдарламалайтын болғандықтан, бізге DHT22 кітапханасы, сонымен қатар СКД қажет.
Алдымен ылғалдылық пен температура сенсорымен байланысу үшін келесі «DHT сенсорлық кітапханасы» кітапханасын қосыңыз.
«Эскиз >> кітапханаларды қосу >> кітапханаларды басқару …» бөліміне кіріңіз.
Енді келесі кітапхананы қосыңыз, «Adafruit-GFX-Library-master».
«Эскиз >> кітапханаларды қосу >> кітапханаларды басқару …» бөліміне кіріңіз.
Сондай -ақ, СКД графикалық модулімен байланыс үшін «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 #анықтаңыз CYAN 0x07FF #defineFEFFEFEFEFOFEFOFFOFFOFO _CS D1 анықтаңыз // ДК -ді анықтаңыз #LCD -ді анықтаңыз _DC D4 анықтаңыз // RS -ті байланыстыратын LCD TFT_ILI9163C дисплейі = TFT_ILI9163C (_ CS, _DC); // СКД немесе коммуналдық қызметтерді пайдалану үшін құрылтайшы
Орнату
Setup () функциясында біз ылғалдылық сенсоры мен температурамен байланысқа жауап беретін «dht» айнымалысын инициализациялаймыз, сонымен қатар СКД модулімен байланысу үшін қолданылатын «дисплей» айнымалысын инициализациялаймыз.
Біз сондай -ақ объектіні экранда сурет салуды бастайтын етіп конфигурациялаймыз.
void setup (void) {dht.begin (); // сенсорлық дисплейде комментарийлерді енгізу.begin (); // СКД дисплейі.clearScreen () үшін комуникарлық нұсқаулар; // limpa a tela, removendo todos os desenhos display.fillScreen (BLACK); // алдын ала көрсету.setTextSize (2); // мәтіндік немесе конфигурациялық конфигурация 2 display.setTextColor (GREEN); // configo a coro texto como verde display.setCursor (5, 10); // (x, y) display.print («ТЕМПЕРАТУРА») белгісі бойынша курсордың келуі; // escreve em tela display.setCursor (22, 70); // reposiciona o cursor display.print («UMIDADE»); // escreve em tela display.setTextColor (WHITE); // texto como branco (partir de agora) кешігуінің конфигурациясы (1000); // 1 -ші кезеңнің нұсқасы}
Цикл
Цикл () функциясында сенсор оқыған және экранда белгілі бір жерде жазылған ылғалдылық пен температураны шығарамыз. Әр 5 секундтық аралықта мән сенсордан оқылады және экранға жазылады.
void loop () {int h = dht.readHumidity (); // сенсор int t = dht.readTemperature (); // сенсор сенсоры // «fillRect» деген екі нұсқада да, жергілікті желіде де, жергілікті температурада да, температурада да, апартамен де, ең маңыздысы да бар. display.fillRect (5, 32, 120, 20, ҚАРА); // fillRect (x, y, ені, биіктігі, түсі); display.fillRect (5, 92, 120, 20, ҚАРА); display.setCursor (40, 35); // reposiciona o cursor para escrever display.print (t); // escalve a temperatura em tela display.print ((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); // tela display.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, радиусы, түсі);
Ұсынылған:
4 цифрлық 7 сегменттің дисплейі 14 түйреуішті Arduino көмегімен: 3 қадам
4 цифрлық 7 сегменттің дисплейі 14 түйреуіштер Arduino көмегімен: бұл компонентте түйреуіштердің саны өте көп болса, құрылғының дұрыс жұмыс істеп тұрғанын тексерген дұрыс. Бұл жобада мен 4 разрядты 7 сегментті 14 істікшелі дисплейді сынап көрдім. Барлық 7 сегмент бір уақытта 0 -ден 9 -ға дейін көрсетеді
STA/AP режимінде ESP8266 бар Wifi термометрі: 5 қадам
STA/AP режимінде ESP8266 бар Wi -Fi термометрі: Бұл оқу құралы ESP8266 -ға негізделген және оны HTTP веб -серверінде жұмыс істейтін WiFi термометрі ретінде қолданады. Сонымен қатар клиент ретінде STA -ның 2 режимі бар
4 цифрлық 7 сегменттің дисплейі секундомер: 3 қадам
4 цифрлық 7 сегментті дисплей секундомері: Бұл нұсқаулық сізге 4 цифрлы жеті сегментті дисплейден нақты уақыттағы толық жұмыс істейтін секундомерді қалай жасау керектігін көрсетеді
Arduino мен TFT дисплейі арқылы нақты уақытты қалай жасауға болады - 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: 4 қадам
Arduino мен TFT дисплейі көмегімен нақты уақытты қалай жасауға болады | 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: Менің Youtube каналыма кіріңіз. Кіріспе:- Бұл жазбада мен 3,5 дюймдік TFT сенсорлы СКД, Arduino Mega көмегімен «Нақты уақыттағы сағат» жасаймын. 2560 және DS3231 RTC модулі… .Бастамас бұрын… бейнесін менің YouTube каналымнан қараңыз .. Ескерту:- Егер сіз Arduin қолдансаңыз
NRF24L01 және 4 цифрлық 7 сегментті дисплейі бар Arduino сымсыз комбинациясы: 6 қадам (суреттермен)
NRF24L01 және 4 цифрлық 7 сегментті дисплейі бар Arduino сымсыз комбинациясы: Бұл жоба 4 цифрлы 7 сегментті дисплеймен бірдеңе жасауға арналған жаттығудан басталды. ол аяқталды, бұл өте скучно болды. Мен оны Arduino UNO көмегімен жасадым