ЖК дисплей с регистрами сдвига и Arduino
Одним из ограничений малых 8 разрядных микроконтроллеров Atmel ATMega используемых в Arduino, это уменьшенное количества портов ввода / вывода. Среди основных преимуществ этих микроконтроллеров: они дешевы, надежны и просты в программировании. Обычно считается, что микроконтроллеры в промышленных приложениях часто используются, чтобы управлять простыми схемами, выполняющими одну задачу. AVR микроконтроллер ATmega328P имеет достаточное количество контактов для управления буквенно-цифровым ЖК-дисплеем, что является более чем достаточным.
Буквенно-цифровой ЖК-дисплей для Arduino будет нашей первой схемой: используя только один компонент 74HC595 и Arduino мы сможем запускать по крайней мере 16 × 2 буквенно-цифровой ЖК-дисплей. Независимо от типа регистра сдвига в процессе управления используются только три вывода микроконтроллера. Один вывод используется для последовательных данных и два других как таймер, чтобы сообщить регистру сдвига о готовности быть сдвинутым (сдвиг-выход). Определяет готовность микроконтроллера приобрести новый бит для чтения (сдвиг -в).
Скачать ShiftLCD-Patched
Мы предлагаем вам загрузить библиотеку ShiftLCD по ссылке, предоставленной в данной статье. Эта версия библиотеки реализует оригинальную библиотеку Криса Прихода ShiftLCD с парой патчей, предоставляющих совместимость с самыми последними Arduino IDE.
В упомянутой библиотеке вы можете найти и использовать высокое сопротивление MOSFET для управления ЖК-подсветки. Мы убрали этот компонент из нашей схемы, потому что это оказалось бесполезным. Дешевые ЖК устройства работают нормально с поддержкой или без поддержки подсветки.
Во-первых, вы должны скачать библиотеку AlphaLCD для Arduino. Распакуйте файл и поместите папку в папку Arduino библиотеки, а затем перезапустите Arduino IDE.
Библиотека AlphaLCD происходит от первоначальной библиотеки LCDShift с небольшими изменениями.
Документацию можно скачать здесь AlphaLCD HTMLDOC и AlphaLCD Руководство . Мы предлагаем взглянуть на документацию, чтобы увидеть изменения и как работает библиотека.
Пример приложения
Вместо традиционного в большинстве случаев примера - "Hello World" в архив мы добавили пример приложения, включая пару советов по упрощению использования ЖК-вывода. Это набор вспомогательных mathods управляющих ЖК через библиотеку AlphaLCD. Приложения могут быть взяты здесь, интерактивная HTML и инструкции в формате PDF .
Приложения представляют собой скелет, в который вы можете добавить нужную или удалить ненужную функции. При компиляции для Arduino UNO или Arduino Duemilanove, скелет будет весить менее 2,5 кбайт из 32Кб доступной памяти.
Приложение состоит из нескольких файлов:
- Display_Example.ino основное тело схемы
- Strings.h пример написания строк
- Version.ha простой пример макроса.
- Lcd.h файл, включающий все фиксированные константы и методы, используемые для управления дисплеем.
В дополнение к этим файлам для упрощения и получения большей гибкости в выходных функцииях ЖК мы включили использование библиотеки Streaming для Arduino. Версия кода доступна здесь
Первая часть кода
Следует отметить, что библиотека AlphaLCD должна быть создана в верхней части кода таким же образом из традиционной библиотеки ShiftLCD.
Как видете существует множество вспомогательных методов, которые могут быть использованы в любом месте в остальной части программы. Ниже дан краткий список предоставляемых методов Можно удалить, изменить или добавить друг к другу. Как будет удобно.
Для более детального описания методов и их использования, а также параметров каждой функции обратитесь к документации