Привет, друзья!
В статье Управляем электроприборами с телефона я представил схему взаимодействия электронных компонентов: модульного реле, Arduino и Raspberry Pi. Для выполнения действий между гаджетами и платами нужна программа взаимодействия и это программа Scratch.
В этой статье разберемся как всё работает, а точнее как работает алгоритм программы.
Прежде всего нужно установить Scratch, а точнее S4A. Как установить программу на Raspberry Pi подробно я описал в этой статье:
Среда программирования Arduino. Устанавливаем Scratch на Raspberry Pi
Почему Raspberry Pi, а не стационарный компьютер или ноутбук?
Scratch и Arduino могут спокойно взаимодействовать как с компьютером, так и с ноутбуком, но это лишнее энергопотребление. А для "малинки" даже не потребуется монитор для включения и управления программой. Для управления реле достаточно схему подключить в сеть и дальше управлять смартфоном, удаленно с помощью сервиса VNC server.
Создаем программный код
Запускаем программу S4A, для тех кто не знаком со Scratch подсказка здесь.
Внимание!
Реле должны быть подключены согласно схеме к 13; 12: 11; 10 пинам на плате Arduino Uno.
Первым делом в разделе "Команды" на вкладке "Переменные" создаем четыре переменные: Relay 1; Relay 2; Relay 3; Relay 4.
Напротив переменных ставим галки, чтобы отображались в окне просмотра.
Переходим на вкладку "Контроль", устанавливаем команды запуска действий.
Просто берем мышкой команды "когда клавиша пробел нажата" и "всегда", перетаскиваем в поле "Место сборки команд" и собираем как пазл.
Я использовал команду" запускать программу" по нажатию клавиши "Пробел", можете использовать команду запускать по нажатию зеленого флажка или по щелчку мышкой по изображения Arduino в окне просмотра.
Добавляем команду "ждать до" и переходим на вкладку "сенсоры".
Добавляем сенсор "клавиша пробел нажата!", вставляем в специальное место на сенсоре.
Меняем значение "пробел" на любой знак из выпадающего списка.
Я использовал команды клавиш qwerasdf, они удобно расположены и их легко запомнить. Например клавиша q будет включать реле 1, клавиша e выключать, впрочем, как вам будет удобно.
Переходим на вкладку "движение" и добавляем оператор "digital 13 on'.
Теперь можно и попробовать. При нажатии клавиши "пробел" активируется программа, а после нажатия кнопки "q", включится реле подключенное к 13 пину Arduino.
Внимание! Программа будет работать при условии, что включена английская раскладка.
Программа запущена, остановить выполнение программы можно нажатием мышкой на созданную программу или нажатием на значок "стоп" в окне просмотра.
Вот мы и добрались до переменных. Переходим на вкладку "переменные" и устанавливаем оператор "поставить Relay 1 в 0" . Впечатываем значение "Вкл" вместо "0".
Добавляем в программу модуль выключения реле.
Достаем из программа три оператора "ждать до ...", "digital 13 on", "поставить Relay 1 в Вкл" взяв мышкой за команду "ждать до ...", поставим на свободное место и нажмите на нем правой клавишей мыши.
В контекстном меню нажимаем дублировать, появиться дубликат команд.
Скрепляем между собой дубликаты, берем мышкой команду "digital 13 on" и отсоединяем от остальных. Команду "поставить Relay 1 Вкл" так же от "digital 13 on". Команду "digital 13 on" переносим в раздел "Команды" для удаления из области "Сборка команд".
Вместо удаленного оператора добавляет команду "digital 13 off", собираем конструкцию программ и вставляем в команду "всегда".
Во второй команде "ждать до клавиша q нажата!", меняем букву на нужную вам клавишу, у меня будет "e". Программа на одно реле готова, можете протестировать.
Дальше проще, создаём еще три аналогичных программы, это уже просто. Нажать на созданную программу правой клавиши мыши и выбрать в контекстном меню пункт дублировать и поставить дубликат в нужное место.
В программах нужно изменить управляющие клавиши как на фото и пины подключения, тоже видно на фото.
Ещё кое-что доработав, в итоге получилось следующее.
- Добавил программу аварийного отключения, которая управляется клавишей "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,рекомендую перейти по ссылке в меню навигатора канала:
Экспериментируйте!!!
Спасибо, что дочитали статью до конца.
Надеюсь статья была вам полезна и интересна.
Понравилась статья, ставьте палец вверх.
Хотите следить за новостями, подписывайтесь на наш канал.
Впереди ещё много интересного!
Вы можете помочь проекту в развитии: