Доброго времени суток всем!
Муську читаю около года, теперь решил попробовать разместить свой обзор.

И в качестве предмета обзора выступит классный металлический корпус для микрокомпьютера Raspberry Pi 3.

Точнее, это не просто корпус. Это комплект из корпуса и адаптированной под его габариты платы расширения (HAT) с дисплеем, шестью кнопками и ИК-приемником.

Предыстория покупки

Raspberry Pi 3 я обзавелся в начале этого года. При покупке сразу заказал для нее радиаторы и корпус:


С радиаторами не прогадал, а вот акриловый корпус со временем перестал радовать.
Во-первых, он постоянно покрывался отпечатками пальцев.
Во-вторых, имел хлипкую конструкцию, не предполагающую что его будут собирать более одного-двух раз.
В общем, через несколько месяцев защелки на нем стали отламываться, да и вообще стало понятно, что хочется облачить «малинку» в более надежную и качественную броню.

Начал присматриваться к металлическим корпусам в интернет-магазинах и параллельно подумывать насчет изготовления самодельного корпуса из дерева, и тут со мной вышел на связь менеджер из магазина GearBest, внимание которого привлек цикл статей о Raspberry Pi на моем блоге, и предложил выслать какой-нибудь товар на обзор.

Грех было отказываться от такого предложения, и я попросил себе самый навороченный корпус из ассортимента их магазина. Представитель GearBest"а дал согласие, 6 мая мне сделали заказ, а 24 мая я уже забрал посылку с корпусом из отделения почты.

Технические характеристики

Корпус

Материал: алюминий
Цвет: черный
Ширина: 61 мм
Длина: 92 мм
Высота: 26 мм
Вес: 156 г

Экран

Диагональ: 2.2"
Разрешение: 320x240
Сенсорный интерфейс: нет
Число кнопок: 6
ИК-приемник: есть

Экранный модуль представляет собой очевидный клон , только слегка модифицированный (добавлен ИК-модуль и 4 штырька GPIO на нижней стороне), но об этом я подробнее напишу далее в обзоре.

Внешний вид, комплектация, сборка

Какой-то упаковки у корпуса нет. Он поставляется замотанным в пузырчатую пленку:


Разворачиваем пленку и смотрим комплектацию:


Сам корпус состоит из двух алюминиевых половинок. Никаких шероховатостей, заусенцев и т.п. я не обнаружил - качество изготовления на уровне.
Модуль с экраном, кнопками и ИК-портом запакован в отдельный слой пузырчатой пленки с дополнительными прокладками для мягкости.
В комплекте также присутствуют: защитное стекло (пластиковое) в транспортировочной пленке, набор винтов и фитингов для крепления, ключ-шестигранник, 6 круглых металлических кнопок.

Рассмотрим внимательнее экран:


Как я уже писал выше, это очевидный клон старого, но выпускающегося и продающегося до сих пор дисплейного модуля , только слегка модифицированный.
Кнопки в оригинальном модуле расположены снизу от экрана, в китайском аналоге - сбоку.
Оригинальные кнопки сделаны из пластика, в китайском аналоге из металла. Не знаю насколько это влияет на их долговечность, но щелкают они точно громче и четче, чем хотелось бы:).
Кроме того в аналоге добавлен ИК-приемник (черная «лампочка» в верхнем левом углу), а также вывод 4 пинов GPIO на нижней стороне:


Самое главное, что несмотря на все модификации к этому модулю все еще подходят оригинальные драйвера от Adafruit, осилить установку которых сможет даже новичок в Linux-системах.

Приступим к сборке:


Помещаем «малину» в нижнюю половинку корпуса. В некоторых алюминиевых корпусах присутствуют штыри, которые упираясь в SoC и микросхему памяти снимают с них тепло, тем самым корпус выполняет роль радиатора.
К этому корпусу все это не относится. Поэтому нужно иметь радиаторы. Вот эти медные неплохо зарекомендовали себя.


Закрепляем «малину» фитингами.


Насаживаем сверху модуль с экраном, кнопками и ИК-приемником.


Подготавливаем верхнюю половину корпуса: наживляем кнопки в отверстия, кладем на место защитное стекло.
Оцените толщину перегородок, отделяющих USB-порты от основной части внутреннего пространства корпуса. Материала производитель явно не жалел.


Соединяем обе половинки корпуса и закручиваем комплектные винты комплектным же шестигранником.


Последний штрих: наклейка на дно корпуса резиновых ножек. Кстати, обратите внимание на выемку под microSD. Она тут сделана по-людски, и карту памяти действительно можно вытащить пальцем. Во многих акриловых корпусах, включая тот корпус что был у меня ранее, отверстие для доступа к карте памяти хоть и присутствовало, но по факту эту карту приходилось каждый раз выцарапывать наружу пинцетом.


Корпус в сборе. Вид с разных ракурсов:).

Настройка

После сборки корпуса нужно настроить по отдельности 3 компонента: дисплей, кнопки и ИК-приемник.

Дисплей



Извиняюсь за качество картинки, но сфотографировать удалось только так.
Конечно же в реальности дисплей не «синит», а адекватно передает все цвета. И конечно же он нужен не для того, чтобы работать с ним в Raspbian. Графический интерфейс Raspbian вообще не рассчитан на разрешения экрана ниже 800x480.
Оболочка аудиоплеера Squeezebox (см. картинку в шапке обзора - это он и есть), портативная ретро-консоль, интерфейс умного дома или самописный интерфейс для быстрого доступа к функциям какого-то иного DIY-проекта на базе Raspberry Pi - вот область применения подобных дисплеев.

Настройка дисплея

Установка драйверов от Adafruit:
sudo echo "deb http://apt.adafruit.com/raspbian/ wheezy main" >> /etc/apt/sources.list sudo wget -O - -q https://apt.adafruit.com/apt.adafruit.com.gpg.key | apt-key add - sudo apt-get update sudo apt-get install node sudo apt-get install occidentalis sudo apt-get install raspberrypi-bootloader sudo apt-get install adafruit-pitft-helper
Активируем дисплей:
sudo adafruit-pitft-helper -t 22
Мастер настройки спросит, нужно ли выводить на дисплей консоль (нужно) и нужно ли повесить на 23 пин GPIO кнопку выключения. 23 пин GPIO - это, если не ошибаюсь, самая верхняя кнопка возле дисплея, помеченная кружком. Если не планируете использовать кнопки в других целях, то можно согласиться на предложение мастера настройки, и тогда у вас появится физическая кнопка для завершения работы и выключения «малинки».

Теперь создадим конфиг для оконного графического интерфейса:
sudo nano /usr/share/X11/xorg.conf.d/99-pitft.conf

В него нужно вписать:
Section "Device" Identifier "Adafruit PiTFT" Driver "fbdev" Option "fbdev" "/dev/fb1" EndSection

И перезагрузиться:
sudo reboot
Если все шаги были выполнены правильно, то на 2.2" дисплее появится сперва консоль со статусами загрузки, а потом графический интерфейс Raspbian. Если консоль появляется, а графический интерфейс нет - проверьте, чтобы в настройках Raspbian стояла автозагрузка в графический интерфейс или запустите его вручную командой startx).

Кнопки


На имеюшиеся 6 кнопок можно подвесить любые действия, в зависимости от того какую задачу выполняет Raspberry Pi.
Чтобы продемонстрировать их работоспособность я публикую пример их использования в качестве эмулятора мыши. В данном случае четыре кнопки возле экрана будут использоваться для перемещения курсора по осям X и Y, а 2 кнопки на правом торце эмулируют клик правой и левой кнопками мыши соответственно.

Настройка кнопок на примере эмулятора мыши

Установка библиотек Python для работы с GPIO:
sudo apt-get update sudo apt-get install libudev-dev sudo apt-get install python-pip sudo pip install rpi.gpio sudo pip install python-uinput

Активируем модуль uinput:
sudo modprobe uinput

Скачиваем скрипты для работы с кнопками:
mkdir Python-keys cd Python-keys wget www.raspberrypiwiki.com/images/6/6c/Python-keys.zip unzip Python-keys.zip

Запускаем скрипт:
sudo python rpi-2.2TFT-mouse.py

ИК-приемник

С ИК-приемником ситуация обстоит так же, как и с кнопками: теоретически, на каждую клавишу пульта можно повесить выполнение любой команды.
Публикую краткое руководство по настройке ИК-приемника.

Настройка ИК-приемника

Устанавливаем пакет LIRC:
sudo apt-get install lirc liblircclient-dev

Hедактируем файл конфигурации:
sudo nano etc/lirc/hardware.conf

Его строки нужно привести к следующему виду:
LIRCD_ARGS="--uinput" LOAD_MODULES=true DRIVER="default" DEVICE="/dev/lirc0" MODULES="lirc_rpi"

Редактируем файл config.txt:
sudo nano /boot/config.txt

В нем нужно найти строки:
# Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi

И привести их к следующему виду:
# Uncomment this to enable the lirc-rpi module dtoverlay=lirc-rpi,gpio_in_pin=26

После этих действий нужно перезагрузиться:
sudo reboot

Теперь проверим заработал ли ИК-порт:
sudo modprobe lirc_rpi sudo /etc/init.d/lirc stop sudo mode2 -d /dev/lirc0
Тут нужно направить пульт в сторону ИК-приемника и понажимать кнопки. Если ИК-приемник работает корректно, то увидим примерно следующее:

Прерываем выполнение команды (Ctrl+C на клавиатуре) и запускаем мастер настройки:
sudo /etc/init.d/lirc stop sudo irrecord -n -d /dev/lirc0 ~/lircd.conf

Запустится мастер настройки пульта, который предложит последовательно нажать на все имеющиеся на пульте кнопки - так, чтобы каждая из них оказалась нажатой не менее одного раза. Каждая «пойманная» ИК-приемником кнопка будет отображаться появлением новой точки на экране.

После осуществления этих действий мастер настройки сгенерирует конфиг и положит его в директорию пользователя. Сделаем этот конфиг конфигом по умолчанию:
sudo cp ~/lircd.conf /etc/lirc/lircd.conf sudo /etc/init.d/lirc start

На этом настройка завершена.

Про то, как работает встроенный Wi-Fi

К моему удивлению оказалось, что корпус практически не влияет на работу Wi-Fi.
Встроенный адаптер «малины» работает одинаково плохо как в корпусе, так и без него.
Вот такие замеры скорости у меня получились:


В обоих случаях «малина» находилась в одной комнате с роутером. В общем, и в алюминиевом корпусе интернет продолжает работать, но если нужна высокая скорость, то подключаться к сети надо по Ethernet, а не по Wi-Fi.

Про то, как Raspberry Pi в этом корпусе греется

Еще один немаловажный вопрос - нагрев «малины» в глухом металлическом корпусе.
По моим замерам температура процессора в низконагруженном режиме работы колебалась в районе 46,7°C - 48,3°C. Низконагруженный режим работы - это когда я копаюсь в консоли, устанавливаю и обновляю пакеты, разбираюсь с драйверами.
Также проводил стресс-тест.

Как провести стресс-тест

Установка пакета для стресс-тестирования:
sudo apt-get install stress wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S gcc -o cpuburn-a53 cpuburn-a53.S
Запуск теста:
while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s


В режиме стресс-теста процессор «малины» получает 100% загрузку в течение 15 минут. Каждые 10 секунд на экран выводится температура.
Критической температурой для «малины» является 80°C - при достижении этого значения начинается т.н. троттлинг - снижение частоты процессора в целях избежания дальнейшего повышения температуры и повреждения от перегрева.
С моими радиаторами «малина» прошла тест на грани.
Сперва температура весьма резко скакнула с 46°C до 68°C, буквально за пару минут.
После чего продолжила неспешно подниматься, и на последних минутах доползла-таки до 80,1°C. Но троттлинг не начался - тест завершился раньше, чем температура успела окончательно перевалить через эту отметку.
После завершения теста за минуту температура упала с 80°C до 72°C, а в последующие 10 минут снизилась до 50°C.
Корпус ощутимо нагрелся. Руку не обжигал, но был весьма теплым, так скажем.

Я результатами доволен. Все-таки в нормальном режиме эксплуатации не бывает моментов, когда процессор «малины» стабильно загружен на 100% в течение долгого времени. Так что перегрева при использовании этого корпуса можно особо не опасаться.

Полезные мелочи

gpio -g mode 27 out - отключить подсветку дисплея
gpio -g mode 27 in - включить подсветку дисплея обратно
ИК-приемник подключен к 26 пину GPIO.
- простое меню, адаптированное под маленькие экраны и низкое разрешение.
- плиточное меню, также адаптированное под маленькие экраны с низким разрешением.

Заключение



Вот такой корпус. Лично я обретением доволен, качество его изготовления просто превосходное. Если обзаведусь еще одной Raspberry Pi, то скорее всего куплю еще один экземпляр этого корпуса уже «за свои».

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

В остальном же впечатления сложились только положительные. Функциональная и добротно сделанная вещь.

Цена несколько кусается, это да.
Но в GearBest сгенерировали купон LCDS , с которым этот корпус можно купить по сниженной цене $35.99.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Планирую купить +32 Добавить в избранное Обзор понравился +38 +71

Отличается не только широчайшим спектром применения, но и поддержкой устройств сторонних разработчиков, значительно расширяющих функциональность платы. Сегодня мы рассмотрим простейший способ научить работать Raspberry Pi с сенсорным экраном. А на выходе получим крошечный планшет с настольной операционной системой.

Какие есть экраны для Raspberry Pi

Есть как минимум три возможности подключить экран:

  1. Display-порт в виде зажимного разъёма на фронтальной поверхности.
  2. HDMI-разъём.
  3. Пины GPIO - разъёма универсального ввода-вывода.

Все они позволяют подключать к Raspberry Pi экраны с тачскрином.

Через дисплейный разъём работают некоторые стандартные LCD-панели (для разработчиков и встраиваемых устройств). Есть и оригинальный 7-дюймовый экран , устанавливаемый с обратной стороны Raspberry. К сожалению, этот вариант очень дорогой, зато для его запуска не требуется ничего. Просто скачать систему и вставить флешку с ней. В обычном Raspbian (Debian для Raspberry Pi) обеспечивается нативная поддержка этой железки.

Более доступным вариантом, особенно в странах СНГ, где доставка из Великобритании убивает всю прелесть «Малинки», стали экраны компании WaveShare, работающие через GPIO . Почему? Это позволяет реализовать поддержку экрана в любых вариантах NIX-систем для Raspberry Pi с любыми версиями платы (для Raspberry Pi 2 и 3 используется один дистрибутив, для первой ревизии - отдельный) и упростить настройку и отладку полученной системы. К тому же они всегда есть в наличии и стоят всего 23 доллара .

Как подключить

Нет ничего проще: нужно всё распаковать, а потом подключить экран к GPIO-разъёмам Raspberry Pi. Не потребуется даже считать пины - просто совместите платы так, чтобы экран был ровно над основной платой.

Как настроить

Есть два метода: скачать готовый дистрибутив или настроить систему самостоятельно. Первый потребует перейти на официальную страницу проекта . Затем выбрать подходящий дистрибутив, скачать и записать его на флешку. Вставили, подключили питание - наслаждаемся работой. К сожалению, в данном случае придётся довольствоваться устаревшей версией операционной системы.

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

К сожалению, ни тот ни другой способ не заставит работать одновременно и экран, подключённый через GPIO, и HDMI-порт. Реализовать трансляцию на телевизор или монитор можно уже внутри системы, подключая монитор в качестве дополнительного экрана.

Простой способ использовать ваш ноутбук в качестве дисплея для Raspberry Pi, если у вас нет под рукой HD монитора.

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

Как мы знаем, Raspberry Pi известен как «Карманный компьютер» (англ. - Pocket-Size PC), но для отладки и проектных целей слишком громоздко иметь дополнительный дисплей для "малины". Кроме того, многие не имеют доступа к дисплею HDMI, поэтому мы выяснили, как можно легко подключить Pi к дисплею ноутбука.

Чтобы подключить Raspberry Pi к дисплею ноутбука, вы можете использовать сетевой кабель. Графический интерфейс пользователя Raspberry Pi (GUI - Graphical User Interface) можно просматривать через дисплей ноутбука используя Ethernet-соединение на 100 Мбит/сек. Есть много доступных программ, которые могут установить соединение между "малиной" и вашим ноутбуком. Мы использовали программное обеспечение сервера VNC для подключения Pi к нашему ноутбуку.

Установка VNC-сервера на ваш Pi позволяет удаленно видеть рабочий стол Raspberry Pi, используя мышь и клавиатуру, как будто вы сидите прямо перед своим Pi. Это также означает, что вы можете перенести плату куда-нибудь еще дома и все еще сможете её контролировать. Кроме того, интернет можно расшарить от WiFi вашего ноутбука через Ethernet. Это также позволит получить доступ к Интернету на Pi.

Настройка Raspberry Pi

Прежде чем перейти к подключению своего малинового Pi к дисплею вашего ноутбука, вам потребуется SD-карта с предустановленной ОС или нужно будет установить Raspbian на пустую SD-карту. Если вы не знакомы с командами Raspberry Pi, ознакомьтесь с руководством Basic Linux Commands, также в ближайших статьях мы постараемся создать небольшое руководство по подготовке SD-карты для "малины". В целом, можно даже найти в продаже SD-карты с предустановленной операционной системой Raspbian и NOOB.

  1. После настройки SD-карты вставьте её в Raspberry Pi.
  2. Затем подключите кабель микро-USB к "малине", чтобы включить её.
  3. Подключите свой Raspberry к ноутбуку через кабель Ethernet.
  4. Подключите к нему клавиатуру и мышь.
  5. Подключите HDMI-дисплей (HDMI требуется только для запуска Pi в первый раз).
  6. Включите питание Pi.

Расшаривание Интернета через Ethernet

В Windows: для совместного использования Интернета с несколькими пользователями через Ethernet, перейдите в "Центр управления сетями и общим доступом". Затем нажмите на сеть WiFi:

Нажмите «Свойства» (см. ниже), затем перейдите в раздел «Совместное использование» и нажмите «Разрешить другим пользователям сети подключаться» (англ. - Allow other network users to connect). Убедитесь, что сетевое подключение изменено на «Подключение по локальной сети» (англ. - Local Area Connection):

Замечание: выполнение этих действий будет обеспечивать динамический IP-адрес порта Ethernet на вашем ноутбуке и других устройствах, подключенных к вашему ноутбуку.

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

Как показано выше, IP-адрес, назначенный ноутбуку: 192.168.137.1. Чтобы проверить IP-адрес, назначенный подключенному Ethernet-устройству, выполните действия ниже. Учитывая, что IP-адрес, назначенный вашему ноутбуку, 192.168.137.1, а маска подсети 255.255.255.0:

  • Откройте командную строку
  • Пропингуйте адрес вашего IP-адреса. Например: ping 192.168.137.255
  • Остановите пинг через 5 секунд
  • Проверьте ответ с устройства: arp -a

Настройка VNC-сервера для подключения Raspberry Pi к ноутбуку

Если у вас есть дисплей HDMI

Используя подключенный дисплей HDMI к вашему Pi, вы должны установить VNC-сервер на свою плату. Откройте LX-Terminal и введите следующие команды для установки VNC:

$ sudo apt-get update
$ sudo apt-get install tightvncserver

Если у вас нет дисплея HDMI

Если у вас нет дисплея даже для разовой настройки, вам не нужно беспокоиться. Установите Putty в соответствии с вашей конфигурацией Windows и через SSH вы можете подключиться к вашему Raspberry Pi. Когда вы получаете доступ к своему терминалу Pi, запустите те же команды, что и выше, для установки VNC.

Запуск VNC-сервера на Pi

Чтобы запустить VNC, введите в терминал SSH следующую команду:

$ vncserver:1

Вам будет предложено ввести и подтвердить пароль. Это будет только один раз, при первой настройке. Введите 8-значный пароль. Обратите внимание, что это пароль, который вам нужно будет использовать для подключения к вашей Pi удаленно. Вас также спросят, хотите ли вы создать отдельный «только для чтения» пароль (read-only) - говорим "нет" (no).

Теперь VNC-сервер работает на вашем Pi и теперь мы можем попытаться подключиться к нему. Во-первых, мы должны переключиться на ноутбук, из которого мы хотим управлять Pi. Затем настром клиент VNC для подключения к Pi.

Настройка клиентской стороны (ноутбук)

Скачайте VNC-клиент VNC и установите его. Когда вы впервые запускаете средство просмотра VNC, вы увидите следующее:

Введите IP-адрес вашей "малины", динамически переданный вашим ноутбуком (вы получили адрес раньше) и добавьте: 1 (номер порта) и нажмите "connect". Появится предупреждающее сообщение, нажмите «Продолжить»:

Введите 8-значный пароль, который был введен при установке сервера VNC:

Наконец, рабочий стол Raspberry Pi должен появиться как окно VNC. Вы сможете получить доступ к графическому интерфейсу и делать всё, как если бы вы использовали клавиатуру, мышь и монитор с Pi напрямую. Как и в случае с SSH, так как всё находится в вашей сети, ваш Pi может быть расположен где угодно, пока он подключен к сети.

Запуск VNC-сервера во время запуска Raspberry Pi GUI

Соединение вашей Pi удаленно с VNC отлично работает, пока вам не нужно перезагрузиться. Если всё-таки необходимость появилась вам нужно либо подключиться к SSH, либо перезапустить сервер VNC, либо организовать запуск VNC-сервера после перезагрузки Raspberry Pi. Чтобы гарантировать, что VNC запускается автоматически каждый раз при загрузке, выполните следующие команды в терминале - см. ниже.

Откройте папку «.config» на Pi: пользовательская папка (скрытая папка).

$ cd /home/pi
$ cd .config

Создайте в ней папку «autostart». Кроме того, создайте файл под названием «tightvnc.desktop» в этой папке. Вы можете использовать любой известный текстовый редактор для создания файлов. Для этого мы использовали gnome-text-editor:

$ mkdir autostart
$ cd autostart
$ gnome tightvnc.desktop

Измените содержимое файла следующим образом и сохраните файл:


Type=Application
Name=TightVNC
Exec=vncserver:1
StartupNotify=false

В следующий раз, когда вы перезагрузите свой Pi, vncserver запустится автоматически и без проблем подключит ваш Raspberry Pi к дисплею для ноутбука.

Всякий раз, когда вы хотите что-то сделать с вашим Pi, просто подключите его к ноутбуку с помощью кабеля Ethernet и включите его. Затем откройте VNCViewer, укажите IP-адрес вашего Pi, и вы можете использовать дисплей вашего ноутбука в качестве монитора Raspberry Pi.

Кто бы мог подумать еще в 2010 году, что такое явление как "Raspberry Pi" обретет тысячи поклонников по всему миру.

Не смог пройти мимо и я. Сегодня я покажу на примере как подключать и использовать LCD (хотя аббревиатура уже включает в себя слово "дисплей" далее я будут все равно его использовать) совместно с Raspberry Pi.

Скажу сразу: статья ориентирована на тех, кто не первый раз сталкивается с Raspberry.

Пример подключения LCD дисплея к Raspberry Pi

На борту Raspberry Pi имеет особый разъем типа GPIO. К нему-то мы и подключим дисплей.

Выбор LCD дисплея

Для наших целей подойдет любой жидкокристаллический знакосинтезирующий (символьный) дисплей на базе микроконтроллера Hitachi HD44780U или его аналогов. LCD дисплеи бывают 8x2, 16x2, 4x20 и т.д. - строк на количество знаков. Их выпускает куча разных фирм - Winstar, МЭЛТ и другие.Для сборки прототипа я приобрел дисплей Winstar WH0802A-YYH-CT. Теперь нужно определиться с порядком соединения пинов на разъеме IDC с пинами на GPIO, плюс разобраться как мы подключим питание к нашему дисплею.Оказывается все просто! Вдокументации находим таблицу с распиновкой порта LCD дисплея для 4-х битного режима и дополняем ее следующим образом:

Где GND - это "минус", а +5V - "плюс" питания, которое мы берем все из того же GPIO разъема. Подписи GPIO - соответствуют... ну вы сами догадались)Данный дисплей имеет подсветку. Для ее включения достаточно подключить LEDA к +5V, а LEDK - к GND. !ВНИМАНИЕ! Для использования LCD дисплея в данной схеме ваш источник питания, который вы подключаете к Raspberry Pi, должен быть рассчитан на потребляемый ток, как минимум, 2А. !ВНИМАНИЕ!

Выбор и использование библиотек для работы с LCD дисплеем

Для работы с LCD дисплеем нам нужно написать программу. Делать это я буду на языке Си. Но для компиляции листинга нам потребуется загрузить набор библиотек. Мой выбор пал на пакет библиотекwiringPi , который был использован встатье . Сам пакет предназначен не только для подключения LCD дисплея.Процесс установки пакета описан насайте . Листинг "mylcd.c" с текстом программы я привожу ниже (по стандарту С99).

#include //стандартная библиотека ввода-вывода #include //библиотека из пакета wiringPi #include //библиотека из пакета wiringPi int main (void) { printf ("Raspberry Pi LCD test\n") ; //Инициализация порта GPIO if(wiringPiSetup ()==-1) { printf ("GPIO Setup failed!\n") ; } int fd; printf ("Start LCD initialization...\n") ; //Инициализация LCD fd = lcdInit (2,8,4, 11,10, 1,0,2,3,0,0,0,0); if(fd==-1) { printf ("Initialization failed\n") ; } else { printf ("GO!\n"); //Очистка дислпея lcdClear(fd); //Перевод каретки на первую позицию первой строки lcdPosition (fd,0,0); //Вывод форматированного текста lcdPrintf(fd, "Hello Pi"); //Перевод каретки на вторую строку и вывод текста lcdPosition (fd,0,1); lcdPrintf(fd, " World!"); } return 0; }

В листинге нас особо интересует следующие функции:

1.wiringPiSetup()- функция для инициализации порта GPIO2.

lcdInit(int rows, int cols, int bits, int rs, int strb, int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) - функция для инициализации LCD дисплея, где:* int rows - число строк дисплея (у нас 2)* int cols - число знаков в строке (у нас 8)* int rs - маппинг порта wiringPi на управляющий регистр дисплея RS (у нас 11)* int strb - маппинг порта wiringPi разрешающий регистр дисплея E (у нас 10)* int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7 - маппинг портов wiringPi на шину данных дисплея3.

lcdPrintf(int handle, char *message, …) - в качестве int handle передаем указатель на дисплей, * message - указываем в кавычках текст для вывода