DiyПрограммирование

Как Xod помогает создавать роботы Arduino без кодирования

Как Xod помогает создавать роботы Arduino без кодирования

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

К счастью, есть способы запрограммировать Arduino без написания единой строки кода. Сегодня мы рассмотрим базовую робототехнику с использованием Xod, IDU с открытым исходным кодом, основанного на Arduino, совместимого с узлами визуального программирования.

Робот без кода

Сегодняшний проект использует некоторые стандартные компоненты робототехники для создания прототипа робота-манипулятора с дистанционным зондированием. Комбинация сервомотора и ультразвукового датчика расстояния — обычное явление в хобби-робототехнике, и вы добавите ЖК-экран.

Готовый проект запишет значения расстояния на ЖК-экране и переместит рычаг сервопривода пропорционально расстоянию, обнаруженному детектором диапазона.

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

Требования к оборудованию

Все необходимые компоненты для этого проекта

Вам понадобится :

  1. Arduino совместимая плата (этот проект использует Uno)
  2. ЖК-экран 16 × 2
  3. HC-SR04 ультразвуковой датчик расстояния
  4. Хобби серво
  5. 10 К потенциометр
  6. Резистор 220 Ом
  7. 5 В блок питания
  8. Макетные и соединительные провода

Для этого проекта требуется немало компонентов, но любой хороший стартовый комплект Arduino должен иметь все необходимое. Я нашел все, что мне было нужно, в стартовом наборе Elegoo Uno R3 . Кроме того, каждый компонент, перечисленный выше, является супер дешевым и доступен во всех хороших электронных магазинах хобби.

Настройка экрана ЖКД

Fritzing ЖК-диаграмма

Добавьте свой ЖК-экран, потенциометр 10 кОм и резистор 220 Ом на макетную плату в соответствии с приведенной выше схемой фритцирования.

Настройка ЖК-дисплея может быть довольно пугающей в первый раз, когда вы делаете это, но продолжайте ссылаться на диаграмму, и вы получите это! Чтобы упростить его, я установил контакты LCD и Arduino точно такими же, как в официальном учебнике по Arduino LCD, поэтому обращайтесь к этому, если вы застряли.

Добавление серво и ультразвукового датчика

Теперь добавьте ваш ультразвуковой датчик HC-SR04 к макету. Подсоедините контакты VCC и GND к 5В и заземляющим шинам макета. Подсоедините контакт Trig к контакту 7 Arduino, а контакт Echo к 8 .

Fritzing Diagram ЖК-дисплея и датчика ультразвукового диапазона

Затем прикрепите свой сервопривод. Цвет проводки здесь может варьироваться, но, как правило, красный подключается к выводу 5 В, а коричневый или черный — к выводу GND . Линия данных, которая обычно желтого или оранжевого цвета , подключается к контакту 10 .

Полный цикл фризирования

Наконец, подключите заземляющий рельс на макете к одному из выводов заземления Arduino. Это оно! Вы все настроены.

Скачиваем Xod IDE

Пустой эскиз XOD
Перейдите на Xod.io и загрузите бесплатную Xod IDE. Он доступен для Windows, Mac и Linux. Существует также версия для браузера, но, поскольку вы не можете использовать ее для загрузки эскизов Arduino, она не будет работать для этого проекта.

Загрузить: Xod IDE для Windows, Mac и Linux

Мигать с Xod

Когда вы впервые откроете Xod, вы увидите учебный проект; В качестве альтернативы вы можете открыть его в меню Справка . Разверните коллекцию welcome-to-Xod в браузере проектов слева и выберите 101-upload .

XOD-версия эскиза Blink

Эта настройка узла предназначена для тестирования, если код успешно загружен в Arduino. Он работает так же, как эскиз Blink в Arduino IDE. Узел часов создает сигнал каждую секунду. Он подключается к узлу триггера , который переключается между истиной и ложью каждый раз, когда получает сигнал. Выход триггера подключается к светодиодному узлу, выключая его и включая.

Нажмите на светодиодный узел, и вы увидите изменения панели инспектора, чтобы показать его параметры. Измените порт на 13, как показано выше, контакт со встроенным светодиодом на Arduino. Обратите внимание, что Xod автоматически превращает 13 в D13 . Вам не нужно вводить D самостоятельно, но это не имеет значения для этого урока, если вы это сделаете!

Чтобы проверить, работает ли он, подключите Arduino через USB, перейдите в Deploy> Upload to Arduino и выберите правильный тип платы и COM-порт.

Меню развертывания Xod

Если вы видите мигание светодиода Arduino, вы готовы! Если нет, проверьте плату и номер порта и проверьте снова, прежде чем продолжить.

Программирование ЖК

Обычно мы сейчас начинаем длительный процесс кодирования, но поскольку мы используем Xod, мы не будем его писать. В браузере проекта выберите text-lcd-16 × 2 — вы найдете его в xod / common-hardware . Перетащите его в свою программу и используйте инспектор, чтобы установить его с помощью штифтов, как показано на рисунке.

Настройка узла LCD в XOD

L1 — это первая строка ЖК-дисплея, а L2 — вторая, на данный момент мы жестко закодировали «Hello World», чтобы проверить, что все работает. Разверните свою программу на Arduino, чтобы увидеть, как она работает. Если ваш текст плохо виден, попробуйте повернуть потенциометр 10 Кб, чтобы отрегулировать контрастность ЖК-дисплея.

LCD показывает Hello World

Теперь нужно настроить датчик расстояния и заставить его разговаривать на ЖК-экране.

Зондирование расстояния

Перетащите узел hc-sr04-ultrasonic-range в ваш проект и установите выводы TRIG и ECHO на 7 и 8, чтобы они соответствовали тому, как вы настроили его ранее.

Настройка датчика диапазона в XOD

Вы найдете узел concat в xod / core в браузере проекта. Перетащите его между узлом датчика ультразвукового диапазона и узлом ЖКД. Вы будете использовать это, чтобы объединить (это причудливое слово для объединения) показания датчика дальности с некоторым собственным текстом.

Это изображение показывает, что происходит. Выход Dm от узла датчика диапазона подключен к IN2 , и вы можете видеть, что инспектор помечает его как связанный . Введите «Расстояние:» в поле IN1 . Теперь свяжите выход узла concat с L1 узла LCD.

Крупным планом на конкатном узле XOD

Сохраните и разверните измененную программу. Верхняя строка ЖК-дисплея теперь показывает показания датчика диапазона!

ЖК-экран, показывающий данные о дальности

Настройка сервопривода

Для запуска сервопривода требуется три части, поэтому давайте рассмотрим их одну за другой. Начните с перетаскивания узла клип-карты из xod / math в вашу программу. Этот узел берет информацию из выхода Dm узла датчика диапазона и сопоставляет ее со значениями, которые понимает сервопривод.

Полное дерево серво узлов
Smin и Smax представляют минимальный и максимальный диапазон для активации сервопривода, в данном случае от 5 до 20 см. Эти значения отображаются на Tmin и Tmax , которые установлены в 0 и 1 как минимальное и максимальное положение сервопривода.

Узел XOD map-clip

Узел затухания в xod / core принимает выходное значение узла map-clip и сглаживает его с определенной скоростью . Это предотвращает любое нежелательное резкое движение сервомотора. Коэффициент 2 — хороший баланс, но вы можете поэкспериментировать с различными значениями здесь, чтобы заставить сервопривод реагировать быстрее и медленнее.

XOD затухающий узел

Наконец, серво- узел, который вы найдете в xod-dev / servo , получает выходное значение от узла фейдера . Измените порт на 10 . Вы можете оставить UPD включенным постоянно, так как мы хотим, чтобы наш сервопривод постоянно обновлялся в зависимости от датчика диапазона.

Сервоузел XOD
Сохраните ваш скрипт и разверните его на плате Arduino. Ваш прототип манипулятора закончен!

Тестирование

Gif готового проекта
Теперь, когда вы помещаете что-то близко к датчику диапазона, ЖК-дисплей регистрирует расстояние, а сервопривод перемещается пропорционально обнаруженному расстоянию. Все это без кода вообще.

Полное дерево узлов
Полное дерево узлов показывает, насколько просто создавать сложные программы в Xod. Если у вас возникли какие-либо проблемы, внимательно проверьте схему и каждый узел на наличие ошибок.

Робот Arduino без кода

Xod позволяет любому программировать платы Arduino, независимо от знаний кодирования. Xod даже работает с приложением Blynk DIY IoT , что делает полноценный домашний умный дом без кода реальной возможностью.

Даже с такими инструментами, как Xod, обучение кодированию важно для проектов DIY. К счастью, вы можете выучить код на своем смартфоне чтобы подобрать основы!

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика