Scratch – это инструмент программирования для создания игр для встраиваемых систем, анимаций и простых программ без использования каких-либо письменных кодов, вместо этого используется визуально организованный синтаксис, который находится в блоках с интерфейсом drag-and-drop. Можно использовать эти блоки согласно своим задачам для управления аппаратными средствами, не ограничиваясь внешними устройствами ввода данных, такими как клавиатура и мышь.
В этой статье объясняется, как настроить Scratch для получения доступа к линиям ввода/вывода общего назначения (GPIO) миникомпьютера Raspberry Pi и управления ими.
Итак, откройте Scratch. Если в вашей системе его еще нет, то в терминале введите:
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio7.sh -O isgh.sh
sudo sh isgh.sh
Это позволит установить все необходимое дополнительное программное обеспечение и некоторые примеры.
Эта установка создаст два значка на рабочем столе – ScratchGPIO7 используется новичками для работы с простыми схемами, а ScratchGPIO 7Plus используется экспертами с применением большого количества дополнительных плат.
Программа python под названием «scratch_gpio_handler.py» будет работать в фоновом режиме и настроена для прослушивания любого из broadcast-сообщений и превращения их в действия линий GPIO. В текущем файле scratch_gpio_handler.py перечислены контакты GPIO, закрепленные к следующим входам и выходам. Приведенные номера выводов – это контакты, которые перечислены в заголовочном P1 GPIO.
[i]Broadcast-команды:
Выходы – Outputs (21,18,16,15,13,12,11)
- pinXon (или pinXhigh) – Включает вывод X (переводит в высокий лог.уровень)
- pinXoff (или pinXlow) – Выключает вывод X (переводит в низкий лог.уровень)
- allon (или allhigh) – Включает все линии (переводит в высокий лог.уровень все линии)
- alloff (или allow) – Выключает все линии (переводит в низкий лог.уровень все линии)
- pinpattern1010111 – Настраивает каждую линию на высокий или низкий лог.уровень в зависимости от 1 или 0 (21,18,16,15,13,12,11)
Давайте заставим светодиод мигать на линии 11. Это реализуется следующим образом:
Зеленый флаг в сверху – это индикация запуска кода, здесь мы использовали бесконечный цикл, чтобы заставить светодиод мигать постоянно.
[i]Sensing-входы:[/i]
Входы – Inputs (26,24,22,19,10,7)
В Scratch имеется отдельный считывающий (sensing) блок, где значение датчика состоит из слайдера, в котором перечислены возможные входные линии. Мы можем использовать этот блок переменных для сравнения с двоичными значениями с использованием блоков управления.
Используя эти знания, создадим простую программу для управления светодиодами с помощью кнопок. Мы будем управлять четырьмя светодиодами с помощью четырех переключателей. Сама программа будет кодироваться визуально и выглядеть так, как показано ниже.
© digitrode.ru