Как создать робота на Arduino, который будет двигаться по нарисованной линии. Какие компоненты нужны для сборки робота, следующего по линии. Как запрограммировать Arduino для движения робота по траектории. Какие алгоритмы используются для управления роботом на линии.
Принцип работы робота, движущегося по линии
Робот, следующий по линии — это автономное устройство, способное самостоятельно передвигаться по заданной траектории, обозначенной контрастной линией на поверхности. Как правило, используется черная линия на белом фоне.
Основной принцип работы такого робота заключается в следующем:
- Датчики линии, расположенные на нижней части робота, определяют контраст между линией и фоном
- Микроконтроллер Arduino обрабатывает сигналы с датчиков
- В зависимости от показаний датчиков Arduino управляет двигателями, корректируя движение робота
- Робот постоянно отслеживает линию и двигается вдоль нее
При правильной настройке такой робот может автономно следовать по сложной траектории, огибая повороты и преодолевая препятствия.

Необходимые компоненты для создания робота
Для сборки простейшего робота, движущегося по линии на базе Arduino, потребуются следующие компоненты:
- Платформа Arduino (например, Arduino Uno)
- Шасси робота с двумя колесами и моторами
- Драйвер двигателей (например, L298N)
- Датчики линии (минимум 2 шт)
- Батарейный отсек или аккумулятор
- Соединительные провода
- Крепежные элементы
Дополнительно могут понадобиться макетная плата, кнопка включения, светодиоды для индикации и другие опциональные компоненты.
Подключение компонентов к Arduino
Схема подключения основных компонентов робота к Arduino выглядит следующим образом:
- Датчики линии подключаются к цифровым пинам Arduino
- Драйвер двигателей подключается к цифровым пинам для управления направлением и скоростью
- Питание подается на Arduino и драйвер двигателей
Важно правильно подобрать напряжение питания для моторов и Arduino. Обычно используется батарея 7-12В.
Алгоритмы движения робота по линии
Существует несколько основных алгоритмов управления движением робота по линии:

Релейный алгоритм
Самый простой алгоритм, при котором робот резко поворачивает, когда датчик теряет линию. Подходит для простых траекторий.
П-регулятор
Более плавный алгоритм, учитывающий отклонение от линии. Скорость поворота пропорциональна величине отклонения.
ПИД-регулятор
Сложный алгоритм, учитывающий также скорость и ускорение отклонения от линии. Обеспечивает очень плавное движение.
Выбор алгоритма зависит от сложности трассы и желаемой скорости движения робота.
Программирование Arduino для движения по линии
Базовый алгоритм управления роботом на Arduino выглядит следующим образом:
- Инициализация пинов и переменных
- В бесконечном цикле:
- Считывание показаний датчиков линии
- Расчет управляющего воздействия на моторы
- Установка скорости и направления вращения моторов
Ниже приведен пример простого скетча для Arduino, реализующего движение по линии:
«`cpp // Пины для подключения датчиков #define SENSOR_LEFT 2 #define SENSOR_RIGHT 3 // Пины для управления моторами #define MOTOR_LEFT_DIR 4 #define MOTOR_LEFT_PWM 5 #define MOTOR_RIGHT_DIR 6 #define MOTOR_RIGHT_PWM 7 void setup() { pinMode(SENSOR_LEFT, INPUT); pinMode(SENSOR_RIGHT, INPUT); pinMode(MOTOR_LEFT_DIR, OUTPUT); pinMode(MOTOR_LEFT_PWM, OUTPUT); pinMode(MOTOR_RIGHT_DIR, OUTPUT); pinMode(MOTOR_RIGHT_PWM, OUTPUT); } void loop() { int leftSensor = digitalRead(SENSOR_LEFT); int rightSensor = digitalRead(SENSOR_RIGHT); if (leftSensor == LOW && rightSensor == LOW) { // Оба датчика на линии — движение прямо moveForward(); } else if (leftSensor == HIGH && rightSensor == LOW) { // Левый датчик вне линии — поворот влево turnLeft(); } else if (leftSensor == LOW && rightSensor == HIGH) { // Правый датчик вне линии — поворот вправо turnRight(); } else { // Оба датчика вне линии — стоп stop(); } } void moveForward() { digitalWrite(MOTOR_LEFT_DIR, HIGH); analogWrite(MOTOR_LEFT_PWM, 200); digitalWrite(MOTOR_RIGHT_DIR, HIGH); analogWrite(MOTOR_RIGHT_PWM, 200); } void turnLeft() { digitalWrite(MOTOR_LEFT_DIR, LOW); analogWrite(MOTOR_LEFT_PWM, 150); digitalWrite(MOTOR_RIGHT_DIR, HIGH); analogWrite(MOTOR_RIGHT_PWM, 150); } void turnRight() { digitalWrite(MOTOR_LEFT_DIR, HIGH); analogWrite(MOTOR_LEFT_PWM, 150); digitalWrite(MOTOR_RIGHT_DIR, LOW); analogWrite(MOTOR_RIGHT_PWM, 150); } void stop() { analogWrite(MOTOR_LEFT_PWM, 0); analogWrite(MOTOR_RIGHT_PWM, 0); } «` Этот код реализует простой релейный алгоритм движения по линии. Для более плавного движения можно реализовать П- или ПИД-регулятор.
Настройка и отладка робота
После сборки и программирования робота необходимо выполнить его настройку:
- Откалибровать датчики линии под конкретную поверхность
- Подобрать оптимальную скорость движения
- Настроить параметры алгоритма (коэффициенты регулятора)
- Протестировать работу на разных участках трассы
Для удобства отладки рекомендуется добавить светодиодную индикацию состояния датчиков и движения робота.
Типичные проблемы и их решение
При создании робота, движущегося по линии, могут возникнуть следующие проблемы:
- Робот теряет линию на поворотах — нужно уменьшить скорость или доработать алгоритм
- Робот колеблется вокруг линии — требуется точная настройка коэффициентов регулятора
- Датчики срабатывают некорректно — необходимо откалибровать или заменить датчики
- Недостаточная мощность двигателей — заменить моторы или батарею питания
Большинство проблем решается точной настройкой механической части, электроники и программного кода робота.
Усовершенствование базовой модели робота
После создания базовой модели робота, двигающегося по линии, его можно усовершенствовать:

- Добавить больше датчиков линии для более точного позиционирования
- Реализовать объезд препятствий с помощью ультразвуковых дальномеров
- Добавить Bluetooth-модуль для удаленного управления
- Установить LCD-дисплей для вывода информации
- Интегрировать систему машинного зрения на базе Raspberry Pi
Такие улучшения позволят создать более функционального и интеллектуального робота для решения сложных задач.
Робот ездящий по линии
Войти через. На AliExpress мы предлагаем тысячи разновидностей продукции всех брендов и спецификаций, на любой вкус и размер. Если вы хотите купить линия отслеживания робот и подобные товары, мы предлагаем вам позиций на выбор, среди которых вы обязательно найдете варианты на свой вкус. Защита Покупателя. Помощь Служба поддержки Споры и жалобы Сообщить о нарушении авторских прав.
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Содержание:
- Робот, ездящий по нарисованной линии
- Робот, следующий по линии на Arduino
- Универсальная беспилотная платформа
- Создаем робота дома
- Arduino:Примеры/RobotLineFollowing
- Двухколёсная платформа-робот Arduino RoboCar-2
- Конструктор — Робот, следующий по линии «КОЗАР»
- Движение робота по линии
- Движение по линии с двумя датчиками
- Самодельный робот следующий по линии
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Beam робот или машинка ездящая по линии
youtube.com/embed/eu0_fdkVP90″ frameborder=»0″ allowfullscreen=»»/>Робот, ездящий по нарисованной линии
В данной статье будет описан процесс создания робота, ездящего по линии. Эта задача является классической, идейно простая, она может решаться много раз, и каждый раз вы будете открывать для себя что-то новое. Решение этой задачи и реализация полученного решения позволяют приобрести необходимые начальные навыки для дальнейшего совершенствования в робототехнике.
Существует множество подходов для решения задачи следования по линии. Выбор одного из них зависит от конкретной конструкции робота, от количества сенсоров, их расположения относительно колёс и друг друга.
В нашем примере будет собран робот на лёгкой платформе с двумя колёсами и двумя датчиками линии, расположенными на днище робота перед колёсами. Вообще говоря, лучше было бы использовать NiMH-аккумуляторы: они лучше отдают ток и значительно дольше держат напряжение, но для целей этого проекта одной батарейки на 9 В вполне хватило. Затем с помощью пластиковых П-образных креплений прикручиваем моторчики к платформе.
Обратите внимание на взаимное расположение крепления и моторчики: в креплении есть небольшие углубления, так что если всё соединить правильно, то моторчики будут крепко держаться и никуда не выскочат.
Платформа собрана. Если вам кажется, что колёсам отведено слишком мало места и они трутся о платформу, то скорее всего вам нужно посильнее надавить на колёса, чтобы они плотнее сели на вал мотора. Можно было бы выбрать и другое место. Это могло бы сделать контроль проще или сложнее, а самого робота более или менее эффективным. Оптимальное расположение — вопрос серии экспериментов. Для этого проекта просто был выбран такой способ крепления. Опять же, можно выбрать и другое место.
Например над колёсами, если приподнять Arduino на латунных стойках. Это изменило бы положение центра масс и повлияло бы на эффективность робота в лучшую или худшую сторону.
Установим Motor Shield на Arduino и подсоединим соединительные провода.
Присоединяем сверху Troyka Shield и подключаем датчики к 8 и 9 цифровым контактам. В итоге получаем следующую конструкцию:. Теперь напишем программу, которая заставит собранную конструкцию двигаться по нарисованной линии. В проекте мы будем использовать чёрную линию, напечатанную на белых листах бумаги. Пусть у нас усть белое поле, и на нём чёрным нарисован трек для нашего робота. На прямой робот должен пропускать трек между сенсоров, то есть оба сенсора должны показывать единички.
При повороте траектории направо, правый сенсор наезжает на трек и начинает показывать логический ноль. При повороте налево, ноль показывает левый сенсор. Однако если выставить скорость моторов побольше, мы столкнёмся со следующей проблемой: наш робот будет вылетать с трека, не успевая отреагировать на поворот. Это связано с тем, что наши моторчики не умеют тормозить мгновенно.
В этом легко убедиться поставив следующий эксперимент: с заданной скоростью робот будет двигаться по поверхности, и в некоторый момент будет установлена нулевая скорость и измерен тормозной путь робота. Пусть робот разгоняется по монотонной поверхности и тормозится при фиксировании импровизированной стоп-линии.
Таким образом, начиная с некоторого момента у нашего робота нет никакой возможности успеть среагировать и остаться на треке. Что можно сделать?! После того, как сенсоры улавливают поворот, можно остановиться и вернуться назад на некоторое расстояние, зависящее от скорости перед остановкой. Однако мы можем отдать команду роботу ехать с какой-то скоростью, но не можем приказать ему проехать какое-то расстояние. Для того, чтобы понять зависимость расстояния при заднем ходе от времени, был проведён ещё один замер:.
Полученные две зависимости были линейно аппроксимированы, затем была выведена формула зависимости времени, которое надо двигаться назад, от скорости перед остановкой. Обратим внимание на то, что у вас значения могут оказаться другими: из-за особенностей сборки либо из-за поверхности, поэтому в общем случае лучше провести все измерения самостоятельно.
Во-первых, нам необязательно давать команду ехать назад перед каждым поворотом, как мы помним, на маленькой скорости робот прекрасно справляется и без этого. К тому же лучше ему двигаться не прямо назад, а немного поворачивая, всё-таки робот находится перед поворотом. Во-вторых, нам стоит различать состояния робота: когда он движется по прямой, и ничто ему не мешает ускоряться; и когда робот входит в поворот. В первом случае действительно будем увеличивать скорость робота для более динамичного прохождения трека, во втором случае будем сбрасывать скорость до значения, достаточного для успешного прохождения поворота, и будем держать эту скорость ещё какое-то время.
Представленный алгоритм оставляет множество возможностей для улучшения и оптимизации. Скорость поворота можно так же менять адаптивно. Можно добавить контроль заноса. Можно поиграть с расположением сенсоров и центром масс. В конце концов можно получить непобедимого на треке робота. Вики Видео Форум Блог. Содержание Робот, ездящий по линии под управлением Arduino.
Крепим Motor Shield и соединительные провода. В результате выглядеть он будет так:. Для нашего примера понадобятся следующие детали: Arduino Uno. Двухколёсная платформа miniQ. Motor Shield. Troyka Shield. Пара датчиков линий. Несколько соединительных проводов и болтов и гаек для крепления датчиков и Arduino Uno. Кабель питания от батарейки Крона и сама батарейка. Для начала прикрепим колёса к моторам. Теперь крепим балансировочный шар. Закрепим их, как показано на фото: Можно было бы выбрать и другое место.
Arduino закрепим с противоположной стороны двумя винтиками и гайками. Эксперимент проведём для разных скоростей. Перед финальным экспериментом произведём ещё несколько поправок. Нет ничего лучше, чем обставить оппонента на секунду-другую. Инструменты пользователя Войти. Недавние изменения Управление медиафайлами Все страницы.
Робот, следующий по линии на Arduino
LD Motor Drive Shield. Шасси сдвумя мотор-редукторами. Собрал все примерно так. На сколько я знаю моторы М1 и М2 работают через шилд по 4,5,6,7 пинам. Можно и обойтись просто будет слышен писк. И дело совсем не в этом, а том что — посмотрите что у вас за микросхема по середине шилда А скетч который вы написали он же без использования датчиков?
Набор «Робот следующий по линии» (Line tracking). С помощью данного набора-конструктора можно сделать робота машинку, ездящую по линии.
Универсальная беспилотная платформа
Новосмолинский, More. Новосмолинский, Less. Новосмолинский, Цель работы: Создать универсальную беспилотную платформу, способную выполнять действия, а именно: перемещаться по горизонтали по черной полосе до препятствия остановиться около него, сканировать пространство вокруг себя на предмет нахождения препятствий. Робот Робот — это электромеханическое, пневматическое, гидравлическое устройство, программа, либо их комбинация, работающая без участия человека и выполняющая действия, обычно осуществляемые человеком. Другими словами робот — это автоматическое устройство, имитирующее движения и действия человека. Нам понадобились: Troyka Shield — это плата расширения, которая помогает подключать большое количество периферии Arduino UNO —открытая платформа, которая позволяет собирать всевозможные электронные устройства Соединительные провода Источник питания. Нам понадобились: Motor Shield 2 канала, 2А — плата расширения для Arduino на базе чипа LP, позволяющая управлять моторами с напряжением 5—24 В в режиме раздельного питания и 7—12 В в режиме объединённого питания Датчик линии цифровой — позволяет определять цвет поверхности около него Ультразвуковой дальномер HC-SR04 — датчик для определения расстояния до объектов. Заключение Век роботизации уже наступил, и роботы успешно заменяют людей, и во многом превосходят нас в плане выполнения каких либо опасных работ.
Создаем робота дома
Теоретически эта функция проще Сонара, чего не скажешь о практической реализации… Но все по порядку. Полный размер. Необходимо: — Модуль слежения за полосой с датчикам — 4 x Line inductive module. Модуль слежения за полосой с датчикам. В посылку входят датчики полосы 4 шт и контрольный модуль.
Привет мир! Обновлено
Arduino:Примеры/RobotLineFollowing
В научной фантастике можно встретить роботов, которые готовят, стирают и воспитывают детей, вращаясь на колесиках. Хотя Alexa и Google Home не готовы вычистить вашу мебель, интерактивные домашние роботы становятся все более распространенными и интеллектуальными. Эти машины могут быть полезны, но они также могут создавать проблемы для их владельцев. Они записывают каждый момент, и это создает возможность для хакеров украсть вашу информацию. Эти роботы также могут стать оружием или шпионами.
Двухколёсная платформа-робот Arduino RoboCar-2
Доставка по России от р. Платформа-робот Arduino RoboCar-2 — это образовательный робототехнический конструктор, представляющий собой набор из различных радиодеталей и конструкционных элементов для создания интеллектуального робота-автомобиля. За считанные часы ваш ребенок самостоятельно освоит основы конструирования и программирования роботизированных микроэлектронных устройств! Робототехнический конструктор прост и удобен в сборке. У ребенка не возникнет проблем с реализацией данного мини-проекта.
Урок Обучаем Arduino робота ездить по линии При создании любого робота, его нужно оснастить датчиками Схема машинки ездящей по линии .
Конструктор — Робот, следующий по линии «КОЗАР»
Робот будет двигаться не строго по черной линии, а по ее границе, подворачивая то влево, то вправо и постепенно перемещаясь вперед. Алгоритм очень простой: если датчик видит черный цвет, то робот поворачивает в одну сторону, если белый — в другую. Переключатель настраиваем на датчик цвета — измерение — цвет. Также, необходимо правильно указать все порты.
Движение робота по линии
ВИДЕО ПО ТЕМЕ: Как сделать РОБОТА, который ЕДЕТ по ЛИНИИ
com/embed/gwa5_pvPLaQ» frameborder=»0″ allowfullscreen=»»/>В этом уроке мы создадим машинку, которая будет ездить по траектории нарисованной линии, а также останавливаться при обнаружении препятствий. При создании любого робота, его нужно оснастить датчиками показания которых будет считывать робот , управляющими модулями для вывода результатов работы робота , и скетчем по алгоритму которого должен работать робот. В нашем случае, мы оснастим машинку, тремя аналоговыми датчиками линий и одним ультразвуковым датчиком расстояния , а в роли управляющих модулей выступят два закрепленных к каркасе моторчика , с колёсами на валах. Моторчики подключаются к клеммам M1 левый мотор и M2 правый мотор расположенным на Motor Sield.
Lego Mindstorms.
Движение по линии с двумя датчиками
При случайном стечении обстоятельств, во время искажения пространства мне в руки попал Lego NXT и навязчивая идея сделать робота, ездящего по линии. Идея заключалась в том, чтобы сделать робота, который смог бы с минимальным количеством датчиков проходить черную линию любой ширины и любой кривости. Первоначальный вариант:. Также можно отойти от примитивного использования метода черное-белое , к черное-серое-белое , заставив робота ехать не по линии, а по краю линии. Но, однако точность прохождения линии будет невысокой.
Самодельный робот следующий по линии
Возьмите большой кусок белой бумаги либо склейте между собой несколько кусков и, воспользовавшись толстым черным маркером, нарисуйте на нем какую-нибудь фигуру. Поставьте робота поверх этой линии, а затем включите его. Он начнет сканировать пол на предмет этой линии, а когда найдет, начнет вдоль нее двигаться.
Робот, следующий по линии на Arduino « схемопедия
В этом уроке мы перейдем к строительству робота на Arduino, следующего по линии, используя пропорциональное управление в качестве метода управления. Похоже на PID (пропорционально-интегрально-дифференциальное управление), но проще. Я рекомендую посмотреть в Wiki на обе системы управления.
Пропорциональное управление: http://en. wikipedia.org/wiki/Proportional_control
PID: http://ru.wikipedia.org/wiki/ПИД-регулятор
http://www.societyofrobots.com/programming_PID.shtml
Список элементов
1. Arduino Uno или совместимое.
2. SparkFun Ardumotoshield.
3. Массив датчиков отражения Pololu QTR-8RC.
4. Шасси робота
5. Перемычки
Сборка
После сборки шасси закрепите аккумулятор, Arduino и Ardumoto shield на шасси (я использовал кабельные стяжки). Затем установить QTR датчик так, чтобы он был чуть выше поверхности, по которой потом будет двигаться робот. Я использовал тонкую проволоку, чтобы можно было легко настроить положение датчика, но она достаточно сильна, чтобы удерживать его, так как собранному роботу может потребоваться некоторая регулировка. Также обратите внимание на положение датчика, BLS штырьки должны быть вовнутрь, чтобы контакты датчика соответствали Arduino скетчу.
Arduino скетч
Затем загрузите папку по ссылке ниже.
## Эти файлы не работают с новыми версиями Arduino IDE 1.0 и выше ##
И добавьте её в вашу папку библиотек, расположенную в папке Arduino. Если вы не знакомы с этим или расположением папки идите сюда за помощью.
Внутри папки QTRRCExamples есть скетч, который вы будете использовать. Вы можете использовать Arduino IDE, чтобы найти и импортировать скетч или скопируйте и вставьте его из текстового редактора в Ide и затем загрузить его в свой UNO.
Кроме того, распиновка для данного скетча такая:
Цифровой вывод 2 Ardumoto – Вывод 1 QTR датчика.
Цифровой вывод 4 Ardumoto – Вывод 2 QTR датчика.
Цифровой вывод 5 Ardumoto – Вывод 3 QTR датчика.
Цифровой вывод 6 Ardumoto – Вывод 4 QTR датчика.
Цифровой вывод 7 Ardumoto – Вывод 5 QTR датчика.
Цифровой вывод 8 Ardumoto – Вывод 6 QTR датчика.
Цифровой вывод 9 Ardumoto – Вывод 7 QTR датчика.
Цифровой вывод 10 Ardumoto – Вывод 1 QTR датчика.
Аналоговый вывод 0 Ardumoto – Вывод LEDON QTR датчика.
Ardumoto А 1 – Отрицательный провод правого двигателя.
Ardumoto А 2 – Положительный провод правого двигателя.
Ardumoto B 3 – Положительный провод левого двигателя.
Ardumoto B 4 – Отрицательный провод левого двигателя.
Ardumoto GND – Вывод GND QTR датчика.
5V – Вывод VCC QTR датчика.
Тестирование и настройка
После загрузки скетча, и отключения USB. Затем поместите робота на белую поверхность (вне линии) и сбросите Arduino. Сброс Arduino перезагрузит скетч, который в течение первых нескольких секунд начнет калибровку датчиков. Теперь, как только колеса начнут двигаться снова снимите робота с поверхности и перемещаете его чуть выше черной линии слева направо, чтобы увидеть, насколько хорошо он управляет хождение колес по линии. Вы можете обнаружить, что робот сначала реагирует время от времени, но продолжайте регулировать высоту вашего датчика и сбрасывать Arduino каждый раз, пока вы не найдете высоту, на которой кажется, робот реагирует лучше. Это, как правило, около 2/16 дюйма, но может отличаться, также, ширина черной линии должна быть близка или около 3/4 дюйма. Очевидно, что эти условия могут быть изменены с некоторым незначительным редактированием файлов библиотеки PololuQTRSensors или оригинального скетча.
Заключение
Надеюсь, в этом уроке, вы получили базовые понимания таких методов контроля, как Пропорциональное управление и/или PID. Которые могут быть полезны в области робототехники и автоматизированных систем управления. Вот короткое видео маневрирования робота в условиях, предложенных ранее.
Прикрепленные файлы:
- PololuQTRSensors.zip (44 Кб)
Категория: Аппаратура радиоуправления моделями
Метки: взято с сайта http://cxem.net
Заставить роботизированную руку двигаться прямо, а не изогнуто
Задавать вопрос
спросил
Изменено 5 лет, 5 месяцев назад
Просмотрено 2к раз
Я планирую проект, включающий роботизированную руку, управляемую Arduino. Упрощенная программа этого будет:
- Робот-манипулятор поднимает объект
- Затем манипулятор перемещает объект по прямой
- Роботизированная рука освобождает объект
Проблема с этим в том, что каждая роботизированная рука, которую я видел, работает с сервоприводами, которые вращаются точно в пределах от 0 до 180 градусов. Но, поскольку манипулятор движется с помощью сервоприводов, он движется по криволинейной траектории, а не по желаемой прямой траектории.
Два пути в этой задаче показаны на этом изображении. То, что слева, — желаемое, а то, что справа, — это то, что происходит при использовании любой роботизированной руки.
Есть ли способ заставить манипулятор двигаться по прямой? Существует ли конкретная роботизированная рука, которая движется по прямым линиям, а не по кривым линиям?
Спасибо за любую помощь!
Вот ссылка на пример робота-манипулятора, который поднимает объект и движется по криволинейной траектории, а не по желаемой прямой траектории.
- робототехника
5
Вам нужно изучить инверсную кинематику.
В робототехнике инверсная кинематика использует уравнения кинематики для определения параметров суставов, которые обеспечивают желаемое положение для каждого из конечных исполнительных органов робота. Спецификация движения робота, чтобы его конечные исполнительные органы выполняли желаемые задачи, называется планированием движения. Инверсная кинематика преобразует план движения в траектории совместных приводов робота.
Решив, как вы хотите, чтобы конец двигался, и рассчитав положения суставов для каждой точки на этом пути, вы можете получить прямолинейные движения и т. д.
Требуется выполнить некоторую геометрию. Подумайте, как бы вы сделали это своей рукой. Вам придется двигать более чем одним суставом за раз. Таким образом, вы должны определить линию, по которой вы хотите следовать, и вычислить из каждой точки на линии, какие углы должны быть у всех суставов, чтобы положить конец там. Для этого потребуется немного тригонометрии. Это то, что вы изучали раньше?
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
Обнаружение движения Arduino с кусочком провода
- автор: Дженни Лист
Вполне вероятно, что многие из нас когда-либо экспериментировали с детекторами движения. Наши Arduino, Raspberry Pi, Beaglebones или что-то еще будут подключены к ультразвуковым или PIR-панелям, которые будут опрошены на предмет их обзора того, что находится перед ними.
[Connornishijima] наткнулся на другой способ обнаружения движения с помощью Arduino, он опрашивает вывод АЦП с простой длиной витой пары, подключенной к нему и земле, и надежно генерирует показания, указывающие, когда он (или его кошка) в его окрестностях. Он называет эффект «емкостной турбулентностью» и открыт для предложений относительно его механизма. Он может заставить его работать только на Arduino, другие платы с АЦП его не режут.
Участник Frequent Hackaday [Mitxela], возможно, тоже обнаружил что-то подобное, и мы не решались написать об этом, потому что не понимали этого, но теперь это становится неизбежным.
В таких ситуациях всегда опасно уверенно заявлять о своем мнении типа «Должно быть…» без собственного экспериментального исследования. Те из нас, кто поначалу насмехался над идеей о светочувствительности Raspberry Pi 2, а позже были вынуждены проглотить их слова, имеют особую причину помнить об этом. Но это интересный эффект, который требует понимания. Можно предположить, что довольно высокий входной импеданс Arduino может сделать его чувствительным к гулу в сети. Если вы проделаете то же самое с аудиоусилителем с фоно-входом, вы вполне можете услышать значительный гул в динамике, когда ваша рука приблизится к проводу. Было бы интересно провести эксперимент в автономной хижине в лесу, при отсутствии сетевого шума.
Если вы хотите попробовать его эксперимент, он разместил свой эскиз на Pastebin. И он поместил видео ниже разрыва, демонстрирующее эффект в действии, в комплекте с кошками.
Нам нравится видеть, как люди раздвигают границы возможного с помощью своих линий ввода/вывода микроконтроллера, это способствует развитию нашего коллективного знания как сообщества.