Оглавление:

Метеостанция с большим дисплеем ST7920: 4 шага
Метеостанция с большим дисплеем ST7920: 4 шага

Видео: Метеостанция с большим дисплеем ST7920: 4 шага

Видео: Метеостанция с большим дисплеем ST7920: 4 шага
Видео: Arduino ST7920 LCD + DS1307 RTC clock 2024, Ноябрь
Anonim
Метеостанция с большим дисплеем ST7920
Метеостанция с большим дисплеем ST7920
Метеостанция с большим дисплеем ST7920
Метеостанция с большим дисплеем ST7920
Метеостанция с большим дисплеем ST7920
Метеостанция с большим дисплеем ST7920

Дорогие друзья, добро пожаловать на очередной Инструктаж! В этом уроке мы впервые взглянем на этот большой ЖК-дисплей и построим на его основе монитор температуры и влажности.

Я всегда хотел найти дисплей, похожий на дисплей, который использует мой 3D-принтер, потому что он большой и недорогой, поэтому может быть очень полезен для многих проектов. Осмотревшись, я обнаружил, что мой принтер использует именно этот дисплей. Большой 3,2-дюймовый дисплей с драйвером ST7920 и разрешением 128x64 точки. Прохладный! Как видите, он намного больше, чем большинство дисплеев, которые мы использовали до сих пор в наших проектах, поэтому он будет полезен во многих будущих проектах. Это стоит всего около 6 долларов!

Вы можете получить его здесь →

Запасы

  1. ЖК-дисплей ST7920 →
  2. Arduino Uno →
  3. Датчик DHT22 →
  4. Макетная плата →
  5. Провода →

Шаг 1: подключение к Arduino

Связь с Arduino
Связь с Arduino
Связь с Arduino
Связь с Arduino
Связь с Arduino
Связь с Arduino

Давайте теперь посмотрим, как использовать его с Arduino. Сегодня я собираюсь использовать Arduino Uno, но он работает со многими платами Arduino.

Дисплей использует интерфейс SPI для связи с микроконтроллером, поэтому нам нужно подключить его к аппаратным контактам SPI платы Arduino.

Как видите, у дисплея есть много контактов для подключения, но не беспокойтесь, нам не нужно подключать все эти контакты, только 9 из них и только 4 из них к цифровым контактам платы Arduino Uno.

Первый вывод, который является GND, идет на Arduino GND. Второй вывод Vcc идет на выход Arduino 5V. Вывод RS переходит к цифровому выводу 10. Вывод R / W переходит к цифровому выводу 11. Вывод E идет к цифровому выводу 13. Вывод PSB переходит к GND, вывод RST переходит к цифровому выводу 8, BLA переходит к выходу 3,3 В Arduino. и контакт BLK переходит в GND. Вот и все, наш дисплей готов к работе!

Мы можем облегчить себе жизнь, если соединим все контакты GND дисплея вместе.

Шаг 2: Библиотека для дисплея

Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея
Библиотека для дисплея

Теперь давайте посмотрим, какое программное обеспечение нам нужно для управления этим дисплеем.

Я собираюсь использовать библиотеку u8g для управления этим дисплеем. Прежде всего, давайте установим библиотеку. Мы открываем IDE Arduino и в меню выбираем Sketch → Include Library → Manage Libraries и ищем библиотеку U8G2. Выбираем его и жмем установить! Вот и все, наша библиотека готова к использованию.

Теперь перейдем в Файл → Примеры и из примеров, предоставленных с библиотекой, запустим пример GraphicsText. Нам нужно внести только одно изменение в эскиз, прежде чем загружать его на доску. Поскольку библиотека U8G поддерживает множество дисплеев, мы должны выбрать соответствующий конструктор для нашего дисплея. Итак, мы ищем код для «ST7920» и из доступных конструкторов выбираем использование HW_SPI. Раскомментируем эту строку вот так, и мы готовы загрузить скетч в Arduino. Через несколько секунд скетч готов к работе.

Если вы ничего не видите на дисплее, вам необходимо отрегулировать контрастность дисплея с помощью этого небольшого потенциометра, который расположен на задней стороне дисплея

Теперь давайте посмотрим демонстрационный набросок в течение нескольких секунд. Как видите, этот пример эскиза демонстрирует возможности библиотеки и дисплея. С этим дисплеем мы можем добиться крутых анимаций, это вполне под силу. Вот почему он используется во многих 3D-принтерах.

Шаг 3. Давайте построим метеостанцию

Построим метеостанцию
Построим метеостанцию
Построим метеостанцию
Построим метеостанцию
Построим метеостанцию
Построим метеостанцию
Построим метеостанцию
Построим метеостанцию

А теперь построим что-нибудь полезное. Давайте подключим датчик температуры и влажности DHT22 к Arduino. Нам нужно только питание и сигнальный провод, который я подключаю к цифровому контакту 7. Чтобы упростить задачу, я также использовал небольшую макетную плату. Здесь вы можете найти схематическую диаграмму.

Как видите, проект работает нормально и отображает температуру и влажность в режиме реального времени.

Давайте теперь бегло посмотрим на код проекта. С помощью всего 60 строк кода мы можем создать такой проект! Как это круто! Все, что нам нужно сделать, чтобы использовать дисплей, - это использовать этот конструктор:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, / * CS = * / 10, / * сброс = * / 8);

инициализировать дисплей в функции настройки:

u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);

а затем все, что мы делаем, это рисуем рамки и строки для температуры и влажности:

u8g2.drawFrame (0, 0, 128, 31);

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, «Температура»);

Последнее, что нам нужно сделать, это считать температуру и влажность с датчика, а также отобразить показания на экране.

void readTemperature ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, температура); }

Как всегда, вы можете найти здесь код проекта.

Шаг 4: Заключительные мысли

Последние мысли
Последние мысли

И напоследок. Я считаю, что этот дисплей очень полезен в проектах, где нам нужен большой дисплей и не нужен цвет. Это недорого и удобно. Думаю, я собираюсь использовать его в некоторых будущих проектах.

Хотелось бы узнать ваше мнение об этом дисплее. Как вы думаете, для каких приложений им будет полезен такой дисплей? Спасибо за ваши идеи и за чтение этого руководства. Увидимся в следующий раз!

Рекомендуемые: