Arduino + LCD шильд, первые шаги

Всем привет! Пару дней ничего не писал в блог из-за того, что заболел, сегодня температура спала и можно написать следующею статью, которая будет посвящена Lcd шильду с 5 кнопками на борту. Посмотреть на него и купить можно здесь.

display шильд

Подключение LCD Shield к ардуино

Первым делом этот шильд надо правильно одеть на arduino uno так как на нем меньше выводов чем на плате. Шильд нужно одеть максимально сдвинув его от разъема usb расположенного на плате уны. Таким образом если взять плату с одетым шильдом в руки usb разъемом в верх у нас останутся не задействовано 2 разъема на ардуино с права и 3 с лева.

Проверяем работоспособность 

Подключаем Arduino к компьютеру и на дисплее должна загореться подсветка. Верхний ряд экрана должен быть заполнен черными квадратиками, если вы их не видите или видите не четко, то подкрутите подстрочный резистор, который расположен над экраном рядом с кнопкой reset. Все, шильд готов к работе.

Для работы с экранами arduino ide имеет готовую библиотеку LiquidCrystal которая поможет нам работать с дисплеем на много удобнее. Давайте попробуем загрузить на плату тестовый проект и посмотреть, как это будет выглядеть, для этого переходим в меню Файл -> Примеры -> LiquidCrystal -> Hello World b и мы увидим следующий код:

 

 

В который нам придется внести маленькие изменения для того что бы заставить работать, а именно строку инициализации дисплея LiquidCrystal lcd(12, 11, 5, 4, 3, 2) изменить до такого состояния LiquidCrystal lcd(8, 9, 4, 5, 6, 7). После чего можно загружать скетч в плату и на экране мы увидим заветную надпись Hello world,

Информация
(к сожалению этот дисплей не поддерживает русские буквы так что мы будим довольствоваться английскими символами)

 

Работа с кнопками на Lcd shields

Вариантов подключение кнопок к arduino огромное множество, но так как мы с вами еще не рассматривали не одного то начнем со способом подключения использованного на этом шильде. Хочу заметить, что данный способ очень удобен из-за того, что занимает мало пинов для подключения, но и имеет свои недостатки, а именно невозможно обработать одновременное нажатие нескольких кнопок (по чему рассмотрим потом).

На lcd шильде установлено 5 кнопок и они имеют следующею схему подключения:

 

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

Для каждого шильда скорей всего значения будут разные, но на всякий пожарный приведу полученные мной значения:

  1. Кнопка вверх: 143
  2. Кнопка влево: 505
  3. Кнопка вниз: 329
  4. Кнопка вправо: 0
  5. Кнопка селект:740

Теперь зная эти цифры, мы сможем узнать какая кнопка нажата. Давайте напишем простую функцию, которая будет возвращать номер нажатой кнопки:

И программу что бы проверить нашу функцию, общий вид кода будет следующим:

 

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

В следующей статье мы сделаем меню с навигацией и другими плюшками. А также я буду рад вашим комментариям!

Метки: , , , . Закладка Постоянная ссылка.

Добавить комментарий