Найти в Дзене

А нужен ли дисплей Raspberry Pi

Привет, друзья! Ответ прост, конечно нужен, но не дисплей, а монитор или, в крайнем случае, телевизор. Можно, конечно, к "Малинке прикрутить" дисплей LCD 1602, но выглядеть это будет как минимум странно. Понятное дело, с помощью Raspberry Pi хочется получать с датчиков показания и видеть их визуально в виде символов, цифр или графиков на мониторе, но не все так просто с этой малинкой и без танцев с бубном, знания языка Python в этой ситуации не обойтись. Посмотрите, чего можно добиться, потратив несколько вечеров на изучения Python и написав полотно кода. Другое дело, программа Scratch, она же S4A, созданная кстати на Python. Не знакомы со Scrath? Тогда вам сюда, узнаете немного о прорамме и как установить на Raspberry Pi : Среда программирования Arduino. Устанавливаем Scratch на Raspberry Pi Ещё мои статьи о S4A можно прочитать здесь: Raspberry Pi & Scratch Не нужно писать ни какие скрипты, все максимально просто и доступно. Программируется легко и визуально понятно - программа состав
Оглавление

Привет, друзья!

Ответ прост, конечно нужен, но не дисплей, а монитор или, в крайнем случае, телевизор. Можно, конечно, к "Малинке прикрутить" дисплей LCD 1602, но выглядеть это будет как минимум странно.

Дисплей LCD 1602
Дисплей LCD 1602

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

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

Показания датчика температуры
Показания датчика температуры

Другое дело, программа Scratch, она же S4A, созданная кстати на Python.

Не знакомы со Scrath?

Тогда вам сюда, узнаете немного о прорамме и как установить на Raspberry Pi : Среда программирования Arduino. Устанавливаем Scratch на Raspberry Pi

Ещё мои статьи о S4A можно прочитать здесь: Raspberry Pi & Scratch

Не нужно писать ни какие скрипты, все максимально просто и доступно. Программируется легко и визуально понятно - программа составляется как игра в тетрис.

Программа S4A для датчика освещенности
Программа S4A для датчика освещенности

Единственный минус в том, что в данной ситуации Raspberry Pi взаимодействует с программой S4A, только в связке платой Arduino через USB-порт, но это только к лучшему - вы точно не загубите Raspberry. Но есть плюс, может управляться удаленно, например со смартфона.

Разберем работу программы на примере датчика освещенности - фоторезистора.

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

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

Создаем программный код

Запускаем программу S4A, для тех кто не знаком со Scratch, подсказка здесь.

Первым делом открываем вкладку "Переменные" и создаем переменную fotorezistor.

Создаем переменную fotorezistor
Создаем переменную fotorezistor

Переходим на вкладку Контроль и перетаскиваем из левой части окна в правую команды "когда нажата пробел клавиша" и "всегда".

Устанавливаем команды из вкладки контроль
Устанавливаем команды из вкладки контроль

Соединяем команды как пазлы.

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

Снова переходим на вкладку Переменные и в команду "всегда" вставляем команду "поставить fotorezistor в 0".

Добавляем команду "поставить ... 0"
Добавляем команду "поставить ... 0"

Опять переходим на вкладку Движение, устанавливаем два блока "если" после команда "поставить ... 0".

Добавляем команды "если"
Добавляем команды "если"

Переходим на вкладку Операторы, устанавливаем в команды "если" команды "...<..." и "...>...".

Не перепутайте местами, от этого зависит правильность выполнения программы.
Устанавливаем операторов
Устанавливаем операторов

Переходим на вкладку Движение, устанавливаем команды как на фото.

Расставляем команды движения
Расставляем команды движения

Установим блок "volue of sensor Analog0" в команду "поставить...", блок "digital...on" верхнюю команду "если", блок "digital...off" в нижний блок "если". В блоках "digital...on" и "digital...off" поменяйте с помощью выпадающего меню номера пинов 13 на пин 12 в одном из блоков(смотри фото).

Указываем пины 12 и 13 в блоках
Указываем пины 12 и 13 в блоках

В блоки-операторы "...<..." и "...>..." добавляем по блоку "volue of sensor Analog0", во вторую клетку впечатываем по число 400 (если будет не достаточно, после тестирования можно будет исправить).

-12

В принципе, программа готова, если вы еще не сохранили, то можете "сохранить как..." в меню File и закрыть программу.

Подключите плату Arduino Uno с подсоединенной к ней схемой к плате Rasspberry Pi, запустите программу S4A и через меню File откройте сохраненную программу.

Для запуска выполнения программы нажмите клавишу пробел. Работает?

Прикройте фоторезистор рукой, светодиод должен загореться, а реле включиться.

Если всё работает, давайте позаботимся о будущей анимации, визуализации и информативности нашей программе.

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

Убираем панель показаний датчиков
Убираем панель показаний датчиков

Для этого во вкладке Движение установим 2 блока, "hide board" установим в тело программы, а "show board" просто установим на пустое поле. При запуске программы панель исчезнет и появиться только тогда, когда вы сами нажмете мышкой на блок "show board".

На вкладке Костюмы берем и устанавливаем аналогично блоки "показаться" и "спрятаться", только прятать и показывать они будут изображение платы Arduino.

Убираем изображение платы Arduino Uno
Убираем изображение платы Arduino Uno

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

Программа готова
Программа готова

Но об этом в следующей статье.

Продолжение следует...

На этом сегодня всё, надеюсь было интересно.

Если вы что-то не поняли, файл программы по ссылке на Яндекс Диск

https://yadi.sk/d/d-FwtR6dMtuiBg

Хотите больше статей о программировании, рекомендую перейти по ссылке в меню нашего навигатора по каналу:
Страница навигации XOD IDE или Raspberry Pi & Scratch
или Как выгодно покупать на AliExpress
Экспериментируйте!!!
Спасибо, что дочитали статью до конца. Надеюсь статья была вам полезна и интересна. Понравилась статья, ставьте палец вверх.
И не забывайте  подписывайтесь на наш канал :)

Впереди ещё много интересного!

Вы можете помочь проекту в развитии: