Привет! Как поставщика ЖК-дисплеев 20х4, меня часто спрашивают, как отображать значение температуры на этих изящных маленьких экранах. Итак, я решил написать этот пост в блоге, чтобы провести вас через весь процесс.


Прежде всего, давайте немного поговорим о ЖК-дисплее 20x4. Это отличный выбор для многих проектов, особенно когда вам нужно показать приличный объем информации. «20x4» означает, что в каждой строке содержится 20 символов, а всего — 4 строки. Это дает вам достаточно места для отображения не только температуры, но и некоторых дополнительных деталей, таких как единицы измерения (по Цельсию или Фаренгейту) и, возможно, временная метка.
Теперь, прежде чем мы углубимся в технические вопросы, давайте быстро упомянем некоторые другие ЖК-дисплеи, которые также могут вас заинтересовать. Если вы ищете что-то поменьше, у нас естьЖК-дисплей 16x2. Это классика, 16 символов в строке и 2 строки. Тогда естьЖК-дисплей 20x2, что дает вам немного больше ширины, но все равно всего 2 строки. А если вам нужно немного больше высоты,ЖК-дисплей 16 х 4это надежный вариант.
Хорошо, вернемся к ЖК-дисплею 20x4 и отображению температуры. Первое, что вам понадобится, это датчик температуры. Их существует множество, но наиболее популярными являются DHT11 или DHT22. Эти датчики относительно просты в использовании и могут давать точные показания температуры.
Как только вы получите датчик, вам нужно будет подключить его к микроконтроллеру. Я предполагаю, что для этого примера вы используете Arduino, но общие концепции применимы и к другим микроконтроллерам.
Подключение датчика температуры к Arduino
- Власть: Подключите контакт VCC датчика DHT к контакту 5 В на Arduino. Это обеспечивает мощность, необходимую датчику для работы.
- Земля: Подключите контакт GND датчика к контакту GND на Arduino. Это завершает электрическую цепь.
- Данные: Подключите контакт данных датчика к одному из цифровых контактов Arduino. Допустим, мы подключаем его к контакту 2.
Подключение ЖК-дисплея 20x4 к Arduino
- Власть: Подключите контакт VSS ЖК-дисплея к GND, а контакт VDD к 5 В.
- Контраст: Подключите контакт VO к потенциометру. Это позволяет вам регулировать контрастность дисплея, чтобы вы могли четко видеть символы.
- Управляющие контакты: Подключите контакт RS к цифровому контакту 12, контакт EN к цифровому контакту 11, а контакты D4–D7 к цифровым контактам 5–8 соответственно. Эти контакты используются для отправки команд и данных на ЖК-дисплей.
Написание кода
Теперь, когда все подключено, пришло время написать код. Вот базовый пример:
#include <LiquidCrystal.h> #include <DHT.h> // Инициализируем библиотеку ЖК-дисплея номерами интерфейсных контактов LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // Инициализируем датчик DHT #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // Устанавливаем количество столбцов и строк ЖК-дисплея: lcd.begin(20, 4); // Запускаем датчик DHT dht.begin(); } void Loop() { // Чтение температуры или влажности занимает около 250 миллисекунд! // Показания датчика также могут быть устаревшими до 2 секунд (это очень медленный датчик) float h = dht.readHumidity(); float t = dht.readTemperature(); // Проверяем, не удалось ли какое-либо чтение, и выходим раньше (чтобы повторить попытку). if (isnan(h) || isnan(t)) { lcd.setCursor(0, 0); lcd.print("Не удалось прочитать данные датчика DHT!"); возвращаться; } // Отображение температуры на ЖК-дисплее lcd.setCursor(0, 0); lcd.print("Температура: "); жк.принт(т); lcd.print("С"); задержка (2000); }
Давайте разберем, что происходит в этом коде:
- Библиотеки: Мы включаем
ЖидкостьКристаллбиблиотека для управления ЖК-дисплеем иДХТбиблиотека для чтения датчика температуры. - Инициализация: В
настраивать()функции, мы инициализируем ЖК-дисплей с правильным количеством столбцов и строк (20x4). Также запускаем датчик DHT. - Чтение датчика: В
петля()Функция, мы считываем влажность и температуру с датчика DHT. Если показания недействительны, мы отображаем сообщение об ошибке на ЖК-дисплее. - Отображение температуры: Если показания действительны, устанавливаем курсор в начало первой строки на ЖК-дисплее, печатаем текст «Температура:», после чего следует значение температуры и единица измерения «С».
- Задерживать: Добавляем задержку в 2 секунды перед повторным считыванием датчика. Это дает датчику достаточно времени для получения точных показаний.
Дополнительные соображения
- Преобразование единиц измерения: Если вы хотите отображать температуру в градусах Фаренгейта вместо Цельсия, вы можете использовать следующую формулу:
т = dht.readTemperature (истина);истинныйпараметр сообщаетчтениеТемпература()функция возврата температуры в градусах Фаренгейта. - Обработка ошибок: В приведенном выше коде мы просто отображаем сообщение об ошибке, если показания датчика недействительны. Вы можете добавить более сложную обработку ошибок, например, попытаться несколько раз прочитать показания датчика, прежде чем сдаться.
- Форматирование дисплея: вы можете поиграть с форматированием дисплея, чтобы оно выглядело лучше. Например, вы можете добавить дополнение к значению температуры, чтобы оно всегда занимало одинаковое количество символов.
Заключение
И все! Теперь вы знаете, как отображать значение температуры на ЖК-дисплее 20x4 с помощью Arduino и датчика DHT. Это веселый и полезный проект, который можно расширять разными способами.
Если вы заинтересованы в приобретении ЖК-дисплеев 20x4 или любой другой нашей ЖК-продукции, мы будем рады услышать ваше мнение. Просто свяжитесь с нами, чтобы начать разговор о ваших конкретных потребностях. Мы здесь, чтобы помочь вам найти идеальное решение для вашего проекта.
Ссылки
- Документация Ардуино
- Техническое описание датчика DHT
- Документация библиотеки LiquidCrystal
