Съдържание:
- Стъпка 1: LCD графичен модул 128x128 RGB TFT ILI 9163C
- Стъпка 2: Сензор за влажност и температура AM2302 DHT22
- Стъпка 3: Схема
- Стъпка 4: Монтаж
- Стъпка 5: Библиотека
- Стъпка 6: Код
- Стъпка 7: Някои други интересни функции
Видео: ESP8266 Цифров термометър с LCD дисплей: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Днес ще ви покажа как да използвате TFT LCD дисплей на ESP8266 NodeMCU за показване на данни за температурата и влажността за дадена среда в реално време. Давам пример за използване на дисплея с DHT22, който е манометър за температура и влажност. В този видеоклип по -специално използвам компактен дисплей за нашия цифров термометър, който е графичен и позволява мониторинг на самата система. Следователно целта на днешния ден е да научим за работата с дисплея с течни кристали, използвайки ESP8266.
Стъпка 1: LCD графичен модул 128x128 RGB TFT ILI 9163C
Дисплеят, който използваме в този проект, е 128x128 пиксела. 0, 0 е в горния ляв ъгъл и този модел има функции за печат на текст и графичен печат, с които ще се занимаваме по-късно.
Стъпка 2: Сензор за влажност и температура AM2302 DHT22
Ще използваме AM2302 DHT22 в нашия монтаж, който е сензор, който много ми харесва, тъй като е много прецизен.
Стъпка 3: Схема
В проекта имаме ESP8266, който вече е програмиран и използва USB захранването. DHT22 е свързан към данните, а издърпващият резистор към ESP8266, който контролира LCD дисплея.
Стъпка 4: Монтаж
Тук имаме електрическата диаграма на нашия монтаж, която показва NodeMCU, сензора и дисплея. Не забравяйте, че това е сериен дисплей, i2c, който е по -лесен за използване, тъй като има повече пинове.
Стъпка 5: Библиотека
Тъй като ще програмираме дисплея с език Arduino C, имаме нужда от библиотеката DHT22, както и от LCD.
Първо добавете следната библиотека „DHT sensor library“за комуникация със сензора за влажност и температура.
Просто влезте в „Скица >> Включване на библиотеки >> Управление на библиотеки…“
Сега добавете следната библиотека „Adafruit-GFX-Library-master“.
Просто влезте в „Скица >> Включване на библиотеки >> Управление на библиотеки…“
Също така добавете библиотеката "TFT_ILI9163C" за комуникация с LCD графичния модул.
Достъп до връзката ((((((((https://github.com/sumotoy/TFT_ILI9163C))))) и изтеглете библиотеката.
Разархивирайте файла и го поставете в папката библиотеки на Arduino IDE.
C: / Програмни файлове (x86) / Arduino / библиотеки
Стъпка 6: Код
Първо нека добавим библиотеките, които ще се използват в нашия код.
#include // използвайте para se comunicar com o módulo LCD#include // utilizada para se comunicar com o сензор de umidade e температура
Определения
По -долу ще видим променливите, които ще използваме по време на програмата, и екземпляра на обектите.
#дефинирайте DHTPIN D6 // pino que conectaremos или сензор DHT22#дефинирайте DHTTYPE DHT22 // DHT22 е това как да използвате сензора за използване (важен параметър или конструктор) DHT dht (DHTPIN, DHTTYPE); // конструкторът прави обект, който използва използването на комуникационен сензор за сензори // Определения на цветовете #дефинирайте ЧЕРЕН 0x0000 #дефинирайте СИН 0x001F #дефинирайте ЧЕРВЕН 0xF800 #дефинирайте ЗЕЛЕН 0x07E0 #дефинирайте CYAN 0x07FF #дефинирайте MAGENTA 0xF81FEFEFEFEFE #FEFEFEFEF # дефинирайте _CS D1 // pino que conectaremos o CS за модул LCD #define _DC D4 // pino que conectaremos o RS за módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // конструкторът прави обект, който използва уреда за комуникационния комуникационен LCD дисплей
Настройвам
Във функцията setup () инициализираме променливата "dht", която е отговорна за комуникацията със сензора за влажност и температура. Също така ще инициализираме променливата "display", която се използва за комуникация с LCD модула.
Също така ще конфигурираме обекта да започне да рисува на екрана.
void setup (void) {dht.begin (); // inicialização para se comunicar com o сензор дисплей.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // Limpa a tela, removendo todos os desenhos display.fillScreen (ЧЕРЕН); // pinta a tela toda de preto display.setTextSize (2); // конфигуриране на таманхо за текстово ком за таманхо 2 display.setTextColor (ЗЕЛЕН); // конфигуриране на cor do texto como verde display.setCursor (5, 10); // позициониране на курсора, за да дойдете и да излезете на част (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // репозиция или курсор display.print ("UMIDADE"); // escreve em tela display.setTextColor (БЯЛ); // конфигурация a cor do texto como branco (a partir de agora) забавяне (1000); // espera de 1 segundo}
Цикъл
Във функцията loop () ще извлечем влажността и температурите, прочетени от сензора и записани на екрана на конкретното място. На всеки интервал от 5 секунди стойността се отчита от сензора и се записва на екрана.
void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperature do sensor // as 2 linhas seguintes utilizando o método “fillRect”, são para fazer a limpeza do local onde escreveremos a umidade e a temperature, apagaremos o valor atual para escrever novamente atualizado. display.fillRect (5, 32, 120, 20, ЧЕРЕН); // fillRect (x, y, ширина, височина, цвят); display.fillRect (5, 92, 120, 20, ЧЕРЕН); display.setCursor (40, 35); // репозиция или курсор за показване на дисплея.print (t); // ескревирайте температурата em tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // репозиция или курсор за показване на дисплея.принт (h); // ескривиране на umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
Стъпка 7: Някои други интересни функции
// Завърта съдържанието на екрана (параметри 0, 1, 2 или 3)
display.setRotation (uint8_t);
// Обръща цветовете на дисплея (прави отрицателен)
display.invertDisplay (булев);
// Изчертава един пиксел на екрана в позиция (x, y)
display.drawPixel (x, y, цвят);
// Изчертава вертикална линия в позиция
display.drawFastVLine (x, y, ширина, цвят);
// Изчертава вертикална линия в определената позиция
display.drawFastHLine (x, y, ширина, цвят);
// Изчертава хоризонтална линия на определената позиция
display.drawRect (x, y, ширина, височина, цвят);
// Начертава кръг на определената позиция
display.drawCircle (x, y, радиус, цвят);
Препоръчано:
Използвайте смартфон като безконтактен термометър / преносим термометър: 8 стъпки (със снимки)
Използвайте смартфон като безконтактен термометър / преносим термометър: Измерване на телесната температура с безконтактно / безконтактно като термо пистолет. Създадох този проект, защото Thermo Gun сега е много скъп, така че трябва да намеря алтернатива, за да направя DIY. И целта е да се направи с нискобюджетна версия
Цифров термометър DHT11, използващ ESP8266: 4 стъпки
Цифров термометър DHT11 с помощта на ESP8266: В предишната статия вече обсъдих DH11 и как да го покажа на изходни устройства като 7 сегментни, LCD, сериен монитор и RGB пръстен. И в тази статия ще ви покажа как да следите температурата и влажността използване на браузър на мобилен телефон
Инфрачервен термометър на базата на Arduino - Инфрачервен термометър, използващ Arduino: 4 стъпки
Инфрачервен термометър на базата на Arduino | Инфрачервен термометър, използващ Arduino: Здравейте, момчета, в тази инструкция ще направим безконтактен термометър, използващ arduino. Тъй като понякога температурата на течността/твърдото вещество е твърде висока или твърде ниска, а след това е трудно да се установи контакт с нея и да се прочете температура тогава в този пейзаж
I2C / IIC LCD дисплей - Конвертиране на SPI LCD към I2C LCD дисплей: 5 стъпки
I2C / IIC LCD дисплей | Конвертирайте SPI LCD към I2C LCD дисплей: използването на spi lcd дисплей се нуждае от твърде много връзки, което е наистина трудно да се направи, затова намерих модул, който може да преобразува i2c lcd в spi lcd, така че нека започнем
Цифров термометър Acme W/ DS18B20 Temp Probe & I2C LCD: 5 стъпки
Цифров термометър Acme W/ DS18B20 Temp Probe & I2C LCD: това е много прост проект, който не струва много и няма да отнеме много време. Сложих го в кутия на Amazon, защото беше там, но това можеше да се монтира в почти всичко