Четверг, 28.03.2024, 11:35
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа
Логин:
Пароль:

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Май 2017  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Web Home Pi. Подключение дисплея

Web Home Pi. Подключение дисплея

Наш канал в YouTube


Первоначально планов написания этой статьи не было, просто предполагалось выложить очередное обновление WebHomePi. Однако во избежание некоторых трудностей, которые могут возникнуть у пользователей при подключении символьного дисплея, было решено написать краткий обзор по данной теме. Особенно это будет полезно тем, кто планирует подключить дисплей к кросс-плате первой версии или непосредственно к Raspberry Pi. Что касается второй версии кросс-платы, то в ней уже все предусмотрено для подключения такого дисплея – выполнено согласование уровней 3.3В и на шине I2C, а так же установлен разъем Р12 для подключения трех кнопок с нормально-разомкнутыми контактами для управления выходными реле и навигации по меню дисплея.

Начнем с аппаратной части - дисплея 1602 с шиной I2C. В принципе, это стандартный индикатор на чипе HD44780 с параллельным (4-х или 8-ми битным вводом информации), в который добавлен преобразователь параллельного интерфейса в шину I2C на микросхеме PCF8574, что позволяет сократить количество управляющих дисплеем выходов контроллера минимум с шести всего до двух. Ранее на нашем сайте публиковались статьи об устройствах на дисплеях с таким управлением, например 6-ти канальный контроллер температуры и влажности, подключаемый к WebHomePi по интерфейсу RS485. Отличие заключается только в применяемом типе дисплея – там использовался 4-х строчный дисплей на 20 символов в каждой строке. Кстати, вместо 1602 в нашем случае вполне возможно применить и дисплеи 1604 или 2004, имеющие «на борту» шину I2C, немного подкорректировав соответствующий скрипт.

Внешний вид дисплея 1602 с преобразователем параллельного интерфейса в I2C, показан на рис.1

 

WebHomePi дисплей I2C

Рис. 1

 

Дисплей 1602 рассчитан для работы с напряжением 5В, соответственно, такие же уровни будет иметь и его шина I2C. Несмотря на то, что порты Raspberry Pi «толерантны» к такому напряжению и все будет работать, но лучше не рисковать и дополнить кросс-плату первой версии преобразователем уровней аналогичным тому, который применен во второй версии кросс-платы и выполнен на элементах Q9, Q10, R4, R5, R36, R37.

Для подключения кнопок управления и навигации в первой версии кросс-платы задействован разъем, который находится под Raspberry Pi. Фрагмент кросс-платы с  разъемом, а так же схема подключения кнопок показаны рис. 2

 

WebHomePi дисплей для Raspberry Pi

Рис. 2

 

Подтягивающие резисторы R1…R3, подключаемые к входам кнопок можно не устанавливать, т.к. в скрипте включаются внутренние подтягивающие резисторы в GPIO Raspberry Pi. Однако, на случай программного сбоя, внешние резисторы желательно установить, лишними не будут. Кнопки управления и навигации имеют следующие обозначения: S1 – «Step», S2 – «Cycle», S3 – «Enter» (рис.3).

 

Кросс-плата Raspberry Pi

Рис. 3

 

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

После загрузки системы на три секунды появляется тестовая заставка (рис. 4, a), после чего на дисплей выводится информация о текущем времени и дате (рис. 4, b), При нажатии и удержании кнопки «Cycle» на дисплей последовательно выводиться информация о температуре и загрузке процессора Raspberry Pi (рис. 4, c), показаниях всех датчиков, подключенных к системе (рис. 4, d, g, h, i). Если датчик физически не подключен, но активирован в конфигурации, то выводится сообщение, что такого датчика не существует (рис. 4, j, k). Кроме прочего, такая информация позволит идентифицировать датчик в случае его выхода из строя. Зарезервированные датчики (в случае их активации в меню) также отображаются соответствующим образом (рис. 4, l).

 

WebHomePi дисплей Ардуино

Рис. 4

 

Отдельно остановимся на контроле входов и управлении релейными выходами. Выбираем кнопкой «Cycle» режим отображения состояния входов и выходов – он выводится после показаний датчика ВМР085 (рис. 4, e). Здесь единицы соответствуют замкнутому входу и включенному реле, а нулиразомкнутому входу и отключенному реле. Для перехода в режим управления необходимо нажать кнопку «Step» на время не менее 1 секунды, после чего на дисплее отображаются только состояние выходов с мигающим курсором на первой позиции (рис. 4, f). С помощью кнопки «Step» выбираем нужный выход (при этом происходит перемещение курсора), а кнопкой «Enter» изменяем состояние выхода на инверсное. Если нажать и удерживать кнопку «Enter», то выбранный выход будет последовательно менять свое состояние (включен/отключен) каждую секунду. Для выхода из режима управления нажимаем кнопку «Cycle».

Подсветка дисплея при включении устройства по умолчанию включена. Для ее отключения (или последующего затем включения) необходимо одновременно нажать и удерживать не менее 1 секунды кнопки «Enter» и «Step». Для работы подсветки должен быть установлен джампер (перемычка, см. рис.1) на преобразователе I2C.

В случае, если после подключения и обновления ПО дисплей не запускается, необходимо проверить, «виден» ли он в системе. Для этого введите в терминальной программе Putty команду:

sudo i2cdetect -y 1

В выведенной после выполнения команды на экран таблице дисплей имеет адрес 0x27 (рис.5) :

 

WebHomePi Putty

Рис. 5

 

Если адрес 0x27 в таблице присутствует, значит с аппаратной частью все в порядке. Однако вполне вероятна ситуация, что ваш дисплей будет иметь другой адрес. В этом случае необходимо заменить его в скрипте script_lcd.py на отображаемый в таблице.

 

Образ SD-карты (4 Гб)

Исходные файлы (программное обеспечение) Web Home Pi 

Все статьи по теме домашней автоматизации

WebHomePi Вконтакте

 



 




Категория: | Просмотров: 4231 | Добавил: Admin | Теги: | Рейтинг: 5.0/2 |
Всего комментариев: 0






T2M © 2024
Сайт управляется системой uCoz