Orange pi как подключить дисплей

Подключение LCD 16×2 на базе HD44780 к Orange Pi, Banana Pi и Raspberry Pi

Подключение ЖК-дисплея на базе HD44780 к Orange Pi, Banana Pi и Raspberry рано или поздно заинтересует вас. ЖК-дисплеи отлично подходят для вывода показаний датчиков, обычных сообщений, а также материалов из Интернета, таких как твиты. Что бы вы ни выбрали для показа, ЖК-дисплей — это простой и недорогой способ сделать это.

В этом уроке я покажу вам два разных способа подключения ЖК-дисплея на базе HD44780 к Orange Pi с помощью контактов GPIO. Первый способ — это 8-битный режим, который использует 10 контактов GPIO. Затем я покажу вам, как подключить HD44780 к Orange Pi в 4-битном режиме, который использует только 6 контактов. После того, как мы подключим ЖК-дисплей, я покажу вам, как программировать его с помощью C/C++, используя библиотеку LCD Gordon Henderson’s WiringPi.

Я покажу вам, как вывести текст на дисплее, очистить дисплей. Вы также увидите, как создавать пользовательские символы, печатать данные с датчиков.

Я буду использовать ЖК-дисплей 16×2, но приведенные ниже примеры будут работать с любым ЖК-дисплеем, который использует драйвер Hitachi HD44780.

Подключение ЖК-дисплея на базе HD44780 к Orange Pi

Большинство людей, вероятно, хотят подключить свой ЖК-дисплей в 4-битном режиме, так как он использует меньше проводов. Но в случае, если вы заинтересованы, я покажу вам, как подключить его в 8-битном режиме.

Подключение ЖК-дисплея в 8-битном режиме

В 8-разрядном режиме каждая команда или символ отправляется на ЖК-дисплей в виде одиночного байта (8 бит) данных, для обмена информацией используются контакты от D0 до D7, данные пересылаются за один такт. 8-битный режим быстрее, чем 4-битный, но основной недостаток данного режима состоит в том, что он использует большое количество контактов GPIO.

Подключение LCD в 8-битном режиме требует 10 контактов GPIO:

Потенциометры яркости и контрастности — 10 кОм, но здесь вы также можете использовать резисторы от 1 до 3 кОм.

Подключение ЖК-дисплея в 4-битном режиме

В 4-битном режиме каждый байт данные пересылаются на LCD за 2-а такта по 4 бита, сначала старшие 4-е бита, потом младшие 4-е бита, а для обмена используются только контакты D4 – D7.

4-битный режим требует 6 контактов GPIO для ввода/вывода, что делает его популярным для многих проектов:

Потенциометры яркости и контрастности — 10 кОм, но резисторы от 1 до 3 кОм также будут работать.

READ  Как подключить интернет на мтс в ростове на дону

Программирование ЖК-дисплея на С /C++

WiringPi — это модуль C, который упрощает программирование ЖК-дисплея. Если у вас не установленный WiringPi, переходите на странице Установка и настройка BPI-WiringPi/WiringPi на Banana Pi или Установка и настройка WiringOP/WiringPi на Orange Pi PC, где есть инструкция по установке WiringPi для Banana Pi и Orange Pi, соответственно.

Также рекомендую установить CodeBlocks или CodeLite.

Важно:
Не забудьте добавить следующие параметры в Linker:

Code::blocks
-lwiringPi
-lwiringPiDev
-lpthread

CodeLite
wiringPi
wiringPiDev
pthread

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

Источник

Orange pi как подключить дисплей

Orange Pi One и Orange Pi PC/PC Plus

MyTmpFile=»$(mktemp /tmp/$<0##*/>.XXXXXX)»
trap «rm \»$\»; exit 0″ 0 1 2 3 15

echo «Successfully repaired broken overvolting/overclocking settings. Reboot necessary for changes to take effect»

Тоже вначале грешил на кривые образы Но оказалось, что плата очень привередлива к SD-картам! У меня на разных картах один и тот же образ Android вёл себя по-разному и не загружался, в том числе и просто висел на лого H3. У меня плата исправно загружается с карточки SanDisk 4 Gb Class 4, но при этом отказывается воспринимать SanDisk 16 gb Class 10 и другие карты. В общем, нужно подбирать SD-карту.

Нормальная загрузка выглядит так: При включении, на экране монитора появляется логотип H3 (или другой логотип, в зависимости от образа), а на самой плате загорается красный светодиод. Далее, секунд через 5, светодиод на несколько секунд переключается на зелёный, а на экране всё тот же логотип, потом логотип сменяется анимацией и тут уже становится понятно, что операционная система загружается.

Система Debian_wheezy_mini
Обращаю ваше внимание, все команды я выполняю от root‘а.

Изначально, после установки системы, устройство IR не доступно, так как не загружены соответствующие модули, в случае Orange Pi PC — это модуль sunxi_ir_rx
Идем /etc/ правим файл «modules»
добавляем строки:

apt-get update && sudo apt-get upgrade
перезагружаемся reboot
Проверяем загрузку модуля sunxi-ir-rx командой lsmod

# lsmod
Module Size Used by
sunxi_ir_rx 6793 0
gpio_sunxi 8233 0
8189es 887631 0
rt2800usb 13648 0
rt2x00usb 8311 1 rt2800usb
rt2800lib 42390 1 rt2800usb
rt2x00lib 32107 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 331125 3 rt2x00lib,rt2x00usb,rt2800lib
root@OrangePI:

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

# cat /proc/bus/input/devices
I: Bus=0019 Vendor=0002 Product=0001 Version=0100
N: Name=»vmouse»
P: Phys=vmouse/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: PROP=0
B: EV=7
B: KEY=70400 0 0 0 0 0 0 0 0
B: REL=143

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name=»sunxi-ths»
P: Phys=sunxiths/input0
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=9
B: ABS=100 0

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name=»sunxi-ir»
P: Phys=RemoteIR/input1
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 cpufreq_interactive
B: PROP=0
B: EV=100003
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe

самый верный способ проверить, то ли это устройство, это выполнить
cat /dev/input/event2 | hexdump

При нажатии на кнопки пульта в терминале видим

# cat /dev/input/event2 | hexdump
0000000 0349 5618 2b44 0004 0001 0040 0001 0000
0000010 0349 5618 2b53 0004 0000 0000 0000 0000
0000020 0349 5618 dc05 0007 0001 0040 0000 0000
0000030 0349 5618 dc0c 0007 0000 0000 0000 0000
0000040 034c 5618 026e 0009 0001 0043 0001 0000
0000050 034c 5618 027c 0009 0000 0000 0000 0000
0000060 034c 5618 be07 000c 0001 0043 0000 0000
0000070 034c 5618 be0d 000c 0000 0000 0000 0000
^C
root@OrangePI:

(Остановить процесс можно [Ctrl]+[C])

проверяем
запускаем keybinder /dev/input/event2 и нажимаем на кнопки пульта

/keybinder# keybinder /dev/input/event2
Reading key input from /dev/input/event2 (sunxi-ir)
Loaded config items
Keycode 69 pressed
Keycode 64 pressed
Keycode 67 pressed

.
Идем /etc/ правим keybinder.conf

69,reboot
64,echo 0 > /sys/class/gpio_sw/normal_led/data
67,echo 1 > /sys/class/gpio_sw/normal_led/data
.

При нажатии кнопки пульта с кодом 67 вкючится красный светодиод на плате
Для автозапуска после перезагрузки
Идем /etc/ правим rc.local ……………..
до строки exit
добавляем строку

/usr/local/bin/keybinder /dev/input/event2 >/dev/null &

тестировал с подобными пультами

У вас Orange pi pc v1.2? Откуда лубунту ставили?
У меня лубунту, убунту и андройд нормально завелись (за исключением, что не работало часть усб портов и на одной прошивке сетевая карта). До этого были проблемы с блоком питания. Апельсинка к параметрам питания очень привязана, если будут небольшие отклонения в них, работать нормально не будет!
Да еще греется ппц. Под 70 градусов при активности!

Схема Orange Pi PC

Температуру процессора можно контролировать командой
watch cat /sys/class/thermal/thermal_zone0/temp
and stop it with
ctrl+c

dmesg | grep IR
выдает
IR RC5(x) protocol handler initialized

Или, пересобирать debian с другим драйвером.

Прошивка Андроид 4.4.2 от ZIDOO X1 v1.0.19 для Orange Pi PC

IMHO самая толковая прошивка с андроидом.
Плюсы:
— стоковый explorer умеет находить и монтировать samba и nfs
— автомонтирование флешек и дисков, размонтирование из explorer-а
— встроенный Remote Control (устанавливаете приложение на телефон и рулите девайсом)
— довольно приятный и шустрый интерфейс, удобно управлять с пульта
— настраиваемое автоотключение
— одновременный вывод звука на HDMI и AUDIO OUT
— работающий маркет из коробки

Источник

Нерабочий планшет + Orange Pi

Предыстория

Orange Pi PC

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

Охлаждение

Чипы памяти почти не греются. Радиатор нужен только для основного чипа. Я купил вот такие 40x40x11 мм:

Вырезал нужный размер ножовкой и приклеил на Алсил-5. Сам чип 14х14 мм, но радиатор можно сделать чуть больше.

Установка ОС

Рекомендуемый satie образ не поддерживал мой WiFi свисток (RTL8188CUS). Образ взял отсюда — по ссылкам из первого поста только реклама, кое-как удалось скачать по ссылке из второго поста, а чтобы вам было удобней, выложил на гуглодрайв.

Питание

Запитывать через гребёнку GPIO не удобно и опасно — можно ошибиться и что-нибудь сжечь. Я купил вот такой шнур:

Если хотите такой же — вот.

Но оказалось, что провод там настолько тонкий, что при потребляемых в среднем

250 мА из-за падения напряжения в проводе Orange Pi включаться не хочет. Так что провод пришлось заменить, но покупка не была напрасной — разъёмы я те использовал.

Включаем и фиксим оверклокинг

Для пользователей orangepi и root по умолчанию установлен пароль orangepi. Кроме того, по ssh по умолчанию можно зайти рутом, так что думайте о безопасности!

Если не работает монитор и сеть, можно подключиться терминальной программой через UART.

Теперь про оверклокинг. Есть файл /media/boot/script.bin. В этом файле хранятся настройки чипа. В удобочитаемый вид его можно конвертировать утилитой bin2fex. Так и делаем. В получившемся fex файле ищем секцию [dvfs_table] и убираем оттуда неприемлимые с вашей точки зрения режимы. Я оставил:

На таких режимах без корпуса чип греется не более чем до 55С.
При помощи утилиты fex2bin конвертируем всё это обратно в script.bin, перезагружаемся, радуемся, что нам теперь не нужен вентилятор!

Хорошо бы ещё уменьшить частоту памяти и GPU, но мне пока не удалось этого сделать.

Клавиатура

В комплекте с Lenovo Thinkpad Tablet была вот такая клавиатура-чехол:

Как оказалось, это обычная USB клавиатура и она может работать даже с обычным компом с Windows. Трекпоинт при этом тоже работает. Единственная проблема — вместо клавиш F1 — F12 на ней всякие клавиши регулировки громкости и т.п., и не работают комбинации Alt + Ctrl + т.к. Alt и Ctrl представлены разными USB точками. Пришлось переназначить некоторые клавиши.

Как это сделать я узнал отсюда. Получившийся в итоге файл переназначений клавиш:

Подключаем клавиатуру и теперь можно пользоваться комбинациями Alt + Ctrl + Fx!

Дисплей

Чип контроллера LVDS легко разогревается до 70С. Пока охлаждаю вентилятором, но надо будет тоже приклеить радиаторы к нему и стабилизаторам напряжения.

В итоге получилось:


Внизу контроллер LVDS охлаждаемый вентилятором


Блок питания, Orange Pi, клавиатура

К чему это всё?

А к тому, что если у вас сломается планшет или ещё какой девайс, знайте, что многим его компонентам можно дать вторую жизнь. Давайте пользоваться тем, что наша электроника — это пока не чёрные ящики залитые эпоксидкой (хотя движение в этом направлении есть).

А ещё есть у меня мечта продвинуть идею специализированных свалок/фримаркетов, где можно будет оставить то что тебе уже не нужно, но что кто-нибудь ещё сможет использовать.

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector