THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Raspberry Pi обрел популярность главным образом благодаря 3 вещам: компактности, низкому энергопотреблению и возможности легко подключать к нему самые разнообразные дополнительные устройства. Одним из таких девайсов является небольшой ЖК-дисплей.

Что представляет собой дисплей для RPi3 и как его можно использовать?

Существует множество моделей дисплеев для "Малины". Но наиболее популярным вариантом экрана для Raspberry Pi 3 является монитор со следующими характеристиками:

  • диагональ - 3,5 дюйма;
  • разрешение - 480 на 320 точек;
  • тип матрицы - цветная TFT;
  • резистивный сенсор.

Для Raspberry Pi 3 TFT 3,5" - практически эталон. Это связано с тем, что «экранчик» такого размера можно легко разместить в одном небольшом корпусе с платой компьютера.

Чтобы стало понятно, такой монитор для Raspberry Pi 3 по своему размеру полностью идентичен дисплею на iPhone 4/4S. Но разрешение у него, конечно, не настолько высокое. Однако это ему и не нужно.

Теперь кратко о том, как может использоваться на Raspberry Pi 3 3,5" LCD-дисплей. Чаще всего его применяют для отображения информации с датчиков. Так, "Малину" можно превратить в анализатор погодных условий, и на подключенный к ней монитор система может выводить собранные сведения. Конечно, получать соответствующие данные можно и по SSH , но иногда удобнее просто посмотреть на маленький экран.

Другой вариант - создание портативных игровых консолей. Несколько лет назад среди любителей электроники был даже тренд на такие устройства из RPi. 3,5" экрана, разрешением 480х320, в свою очередь, вполне достаточно, чтобы контролировать игровой процесс и даже получать от него удовольствие. Но для создания портативной консоли следует очень внимательно подходить к выбору дисплея. Важно, чтобы скорость отрисовки на нем была быстрой.

Кроме 3,5-дюймовых моделей, есть и другие. Например, в специализированных магазинах можно купить для Raspberry Pi 3 экран 7". Также к RPi при желании возможно подключить и дисплеи от планшетов или телефонов. Хотя это сделать значительно труднее, чем подсоединить монитор, предназначенный специально для "Малины".

Как подключить экран к Raspberry Pi 3?

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

Если к Raspberry Pi 3 выполняется подключение дисплея, созданного специально для этого одноплатника, тогда достаточно сделать 2 вещи. Первая - подсоединить экран к GPIO в соответствии с инструкцией. Вторая - запустить скрипт, который поставляется в комплекте с устройством. Он, в свою очередь, перенастраивает ядро системы. В результате вывод графики перенаправляется с HDMI на SPI.

Проблема может возникнуть в случае, если в комплекте нет драйверов. Но решить её очень легко. Для этого нужно зайти на страницу: waveshare.com/wiki/3.2inch_RPi_LCD_(B) и загрузить оттуда архив. После этого командой tar xvf МЕСТО_РАСПОЛОЖЕНИЯ_СКАЧЕННОГО_ФАЙЛА/НАЗВАНИЕ_ФАЙЛА.tar.gz распаковать его, а затем перейти в создавшуюся папку: cd LCD-show/.

Если в терминале ввести ls, можно увидеть несколько файлов. Они имеют название типа: LCDXX-XXXxXXX-show. Вместо XX-XXXxXXX идут цифры. Первые (до тире) - диагональ дисплея, вторые (после тире) - разрешение экрана. Чтобы заставить работать экран, нужно выбрать тот вариант, который соответствует параметрам имеющегося монитора.

Запускается скрипт командой./LCDXX-XXXxXXX-show. Вместо "иксов" нужно указывать цифры, присутствующие в названии файла подходящего скрипта. После выполнения кода Raspberry должна перезагрузиться.

При последующем включении изображение будет выводиться уже не на большой монитор, а на подключенный дисплей. Если все заработало, дальше настраивать ничего не нужно. Но если понадобится опять выводить изображение по HDMI, потребуется перейти в папку со скриптами и запустить оттуда: ./LCD-hdmi.

Как возможно убедиться, заставить "Малину" выводить изображение на подсоединенный по GPIO экран очень легко. Это сделать лишь чуть труднее, чем просто подключить обычный монитор по HDMI.

Отличается не только широчайшим спектром применения, но и поддержкой устройств сторонних разработчиков, значительно расширяющих функциональность платы. Сегодня мы рассмотрим простейший способ научить работать 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-порт. Реализовать трансляцию на телевизор или монитор можно уже внутри системы, подключая монитор в качестве дополнительного экрана.

В комплекте с монитором поставляется п-образный HDMI-HDMI переходник, стилус и латунные стойки с винтиками.

С обратной стороны экрана есть переключатель, сдвиньте его ближе к микро-usb разъёму.

Здравствуйте.

Мне уже доводилось писать про на Raspberry Pi без графики и про . Сейчас мы будем устанавливать ОС RASPBIAN JESSIE с графикой и подключать 5-ти дюймовый экран с тачскрином, который можно приобрести в магазине чип и дип за 4000р.
Плюс, поверх основной ОС установим полноценный медиацентр Kodi для удобного просмотра видео контента. То есть для переключения между RASPBIAN и

Распакуйте образ, который будет весить 4 с лишним Гб .
SD -карточку лучше всего используйте не менее 8ГБ и желательно хорошего качества известного бренда (у меня Transcend Premium 400x) . От этого сильно зависит скорость работы малины.

О том, как поместить образ на флешку написано в предыдущей , начиная с и до главы "Запуск ". После выполнения описанных там действий не вынимайте карточку и возвращайтесь сюда.

Теперь нужно найти и отредактировать файл config.txt (если работаете в windows, то обязательно скачайте текстовый редактор Notepad++ и делайте всё в нём) .

В windows этот файл находится в корне диска (на самом деле это загрузочный раздел boot, около 100Мб. Размечен как FAT32. Другая часть флешки размечена в ext4 и windows просто её не видит) на который записывали образ…

… а в на разделе boot.

Разметка карточки происходит следующим образом: создаётся первый раздел (boot) для загрузочных файлов и форматируется в FAT32 , размером 100Мб, а второй раздел форматируется в ext4 для файловой системы, размером около 5ГБ. При первом старте, файловая система автоматически расширяется на всё оставшееся пространство карточки (в предыдущих релизах это делалось вручную).

Ну, что-то я отвлёкся…

Открываем файл config.txt и находим там строчки:

# uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1

Изменяем их так:

# uncomment to force a specific HDMI mode (this will force VGA) hdmi_group=2 hdmi_mode=1 hdmi_mode=87 hdmi_cvt 800 480 60 6 0 0 0

Пока что с этим файлом всё, теперь малина заведётся с нашим мониторчиком (без этих строк на экране была бы только рябь) .

Сохраняем файл, отсоединяем карточку, вынимаем из компа и вставляем в RPI.

Собираем «бутерброд» из экрана и малины (так чтоб совпали HDMI-разъёмы) , вставляем HDMI-переходник (входит он туго) , и подаём питание на RPI и на экран (то есть нужно запастись двумя проводами с микро-usb и двумя блоками питания) . Да, не забудьте подключить клавиатуру и мышку.

БП для малины должен быть около 2-х ампер, а для экрана хватит и одного. Если питания будет не хватать, то на экране будет появляться иконка с жёлтой молнией.
Если малина перегреется то на экране появится термометр.

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


Ваши данные:
Login - pi
Password - raspberry

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

Сначала необходимо сконфигурировать систему.

Делать это можно открыв терминал и писать команды там (правда это не совсем удобно ибо мелко) .

Либо подключиться по ssh (логин и пароль написан выше) . Я буду делать по ssh и Вам советую поступить так же.

Итак, вводим команду:

Sudo raspi-config

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

Второй пункт - смена пароля, остаётся на Ваше усмотрение.

Третий и четвёртый пункты не трогаем.

Открываем пятый пункт и выбираем Change Locale

Если нужно вернуться в предыдущее окно нажмите Esc .

Стрелочкой «вниз» крутим до ru_RU.UTF-8 UTF-8 , ставим «звёздочку» пробелом и жмём Enter .

В следующем окне выбираем ru_RU.UTF-8 и опять жмём Enter .

Возвращаемся в пятый пункт и заходим в Change Timezone , выбираем Europe и жмём Enter .

Выбираем Ваш город и жмём Enter .

Опять возвращаемся в пятый пункт и заходим в Change Keyboard Layout , выбираем Generic 105-key (Intl) PC и жмём Enter .

В следующем окне выбираем Other и жмём Enter .

Крутим стрелочкой до Russian и жмём Enter .

В следующем окне крутим вверх до Russian и жмём Enter .

В следующих трёх окнах просто жмём Enter .

Теперь клавишей Tab выберите "Finish " и жмите Enter .

На этом основное конфигурирование закончено (при желании к нему можно вернутся в любое время) , перегрузите систему командой:

Теперь про обновления.

Обновите репозитории командой…

Sudo apt update
… Но не обновляйте систему - sudo apt upgrade , если это сделать, то начнутся проблемы с тачскрином, раскладками клавиатуры и ещё с чем-то.

Sudo apt install synaptic mc

Устанавливаем xscreensaver без которого экран будет гаснуть через 10мин.

Sudo apt install xscreensaver
Что ещё устанавливать решайте сами.

Теперь надо вывести на верхнюю панель значёк раскладок клавиатуры. Если это делать штатными средствами, то оно будет работать до первой перезагрузки. Поэтому мы пойдём другим путём.

Устанавливаем программу gxkb

Sudo apt install gxkb

Добавляем gxkb в автозагрузку:

Nano /home/pi/.config/lxsession/LXDE-pi/autostart

После всех строчек нужно вписать вот это - @gxkb

Сохраните и закройте файл.

Выбор комбинации клавиш для переключения делается в файле - /home/pi/.config/gxkb/gxkb.cfg, по умолчанию там указан alt_shift , я переправил на ctrl_shift :

Nano /home/pi/.config/gxkb/gxkb.cfg

Сохраните, закройте файл и перегрузитесь.

Тачскрин

Скачайте в домашнюю папку архив:

Cd /home/pi wget https://сайт/file/LCD-show-161112.tar.gz
Архив брался .

Распаковав его:

Tar xvf LCD-show-161112.tar.gz

У Вас появится папка LCD-show, в которую нужно перейти…

И запустить скрипт:

Sudo ./LCD5-show

После этого малина сразу перезагрузится и оживёт уже с рабочим тачскрином. Если точность позиционирования Вас устраивает, то можно ничего не калибровать.

Если необходима калибровка, тогда переходим в папку LCD-show…

Cd /home/pi/LCD-show

И устанавливаем пакет xinput-calibrator_0.7.5-1_armhf.deb

Sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb
То же самое можно проделать в «проводнике», тыкнув правой кнопкой мышки по пакету и выбрав пункт «Установка пакетов».

Теперь зайдите в меню программ, в раздел в разделе «Параметры» и выберите «Calibrate Touchscreen». После точного попадания во все четыре мишени появятся настройки, которые нужно записать в файл /etc/X11/xorg.conf.d/99-calibration.conf .

Запускаем ещё один терминал, открываем там файл…

Sudo nano /etc/X11/xorg.conf.d/99-calibration.conf

… и удаляем всё из него.

Возвращаемся в окно с калибровочными данными, копируем секцию «InputClass» и вставляем её в ранее открытый и опустошённый файл.

Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "171 3957 174 4042" EndSection
У Вас свои цифры.

Чтоб добавить «правую кнопку мыши» нужно сделать так:

Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "171 3957 174 4042" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "550" Option "EmulateThirdButtonMoveThreshold" "50" EndSection
Для появления контекстного меню нужно удерживать стилус около полусекунды. Последняя опция - это видимо порог дрожания.

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

Поскольку калибровщик вносит небольшие изменения в файл config.txt (который мы правили ещё на компьютере) , то стоит о нём немного сказать. Это файл в котором находятся стартовые настройки, откроем его и посмотрим:

Sudo nano /boot/config.txt

Наши правки исчезли и появились в конце, с ещё одной строкой:

# Enable audio (loads snd_bcm2835) dtparam=audio=on hdmi_group=2 hdmi_mode=1 hdmi_mode=87 hdmi_cvt 800 480 60 6 0 0 0 dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255...

Мы тоже добавим…

Находим строки:

# uncomment to force a console size. By default it will be display"s size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720

И делаем их так:

# uncomment to force a console size. By default it will be display"s size minus # overscan. framebuffer_width=800 framebuffer_height=480

Чуть ниже находим это:

# uncomment if hdmi display is not detected and composite is being output hdmi_force_hotplug=1

И добавляем три строки:

# uncomment if hdmi display is not detected and composite is being output hdmi_force_hotplug=1 hdmi_ignore_cec_init=1 hdmi_ignore_cec=1 gpu_mem=256
Можете попробовать выделить больше памяти под видео - gpu_mem=512.

Если хотите увеличить ток поступающий на usb, тогда добавьте куда-нибудь строчку:

Max_usb_current=1
Но тут надо понимать, что если Вы подключите мощные потребители, то может не хватать тока самой малине, что выражается в нестабильной работе.

Сохраняем файл и перегружаемся.

Описанных настроек вполне достаточно для нормальной работы RPI, однако рекомендую почитать про различные параметры этого конфига вот .

Wifi и Bluetooth

Если хотите отключить wifi и/или bluetooth, тогда надо создать файл - /etc/modprobe.d/raspi-blacklist.conf

Sudo nano /etc/modprobe.d/raspi-blacklist.conf

И вставить в него вот это:

#wifi blacklist brcmfmac blacklist brcmutil #bt blacklist btbcm blacklist hci_uart
Так отключен wifi и bluetooth.

А так отключен только wifi:

#bt blacklist btbcm blacklist hci_uart

Устанавливаем:

Sudo apt-get install samba samba-common-bin

Бекапим конфиг:

Sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Создаём свой:

Sudo nano /etc/samba/smb.conf

Содержимое:

Workgroup = WORKGROUP netbios name = RaspberryPi server string = share security = user map to guest = bad user browseable = yes path = /home/pi/papka writeable = yes browseable = yes guest ok = yes
Сохраняем и закрываем.

Создаём папку для самбы:

Mkdir /home/pi/papka

Даём ей права:

Sudo chmod -R 777 /home/pi/papka

Рестартуем самбу:

Sudo /etc/init.d/samba restart

Настроено на гостевой вход (заходи кто хошь) и на чтение-запись.

Медиацентр Kodi

Создаём группу «input», если она не существует:

Sudo addgroup --system input

Устанавливаем Kodi :

Sudo apt-get install kodi
После установки ничего не запускаем.

Создаём файл - /etc/udev/rules.d/99-input.rules

Sudo nano /etc/udev/rules.d/99-input.rules

И вносим в него следующее:

SUBSYSTEM==input, GROUP=input, MODE=0660 KERNEL==tty*, GROUP=tty, MODE=0660
Сохраняем и закрываем.

Создаём ещё один файл - /etc/udev/rules.d/10-permissions.rules

Sudo nano /etc/udev/rules.d/10-permissions.rules

# input KERNEL=="mouse*|mice|event*", MODE="0660", GROUP="input" KERNEL=="ts*|uinput", MODE="0660", GROUP="input" KERNEL==js*, MODE=0660, GROUP=input # tty KERNEL==tty*, MODE=0666 # vchiq SUBSYSTEM==vchiq, GROUP=video, MODE=0660
Сохраняем и закрываем.

Sudo usermod -a -G audio pi sudo usermod -a -G video pi sudo usermod -a -G input pi sudo usermod -a -G dialout pi sudo usermod -a -G plugdev pi sudo usermod -a -G tty pi

Sudo nano /etc/rc.local

Получится вот так:

Сохраняем и закрываем.

Перегружаем малину чтоб изменения вступили в силу.

Теперь в меню программ в разделе «Аудио и видео» находим «Kodi Media Center» и стартуем…

Вы увидите как изображение расплывётся и превратится в лягушку полосочки. Это будет происходить в течении пары минут, а затем появится картика. Посредине будет окно предлагающее отключить несовместимые репозитории - нажмите Yes .

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

Теперь настроим Kodi. Нажмите кнопку SYSTEM , затем Appearance и наконец Interntional . Нажмите Language и выберите русский язык (Russian) .

Далее нажмите на иконку с домиком внизу-справа, нажмите большую кнопку СИСТЕМА , а потом маленькую слева - «Система». Выберите «Вывод звука» и в разделе «Устройство вывода звука» выберите - PI: Analogue . После этого Kodi будет нормально запускаться без всяких полосок на экране.

Дело в том, что до наших изменений по HDMI-каналу шёл и звук и видео, и получалась «каша». Теперь по HDMI идёт только видео, а звук через разъём для наушников.

Теперь опять нажмите на иконку с домиком, затем кнопку выключения (слева-снизу), а затем «Выход». Скорее всего Вы увидите зависший чёрный экран, поэтому перегрузите малину отключением питания.

После перезагрузки снова запустите Kodi, теперь уже не будет никаких полосок. Осталось только сделать так, чтоб плеер не зависал при выходе.

Для этого надо создать скрипт - /usr/local/bin/startkodi

Sudo nano /usr/local/bin/startkodi

Содержимое:

#!/bin/bash fbset_bin=`which fbset` xset_bin=`which xset` xrefresh_bin=`which xrefresh` if [ ! -z $fbset_bin ]; then DEPTH2=`$fbset_bin | head -3 | tail -1 | cut -d " " -f 10` fi kodi "$@" if [ ! -z $fbset_bin ]; then if [ "$DEPTH2" == "8" ]; then DEPTH1=16 else DEPTH1=8 fi $fbset_bin -depth $DEPTH1 > /dev/null 2>&1 $fbset_bin -depth $DEPTH2 > /dev/null 2>&1 fi if [ ! -z $xset_bin ] && [ ! -z $xrefresh_bin ]; then if [ -z $DISPLAY ]; then DISPLAY=":0" fi $xset_bin -display $DISPLAY -q > /dev/null 2>&1 if [ "$?" == "0" ]; then $xrefresh_bin -display $DISPLAY > /dev/null 2>&1 fi fi VT="$(fgconsole)" if [ "$VT" ]; then sudo chvt 7 sudo chvt "$VT" fi

Сохраните, закройте и дайте скрипту права:

Sudo chmod a+x /usr/local/bin/startkodi

Теперь в терминале дайте команду:

Сейчас «выход» будет работать как надо.

Запускать скрипт через терминал не удобно, поэтому его нужно добавить в меню программ. Зайдите в меню, в пункте «Параметры» найдите «Main Menu Editor» и запустите его. Слева выберите «Аудио и видео» и нажмите справа кнопку «Создать элемент».

В появившемся окне, напротив Name: напишите MyKodi, а напротив Command: напишите startkodi.

Нажмите ОК , в списке появится новый пункт - MyKodi

Ещё раз нажмите ОК .

Теперь для запуска медиацентра, в меню «Аудио и видео» есть кнопка MyKodi .

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

Какие существуют дисплеи для RPi 3 и для чего их обычно используют

Дисплеев для RPi существует множество. Друг от друга они отличаются своими характеристиками. Наиболее популярные модели имеют следующие параметры:

  • диагональ - от 2,5 до 10,1 дюйма;
  • разрешение - от 320х240 до 1280x800;
  • матрица - TFT или IPS.

Наиболее распространенными для Raspberry Pi являются LCD TFT-дисплеи. Они отличаются сравнительно невысоким качеством, но и достаточно низкой стоимостью. При этом их характеристик более чем достаточно, чтобы демонстрировать приемлемую картинку.

TFT-дисплей для Raspberry Pi может быть использован для самых разнообразных целей. Его можно подключить, чтобы выводить информацию с датчиков (подходит, например, для домашних метеостанций). TFT-экрана достаточно даже для создания неплохой портативной консоли.

Подключение TFT-экрана к RPi 3

На самом деле, выполняя к Raspberry Pi подключение дисплея, вообще не нужно учитывать тип его матрицы. Драйверу все равно - для него главное, что есть пиксели, а принцип изменения их состояний одинаков как в случае с TFT, так и с IPS. Поэтому эта инструкция подойдет обладателям почти всех моделей дисплеев.

Чтобы к Raspberry Pi подключить дисплей, в первую очередь понадобится его подсоединить физически. Обычно, экраны имеют лентообразный шлейф, конец которого вставляется в DSI-порт. Он, в свою очередь, располагается на противоположной от панели с внешними портами части платы. Подключение нужно выполнять, естественно, при выключенной и обесточенной «Малине». Это самая простая часть.

Следующий шаг - загрузка нужного драйвера. Он предназначен для дистрибутивов Linux. Хотя Android и построен на соответствующем ядре, он не запустит соответствующий скрипт без существенной модификации его кода.

Драйвер можно либо скопировать с диска, идущего вместе с дисплеем, либо скачать из интернета. Для этого нужно в Google ввести модель своего экрана и дополнительно приписать download, а затем перейти на сайт, где находится нужный архив.

Так как принцип установки незначительно отличается только в деталях, а моделей дисплеев много, можно рассмотреть процесс запуска скрипта на конкретном примере - 3,2-дюймовом экране.

Драйвер для него можно скачать со следующей страницы: http://waveshare.com/wiki/3.2inch_RPi_LCD_(B). Он находится в архиве. Поэтому прежде всего его понадобится распаковать. Это можно сделать при помощи любого архиватора, но проще и быстрее - через консоль. Для этого нужно командой cd перейти в каталог, куда загрузился архив, а затем выполнить: tar xvf НАЗВАНИЕ_ФАЙЛА.tar.gz. После того, как архив будет распакован, останется только перейти в папку LCD-show/ командой cd.

В соответствующей папке находятся несколько файлов. Все они предназначены для разных диагоналей и разрешений. Нужно выбрать тот, который соответствует количеству точек по горизонтали и вертикали имеющегося экрана. Например, в случае с 3,2-дюмовым дисплеем в 320 на 240 нужно ввести в консоли следующее: ./LCD32-320x240-show и нажать на Enter.

После этого система перезагрузится. При следующем включении изображение будет выводиться уже не по HTMI, а через DSI-порт, то есть на установленный дисплей.

Но не исключено, что в какой-то момент потребуется вывести изображение с «Малины» на монитор. Для этого нужно, например, подключившись по SSH, перейти в папку LCD-show, а затем выполнить скрипт./LCD-htmi. Система перезагрузится и снова начнет выводить изображение по HDMI.

Следует отметить, что после переустановки системы изображение будет выводиться способом, предусмотренным по умолчанию. То есть по HDMI.

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

Кто бы мог подумать еще в 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 - указываем в кавычках текст для вывода

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама