Добавить в корзинуПозвонить
Найти в Дзене

Программируем в Scratch. Управляем бытовой техникой с телефона...

В статье Управляем электроприборами с телефона я представил схему взаимодействия электронных компонентов: модульного реле, Arduino и Raspberry Pi. Для выполнения действий между гаджетами и платами нужна программа взаимодействия и это программа Scratch.
В этой статье разберемся как всё работает, а точнее как работает алгоритм программы.
Прежде всего нужно установить Scratch, а
Оглавление

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

В статье Управляем электроприборами с телефона я представил схему взаимодействия электронных компонентов: модульного реле, Arduino и Raspberry Pi. Для выполнения действий между гаджетами и платами нужна программа взаимодействия и это программа Scratch.

В этой статье разберемся как всё работает, а точнее как работает алгоритм программы.

Прежде всего нужно установить Scratch, а точнее S4A. Как установить программу на Raspberry Pi подробно я описал в этой статье:

Среда программирования Arduino. Устанавливаем Scratch на Raspberry Pi

Почему Raspberry Pi, а не стационарный компьютер или ноутбук?

Scratch и Arduino могут спокойно взаимодействовать как с компьютером, так и с ноутбуком, но это лишнее энергопотребление. А для "малинки" даже не потребуется монитор для включения и управления программой. Для управления реле достаточно схему подключить в сеть и дальше управлять смартфоном, удаленно с помощью сервиса VNC server.

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

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

Интерфейс программы S4A
Интерфейс программы S4A
Внимание!
Реле должны быть подключены согласно схеме к 13; 12: 11; 10 пинам на плате Arduino Uno.
Схема подключения программы "Удаленное управление"
Схема подключения программы "Удаленное управление"

Первым делом в разделе "Команды" на вкладке "Переменные" создаем четыре переменные: Relay 1; Relay 2; Relay 3; Relay 4.

Создаем переменные Relay
Создаем переменные Relay

Напротив переменных ставим галки, чтобы отображались в окне просмотра.

Переходим на вкладку "Контроль", устанавливаем команды запуска действий.

Перетаскиваем команды в поле "Место сборки команд"
Перетаскиваем команды в поле "Место сборки команд"

Просто берем мышкой команды "когда клавиша пробел нажата" и "всегда", перетаскиваем в поле "Место сборки команд" и собираем как пазл.

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

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

Переходим на вкладку "сенсоры"
Переходим на вкладку "сенсоры"

Добавляем сенсор "клавиша пробел нажата!", вставляем в специальное место на сенсоре.

Добавляем сенсор "клавиша пробел нажата!"
Добавляем сенсор "клавиша пробел нажата!"

Меняем значение "пробел" на любой знак из выпадающего списка.

Меняем значение клавиш управления.
Меняем значение клавиш управления.

Я использовал команды клавиш qwerasdf, они удобно расположены и их легко запомнить. Например клавиша q будет включать реле 1, клавиша e выключать, впрочем, как вам будет удобно.

Переходим на вкладку "движение" и добавляем оператор "digital 13 on'.

Вкладка "движение" оператор "digital 13 on'
Вкладка "движение" оператор "digital 13 on'

Теперь можно и попробовать. При нажатии клавиши "пробел" активируется программа, а после нажатия кнопки "q", включится реле подключенное к 13 пину Arduino.

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

Вот мы и добрались до переменных. Переходим на вкладку "переменные" и устанавливаем оператор "поставить Relay 1 в 0" . Впечатываем значение "Вкл" вместо "0".

Вкладка переменные
Вкладка переменные

Добавляем в программу модуль выключения реле.

Достаем из программа три оператора "ждать до ...", "digital 13 on", "поставить Relay 1 в Вкл" взяв мышкой за команду "ждать до ...", поставим на свободное место и нажмите на нем правой клавишей мыши.

Дублируем команды в S4A
Дублируем команды в S4A

В контекстном меню нажимаем дублировать, появиться дубликат команд.

Дублируем команды в S4A
Дублируем команды в S4A

Скрепляем между собой дубликаты, берем мышкой команду "digital 13 on" и отсоединяем от остальных. Команду "поставить Relay 1 Вкл" так же от "digital 13 on". Команду "digital 13 on" переносим в раздел "Команды" для удаления из области "Сборка команд".

Удаление команды с поля сборки в S4A
Удаление команды с поля сборки в S4A

Вместо удаленного оператора добавляет команду "digital 13 off", собираем конструкцию программ и вставляем в команду "всегда".

Программа для одного реле готова
Программа для одного реле готова

Во второй команде "ждать до клавиша q нажата!", меняем букву на нужную вам клавишу, у меня будет "e". Программа на одно реле готова, можете протестировать.

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

Программа управления четырьмя реле.
Программа управления четырьмя реле.

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

Ещё кое-что доработав, в итоге получилось следующее.

Готовая программа управления реле в S4A
Готовая программа управления реле в S4A
  • Добавил программу аварийного отключения, которая управляется клавишей "z".
  • Установил сцены для индикации состояния кнопок с напечатанными на них клавишами управления.

Готовую программу можете скачать по ссылке с Яндекс Диск.

https://yadi.sk/d/_waxr0OV3eU2wQ

Обязательно сохраните файл на Raspberry Pi в директорию:
/home/pi/Documents/Scratch Projects
В противном случае Scratch потеряет связь с операторами и будет открываться пустое окно.

На этом сегодня всё, как управляется удаленно. разберетесь надеюсь сами прочитав эту статью. К программе S4A обязательно ещё вернёмся.

Увлекаетесь конструированием на Arduino?

Вот ссылки, где можно приобрести выгодно и с быстрой доставкой платы Arduino UNO, но лучше купить Стартовый комплект для Arduino UNO, в котором уже находятся все компоненты для начального моделирования и программирования.

А ещё, Raspberry Pi 4 model B - покупайте у проверенного продавца и хорошего качества.

Хотите больше статей о программировании в программе XOD IDE,рекомендую перейти по ссылке в меню навигатора канала:

Страница навигации

Экспериментируйте!!!

Спасибо, что дочитали статью до конца.

Надеюсь статья была вам полезна и интересна.

Понравилась статья, ставьте палец вверх.

Хотите следить за новостями, подписывайтесь на наш канал.

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

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