Категории раздела |
|
Автомобильные гаджеты, ремонт...
[143]
|
Безопасность IT
[404]
|
Блоки питания, Power Banks, зарядки...
[508]
|
Видеорегистраторы
[186]
|
Гаджеты для спорта и здоровья...
[190]
|
Гаджеты, аксессуары...
[627]
|
Измерительная техника, инструменты
[437]
|
Накопители данных
[232]
|
Нетбуки, Ноутбуки, Ультрабуки
[689]
|
Мультиварки, блендеры и не только...
[162]
|
Планшеты
[764]
|
Радар-детекторы
[26]
|
Роботы-пылесосы
[37]
|
Своими руками
[360]
|
Сети, сетевые технологии, оборудование...
[273]
|
Смартфоны
[4959]
|
Фотокамеры, объективы, искусство фотографии..
[541]
|
Умный дом
[50]
|
Электронные книги
[101]
|
CB, LPD, PMR- связь...
[170]
|
DECT, IP-телефоны
[18]
|
Drones, boats, cars...
[108]
|
electric cars
[35]
|
GPS-навигаторы, трекеры...
[51]
|
Linux и не только
[3981]
|
mini computers и не только...
[409]
|
News IT, Это интересно, ликбез...
[1120]
|
Smart TV, UltraHD, приставки, проекторы...
[415]
|
Smart Watch
[268]
|
Sound: наушники, плееры, усилители...
[618]
|
Windows 10...
[301]
|
Windows 11
[37]
|
| |
|
|
| | |
| Главная » 2013 » Декабрь » 21 » Новогодняя малина — прикручиваем экран HD44780 к Raspberry Pi
12:03 Новогодняя малина — прикручиваем экран HD44780 к Raspberry Pi |
сегодня в 11:31
Новогодняя малина — прикручиваем экран HD44780 к Raspberry Pi
С наступающим!
Проникшись идеями постов: «Поздравление по гиковски, без написания дров» и «Создание собственных драйверов под Linux» решил поделится ещё одним способом управления экраном на базе контроллера HD44780 с помошью Raspberry Pi.
Библиотека bcm2835
Основной задачей LPT порта, демоплат и прочих крутых штук, при
управлении экраном, является — дёргать нужными ногами экрана в
соответствии с получаемыми от компьютера данными.
В моём случае нет разделения на комп и управляющюю плату так как у RPI
есть прекрасный интерфейс General-purpose input/output (GPIO) которым
можно рулить напрямую из программы. Для этого я решил использовать
библиотеку bcm2835.
Подключение экрана
Тут не должно быть ничего сложного. Обратате внимание что у меня малина
второй ревизии и распиновка разъёма немного отличается от первой.
Посмотреть распиновку разъёма на обе версии можно например тут.
Программа управления
Для удобной работы с экраном мною была написана простенькая библиотека
самых важных на мой взгляд функций работы с экраном. Библиотека довольно
сырая и неполная но для текущей задачи подойдёт.
Для начала её нужно немного настроить:
файл HD44780.h
#define HD44780_DB4 RPI_V2_GPIO_P1_11
#define HD44780_DB5 RPI_V2_GPIO_P1_12
#define HD44780_DB6 RPI_V2_GPIO_P1_13
#define HD44780_DB7 RPI_V2_GPIO_P1_15
#define HD44780_RS RPI_V2_GPIO_P1_03
#define HD44780_RW RPI_V2_GPIO_P1_05
#define HD44780_E RPI_V2_GPIO_P1_07
Тут требуется указать соответствия контактов GPIO и LCD, если схема
подключения не отличается от приведенной ничего менять не нужно.
Так-же, возможно, придётся поправить lcd.c:
#define MAX_DISP_ROWS 2 // The HD44780 supports up to 4 rows
#define MAX_DISP_COLS 16 // The HD44780 supports up to 40 columns
Требуется указать размеры своего экрана.
Важно: экран питается от напряжения 5 вольт, а
малина работает с логическими уровнями напряжением 3,3в экран отлично
понимает данные уровни, а вот малина, если экран попытается ей что-то
передать может и не выдержать, ибо «GPIO voltage levels are 3.3 V and are not 5 V tolerant. There is no over-voltage protection on the board» отсюда.
Поэтому читать что либо из экрана настоятельно не рекомендуется. Чтобы
всё работало по уму нужен преобразователь уровней, а не прямое
подключение.
Работа с программой не слишком отличается от работы с портом из статьи goodic-а тут всё те-же управляющие последовательности так как основывался я на коде из его проекта который основан на проекте от dlinyj который использовал код за авторством Michael McLellan. OpenSource рулит. :)
последовательности
Единственное изменение: добавлена последовательность [i отвечающая за начальную инициализацию дисплея.
Её нужно передать при первом обращении к экрану.
Например:
Инициализируем экран.
root@raspberrypi:/home/pi/lcd
Выводим текст.
root@raspberrypi:/home/pi/lcd
Из минусов данного решения можно заметить необходимость запуска
программы из под прав администратора, это можно решить написанием
драйвера, но с наскока разобратся как рулить малиной из ядра у меня не
вышло.
Исходники
Сборка: root@raspberrypi:/home/pi/lcd$ gcc -o lcd lcd.c HD44780.c -lrt -lbcm2835 Чтобы не потерять выкладываю в виде zipjpeg:
UPD: sources
С наступающим Новым годом!http://habrahabr.ru/post/206782/
|
Категория: mini computers и не только... |
Просмотров: 863 |
Добавил: laptop
| Рейтинг: 4.0/1 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Волк слабее льва и тигра, но в цирке волк не выступает!
Волк - единственный из зверей, который может пойти в бой на более сильного противника.
Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...
Внимание! |
|
Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
| |
|
|