Как работает датчик линии для Arduino. Какие бывают типы датчиков линии. Как подключить датчик линии к Arduino. Как использовать датчик линии в роботе для движения по черной линии. Какие преимущества у аналоговых и цифровых датчиков линии.
Принцип работы датчика линии для Arduino
Датчик линии для Arduino — это устройство, позволяющее роботу определять наличие линии под собой и следовать по ней. Принцип работы основан на отражении инфракрасного излучения от поверхности:
- Датчик содержит ИК-светодиод и фототранзистор
- ИК-светодиод излучает невидимый свет
- Свет отражается от поверхности и попадает на фототранзистор
- От светлой поверхности отражается больше света, от темной — меньше
- Фототранзистор преобразует отраженный свет в электрический сигнал
- Arduino считывает этот сигнал и определяет наличие линии
Таким образом, датчик позволяет отличить темную линию от светлой поверхности, что используется для движения робота по заданной траектории.
Типы датчиков линии для Arduino
Существует два основных типа датчиков линии для Arduino:
1. Цифровые датчики линии
Особенности цифровых датчиков:
- Имеют на выходе только два состояния — 0 или 1
- 0 — линия не обнаружена, 1 — линия обнаружена
- Простые в подключении и использовании
- Не требуют калибровки
- Менее точные по сравнению с аналоговыми
2. Аналоговые датчики линии
Особенности аналоговых датчиков:
- На выходе выдают аналоговый сигнал
- Позволяют определить степень отражения света
- Требуют калибровки под конкретную поверхность
- Более точные, позволяют определить отклонение от линии
- Сложнее в использовании, но дают больше возможностей
Выбор типа датчика зависит от требуемой точности и сложности задачи следования по линии.
Подключение датчика линии к Arduino
Рассмотрим подключение на примере популярного датчика TCRT5000:
Схема подключения цифрового датчика линии:
- VCC — к 5V Arduino
- GND — к GND Arduino
- DO (цифровой выход) — к любому цифровому пину Arduino
Схема подключения аналогового датчика линии:
- VCC — к 5V Arduino
- GND — к GND Arduino
- AO (аналоговый выход) — к любому аналоговому пину Arduino (A0-A5)
При подключении нескольких датчиков линии каждый подключается к отдельному цифровому или аналоговому пину Arduino.
Программирование датчика линии на Arduino
Пример программы для считывания показаний с цифрового датчика линии:
«`cpp const int sensorPin = 2; // Пин подключения датчика void setup() { Serial.begin(9600); pinMode(sensorPin, INPUT); } void loop() { int sensorValue = digitalRead(sensorPin); if (sensorValue == HIGH) { Serial.println(«Линия обнаружена»); } else { Serial.println(«Линия не обнаружена»); } delay(100); } «`Для аналогового датчика используется функция analogRead() вместо digitalRead().
Применение датчика линии в робототехнике
Датчики линии широко применяются в робототехнике для создания роботов, способных следовать по заданной траектории. Основные варианты использования:
- Движение по черной линии на белом фоне
- Удержание робота в заданной зоне, ограниченной линией
- Определение перекрестков и поворотов на трассе
- Подсчет пройденного расстояния по меткам
- Ориентирование робота в пространстве
Для более точного определения положения линии обычно используют несколько датчиков, расположенных в ряд.
Преимущества и недостатки разных типов датчиков линии
Сравним преимущества и недостатки цифровых и аналоговых датчиков линии:
Цифровые датчики
Преимущества:
- Простота подключения и использования
- Не требуют калибровки
- Подходят для простых задач следования по линии
Недостатки:
- Низкая точность определения положения линии
- Не позволяют определить степень отклонения от линии
Аналоговые датчики
Преимущества:
- Высокая точность определения положения линии
- Позволяют измерить степень отражения света
- Дают возможность плавного управления движением
Недостатки:
- Требуют калибровки под конкретную поверхность
- Сложнее в программировании и обработке данных
Выбор типа датчика зависит от сложности задачи и требуемой точности движения робота по линии.
Советы по использованию датчиков линии
Несколько рекомендаций для эффективного применения датчиков линии в робототехнике:
- Используйте несколько датчиков для более точного определения положения линии
- Располагайте датчики как можно ближе к поверхности для повышения чувствительности
- Защищайте датчики от внешнего освещения с помощью кожухов
- Для аналоговых датчиков проводите калибровку перед каждым запуском
- Экспериментируйте с различными алгоритмами движения по линии
- Учитывайте влияние скорости движения на точность следования по линии
Правильное применение этих советов поможет создать робота, способного уверенно двигаться по заданной траектории.
Датчик черной линии для следования роботом с определением величины отклонения
(в статье использованы материалы из книги М.Момота «Мобильные роботы на базе Arduino»)
Сегодня рассмотрим классическую задачу, решаемую при движении робота, это следование по черной линии. Вернее даже не саму задачу, следования, а датчики, которые могут быть использованы для её решения.
Касаться проприетарных конструкторов не будем по идейным соображениям, а для arduino проектов обычно используется датчик черной линии на паре светодиод-фототранзистор. Светодиод освещает поверхность под датчиком, а фототранзистор воспринимает величину отраженного света. При этом логично предположить, что отражение от темной поверхности будет значительно меньше, что и покажет сигнал, снимаемый с фототранзистора.
Рисунок 1. TCRT 5000
При использовании с контроллером Arduino это подразумевает задействование внутреннего аналого-цифрового преобразования и одного из PIN A0-A7. Схемы подключения могут выглядеть следующим образом:
Рисунок 2. TCRT 5000 (внешний источник опорного напряжения)
Рисунок 3. TCRT 5000 (внутренний источник опорного напряжения)
При использовании схемы (рис.3) требуется программно включить внутренний источник опорного напряжения на pin Arduino. Для этого pin следует сначала перевести в состояние входа, а затем произвести в него запись высокого уровня сигнала:
Существуют и более «продвинутые» версии подобного датчика, имеющие цифровой выход и подстройку порога срабатывания построечным резистором. Их можно подключать на цифровой вход, причем срабатывание на черную линию может переходом с 1 на 0, так и наоборот.
При следовании по черной линии желательно использовать несколько подобных датчиков (два и более), хотя существуют примеры, в которых робот пользуется только одним датчиком.
Мы в своем роботе использовали связку из 4-х датчиков с внутренним подтягивающим резистором.
Рисунок 5. Использование 4-х TCRT 5000 для движения по линии
Но, схема приведенная на рисунке 5 работает недостаточно точно, иногда дает сбои, по разному реагирует на различные поверхности. Это привело к тому, что дома наш робот вел себя нормально и отлично следовал по линии, а на соревнованиях (использовалась другая поверхность) отказался узнавать линию.
Я решил сконструировать датчик, который использует только один аналоговый вход Arduino контроллера, но несколько сенсоров, также я решил отказаться от TCRT 5000 в пользу простейших фоторезисторов, несмотря на их низкое быстродействие (несколько килогерц) они более предсказуемы.
Первое, что пришло мне в голову, это параллельный аналоговый сумматор на операционном усилителе.
Рисунок 6. Датчик линии на ОУ и фоторезисторах
Но я неправильно собрал схему, забыв, что питание ОУ должно быть двухполюсное, а земля находится посередине между + и – питания. Пока я с этим разбирался, в голову пришла элементарная схема (рис.7) . Устанавливаем два фоторезистора на бампере робота, один справа, другой слева, примерно на расстоянии в ширину линии. Теперь, если освещенность фоторезисторов одинаковая, их сопротивление совпадает и на выходе будет половина от напряжения питания, если же освещенность отличается, сопротивление фоторезисторов не совпадает и уровень сигнального выходного напряжения смещается в большую или меньшую сторону (если менее освещен ф.резистор подключенный к 5v, напряжение становится меньше половины питания, если менее освещен ф.резистор подключенный к земле, выходное напряжение становиться больше половины напряжения питания) и чем больше эта разница, тем выше отклонение.
Рисунок 7. Элементарный датчик линии на фоторезисторах
Собрав и протестировав схему, я убедился в ее отличной работоспособности, а затем модернизировал ее, введя дополнительные фоторезисторы (на большем расстоянии от центра бампера), при этом на фоторезисторы, которые ближе к центру бампера я посадил дополнительные резисторы, уменьшив их влияние на конечный результат.
Рисунок 8. Составной датчик линии на 4х фоторезисторах
Рисунок 9. Составной датчик линии на 4х фоторезисторах (схема)
Положительной стороной датчика является простота и высокая точность, простота анализа сигнала, возможность определения величины отклонения линии от центра робота, но при помощи данного датчика нельзя определить, цвет покрытия, если оно однотонное (он покажет одинаковый результат как на абсолютно белом покрытии, так и на абсолютно черном).
Шарманка на Ардуино
Эта публикация является переводом моей инструкции размещенной на сайте instructables.com. Проект занял первое место в DIY Arduino contest 2020 от Instructables
Привет! Это статья о том, как я делал шарманку на Arduino.
Демо
Немного истории
Идея автоматических музыкальных инструментов не нова. Люди всегда пробовали автоматизировать различные музыкальные инструменты, в том числе и пианино.
С середины XVIII века и до изобретения граммофона существовали различные автоматические инструменты. В основном это были пианолы и ручные уличные шарманки. Эти инструменты были автоматизированы механикой и пневматикой.
В механической схеме использовался приводной валик с кулачками. Вращаясь, кулачки задевали молоточки, которые соответствовали клавишам фортепиано.
В конце XIX-начале XX веков появились более совершенные инструменты, управляемые с помощью перфорированных бумажных лент. В таких инструментах использовалась пневматическая схема с мехами и трубками, а отверстия в ленте играли роль миниатюрных пневматических клапанов.
Считывание нот
Сперва нужно определить — нажата клавиша пианино или нет.
Старинные музыкальные инструменты используют довольно сложные механизмы. Я же могу использовать Arduino и электронные датчики, чтобы определить — нажата клавиша или нет. Например, используя ИК-сенсор или датчик линии. Эти датчики широко используются в мире Arduino для гонок по линии. Они позволяют определить — белый или черный цвет поверхности под ними.
Идея следующая. Пусть один ИК-датчик представляет собой одну ноту и клавишу пианино. Имеется несколько датчиков. Под датчик помещается лист бумаги, разделенный на параллельные дорожки. Дорожки состоят из черных и белых областей. Лист начинает движение относительно датчиков. Если на дорожке под датчиком находится черная область, то клавиша нажата. Если белая область — клавиша отжата. В момент, когда клавиша переходит из освобожденного состояния в нажатое — нота начинает звучать. Звук удерживается, пока область под датчиком остается черной.
Используя несколько датчиков линии одновременно, можно создать своего рода электронную клавиатуру пианино, где каждый сенсор соответствует своей клавише и ноте. Располагая черные и белые области на листе определенным образом и перемещая лист с нужной скоростью, можно получить последовательность нот музыкального произведения.
Я сделал клавиатуру, состоящую из 40 клавиш. Для этого я использовал пять модулей Octoliner. Модуль Octoliner — это восьмиканальный датчик линии. Каждый модуль имеет восемь оптопар TCRT5000 и может быть использован для 8 различных клавиш пианино. Модуль управляется по шине I2C, и его легко связать с Arduino.
Я разместил пять модулей последовательно, чтобы создать единую обширную линейную матрицу из 40 (5×8) датчиков. Вы можете сделать клавиатуру из меньшего количества клавиш, или сделать полноразмерную клавиатуру пианино с 88 клавишами. Я выбрал 40, потому что это примерно половина всех клавиш на реальном инструменте.
Ардуино как миди устройство
Для считывания сигналов со всех линейных датчиков я использую Arduino. Однако датчики способны только информировать Arduino, нажата ли клавиша или отпущена. Чтобы в конце получить звук, нужно превратить Arudino в MIDI-устройство.
MIDI это универсальный цифровой стандарт записи для обмена данными между различными музыкальными инструментами. MIDI-устройства обмениваются сообщениями. Эти сообщения содержат информацию о нажатых клавишах, их громкости и тональности.
Arduino способна переводить данные о нажатых клавишах в MIDI-сообщения. Я выбрал плату Arduino, которая способна эмулировать USB HID-устройство. Передавая MIDI-сообщения через USB-порт, Arduino превращается в настоящую электронную клавиатуру пианино. С USB MIDI устройством, я смогу извлечь звук — используя синтезатор просто подключив Arduino к USB-порту компьютера.
Выбор пал на плату Arduino MKR ZERO. Она способна эмулировать USB HID из коробки. Плата очень производительная, а ее большой объем флэша идеально подойдет для хранения пресетов кучи музыкальных композиций. Также я использовал обычную тактовую кнопку для переключения пресетов и знакогенерирующий I2C LCD дисплей 16×2 для отображения текущего пресета.
Конструкция шарманки
Я не буду описывать всю конструкцию подробно. Шарманка делалась с первого раза и наугад. Только ради эксперимента. Здесь довольно много деталей, проще взглянуть на 3D-модель и спецификацию. Для изготовления деталей я использовал оргстекло, лазерную резку, 3D-печать, а также материалы и механику, которые у меня были дома.
- Barrel piano BOM;
- СAD 3D model.
Условно я разделил конструкцию на две основные части и назвал их «выпрямитель» и «съемник». Обе части крепятся к опорной плите. Выпрямитель крепится к основанию с помощью стоек M3 длиной 65мм, а съемник — с помощью напечатанных на принтере уголков. Крепеж не показан на сборках, но есть в спецификации.
Сборка выпрямителя
Выпрямитель выравнивает бумажный музыкальный лист с нотами перед чтением, и на нем установлены датчики линии. Лист для сорока датчиков вышел широким. Такой лист может гнуться и рваться во время движения. Каждая нотная дорожка на листе должна находиться прямо под соответствующим оптроном. Поэтому нотный лист должен быть выровнен перед считыванием.
Выпрямитель собран из нескольких пластин. Бумажный лист зажат между основанием и крышкой. Между крышкой и листом сделан небольшой зазор в 1-2 мм, чтобы лист не закусывало при движении. По бокам установлены две направляющие пластины. Пять модулей датчиков линии установлены на пластине на определенной высоте над листом и крепятся к основанию четырьмя стойками 6мм.
Сборка съемника
Эта часть предназначена для подачи листа. Она тянет лист из выпрямителя.
На валах установлены четыре колеса с резиновыми кольцами. Они плотно зажимают нотный лист. Вращаясь, эти колеса вытягивают считанный лист из выпрямителя. Съемник фиксируется на опорной плите уголками. Съемник состоит из трех пластин оргстекла и трех 6мм валов между ними. Валы закреплены в пластинах фланцевыми подшипниками F626ZZ. Подшипники зафиксированы с помощью напечатанных крышек.
Валы вращаются маховиком через ременную передачу. Я использовал 2GT ремень без натяжения. Замкнутый ремень шириной 6мм с 250 зубьями. Такие ремни и шкивы для них распространены в хобби-станках с ЧПУ и 3D-принтерах, поэтому их легко найти и купить. Малый шкив — купленный GT2 20 6 B6.
Больший шкив самодельный, изготовлен лазерной резкой из оргстекла. Он состоит из 4 пластин толщиной 2 и 4 мм и алюминиевого фланца на вал 6мм.
Маховик состоит из пластины оргстекла, подшипника F625ZZ, фланца на вал 6мм и напечатанной рукоятки. Подшипник запрессован на рукоятке и зафиксирован в пластине напечатанной крышкой.
Колеса, тянущие лист, тоже сборные. Каждое колесо состоит из 4 пластин, толщиной 3 и 2мм, и фланца на вал 6мм. На пластины натянуто резиновое уплотнительное кольцо. Я использовал обычное уплотнительное кольцо ГОСТ 9833 050-060-58.
Экранирование оптопар
В шарманке много оптопар, и они расположены очень близко друг к другу. При одновременной работе множества сенсоров их сигналы могут многократно отражаться и пересекаться друг с другом, что приведет к значительным погрешностям в полученных данных.
Я решил максимально избавиться от помех, и экранировал каждую оптопару колпачком. Колпачки которые подходят к оптопарам TCRT5000 очень маленькие, напечатал их на фотополимернике.
Перевод нотного листа
Подготовка нотного листа — это, пожалуй, самое утомительное занятие, особенно если не знаком с музыкальной нотацией.
Итак, один датчик линии имеет 8 каналов, отвечающих за считывание 8 нот. Длина датчика составляет 80мм. Поместив 5 модулей рядом, я получаю общую длину в 400мм. Добавлю еще 5мм свободного места по краям. Таким образом, общая ширина нотного листа равна 410 мм.
Ширина одной нотной дорожки равна ширине одной оптопары и составляет 5,8мм. Расстояние между оптронами на датчике — 4,2 мм. Такое же расстояние между нотными дорожками на листе.
Ноты делятся по длительности, где длительность — это доля такта. Нота может быть целой, половиной, четвертой, восьмой, шестнадцатой итд. За основу я беру длительность шестнадцатой ноты, и назначаю ей высоту 10мм на листе. Теперь весь лист может быть разлинован горизонтальными линиями с интервалом 10мм, так как это минимальный шаг. Черный прямоугольник размером 10х5,8мм на дорожке даст звук длительностью шестнадцатой ноты. Прямоугольник высотой 20мм — это восьмая, 40мм — четвертая, 80мм — половина, 160мм — целая.
В формате MIDI каждая нота фортепианной клавиатуры имеет свой уникальный номер. Эти номера будет присвоены каналам датчиков линии. При транскрипции для себя я сформировал несколько шагов, чтобы не запутаться. Покажу на примере простой мелодии «дождь дождь уходи» (с) www.teaching-children-music.com.
- Смотрим на все ноты, которые используются в музыкальном произведении, и записываем их MIDI номера в порядке возрастания. Эта мелодия использует только три ноты первой октавы: E, G и A. Нота E первой октавы имеет MIDI-номер 64, G имеет номер 67, а A имеет номер 69.
- Присваиваем MIDI-номера каналам датчика линии. Например, я назначаю на первый канал номер 64, второй канал номер 67 и на третий номер 69.
- Смотрим на размер произведения. Эта мелодия имеет размер 2/4. Это означает, что длина от одного такта до другого равна двум нотам с четвертой длительностью. Таким образом, высота одного такта на листе равна 40мм (2*80 мм). Полная мелодия имеет 4 такта, и я могу разместить все тактовые линии.
- Переводим произведение. Закрашиваем прямоугольные черные области на листе в соответствии с длительностью нот.
- Правим нотный лист и удаляем помарки. Например, эта мелодия имеет две одинаковые восьмые ноты, которые звучат последовательно во втором, третьем и четвертом тактах. На переведенном фрагменте эти две восьмые ноты слились в единую четвертую ноту. Их необходимо разделить, слегка укоротив длительность первой ноты. Для этого уменьшаем высоту первого прямоугольника, обеспечив пустой белый зазор.
Переведенная музыка
Вся нотная запись получилась слишком длинной, чтобы физически поместиться на одном бумажном листе. Чтобы уместить все ноты, я распечатал их частями на нескольких листах А1. Затем обрезал края листов до нужной ширины и последовательно склеивал их в один большой рулон. Всего я попробовал перевести три музыкальных отрывка.
- «Hedwig’s Theme» из Гарри Поттера а аранжировке Patrick Piesman.
Используемые MIDI ноты:
41, 42, 43, 45, 48, 49, 50, 52
54, 55, 56, 58, 59, 60, 61, 62
63, 64, 65, 66, 67, 68, 69, 70
71, 72, 73, 74, 75, 76, 77, 78
79, 80, 81, 82, 83, 84, 85, 86 - «The Black Pearl» из Пиратов карибского моря в аранжировке Klaus Badelt.
Используемые MIDI ноты:
31, 33, 34, 36, 38, 40, 41, 43
45, 46, 48, 50, 52, 53, 55, 57
58, 59, 60, 61, 62, 63, 64, 65
66, 67, 68, 69, 70, 71, 72, 73
74, 76, 77, 79, 81, 82, 85, 86 - Оригинальная первая часть «The Entertainer» Джоплина.
Используемые MIDI ноты:
43, 44, 45, 47, 48, 50, 51, 52
53, 54, 55, 56, 57, 58, 59, 60
62, 63, 64, 65, 67, 69, 71, 72
74, 76, 77, 78, 79, 81, 83, 84
86, 87, 88
Прикладываю ссылки на оригинальные фортепианные ноты, на мои переведенные ноты для шарманки и пустой линованный CAD-лист формата А1, который может пригодиться для ваших переводов.
- Перевод для шарманки «Hedwig’s Theme»
- Перевод для шарманки «The Black Pearl»
- Перевод для шарманки «The Entertainer»
- Исходник «Hedwig’s Theme»
- Исходник «The Black Pearl»
- Исходник «The Entertainer»
- Линованный лист CAD
XOD и библиотеки
Для прошивки Arduino я использую визуальную среду программирования XOD. Я часто использую XOD в своих проектах, и этот не исключение. Тем более, что все необходимые для проекта библиотеки уже созданы пользователями.
amperka/octoliner
— библиотека от производителя для работы с восьмиканальным датчиком линии. Она содержит все необходимые ноды для быстрого начала работы с датчиком, а также некоторые ноды расширенного функционала, такие как настройка яркости/чувствительности оптронов или изменение адреса I2C.
e/midi
e/usb-midi
e/serial-midi
Это крутые пользовательские библиотеки XOD позволяющие работать с MIDI-форматом. Библиотека e/midi
используется для создания MIDI-сообщений. С помощью библиотек e/serial-midi/
и e/usb-midi/
можно обмениваться MIDI-сообщениями через последовательный интерфейс или USB-порт Arduino.
Главный патч проекта находится в библиотеке gabbapeople/barrel-organ/
Патч проекта
Патч шарманки начинается с инициализации датчиков. Для инициализации устройств датчиков используются quickstart ноды octoliner
из библиотеки amperka/octoliner
. Каждое устройство имеет свой адрес I2C. Адрес датчика линии можно изменить, используя пример в библиотеке amperka/octoliner
. Для каждого датчика нода set-brightness
устанавливает значение яркости ИК-излучателей равное 1
. Затем нодой set-sensitivity
устанавливается чувствительность ИК-приемников равная 0,9
. Для пяти устройств выведены отдельные шины DEV1
, DEV2
, DEV3
, DEV4
, DEV5
. Нода usb-midi-device
создает и хранит экземпляр пользовательского типа MIDI
, используемого для генерации и отправки MIDI-сообщений. При подаче питания происходит задержка в 1 секунду. После инициализации параметров всех сенсоров нода gate
начинает пропускать через себя непрерывные импульсы.
В программе есть счетчик пресетов. Каждый пресет соответствует определенному набору MIDI нот назначенных на каналы датчиков линий. Пресеты переключаются с кнопкой и нодой track-charger
. На дисплее text-lcd-i2c-16x2
отображается, какой пресет активен в данный момент.
Далее идет нода keyboard
. Эта нода принимает в себя шины всех датчиков, шину MIDI
, а также текущее значение счетчика пресетов.
Нода клавиатуры
Нода keyboard
составная и очень большая, это сердце устройства. Структура ноды начинается с шин сенсоров и значения текущего пресета.
Затем следуют пять нод octoliner-read-channels
. Одна такая нода считывает восемь аналоговых сигналов от восьми оптронов на датчике. Сигналы считываются последовательно и оцифровываются по простой формуле. Если сигнал >=0,7
, то клавиша нажата; если нет, то она отпущена. Суммарно ноды octoliner-read-channels
имеют 40 выходных пинов пронумерованных от CH0
до CH7
и выводят в них 40 булевых значений.
Далее следует выбор MIDI номера ноты исходя из пресета. Один канал может соответствовать разным нотам. Выбор ноты для конкретного канала зависит от текущего пресета. Нода note-switcher
выбирает нужный MIDI-номер в зависимости от номера пресета. За каждой нотой закреплена шина с уникальным именем, например — 48_1
, где первое значение это номер MIDI, а второе значение номер пресета. Логические ноды xor
отсекают неиспользуемые шины.
Отсортированные шины MIDI номеров поступают в ноды octave
. Всего я сделал шесть «октавных» нод от 1 до 6. Эти ноды соответствуют шести октавам настоящего фортепиано. Каждая нода octave
состоит из двенадцати входных булевых пинов для двенадцати MIDI номеров нот. Например, для четвертой октавы входными пинами будут MIDI номера 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71. При изменении значения на любом из входных пинов, нода octave
генерирует и отправляет MIDI-сообщение через USB-порт.
Вывод звука
Шарманку можно подключить к любому синтезатору с USB. Например, можно подключить её к компьютеру c ОС Windows и использовать Synthesia. Или подключите её к малине и использовать QjackCtl & Qsynth.
Датчик ардуино для движения робота по черной линии
Представленный датчик предназначен для реализации классической задачи любительской робототехники – следование робота вдоль линии, для чего требуется надежно отличать темную поверхность от светлой. Данное устройство (модель TCRT5000) приобретено на Али за 1 доллар.
Датчик поставляется в антистатическом пакете. Конструктивно данный модуль это печатная плата, на которой располагается излучатель и приемник инфракрасного излучения, разделенные перегородкой исключающей прямую засветку приемника. Габариты модуля 37 х 13 х 16 мм, масса 2,4 г. Для крепления на плате имеется отверстие диаметром 3 мм.
Для того, что бы осуществлять регулирование чувствительности датчика на плате имеется подстроечный резистор. На плате располагаются два зеленых светодиода один – индикатор питания, другой загорается при срабатывании датчика. При напряжении питания 5 В потребляемый модулем ток составляет около 26 мА в дежурном режиме и 30 мА при срабатывании. При напряжении питания 3,3 В эти значения составляют 15,5 мА и 17 мА соответственно.
На модуле имеется четырех контактный разъем:
- «Vcc»– питание +5В,
- контакт «GND» — общий,
- «A0» — аналоговый выход,
- «D0» — цифровой выход.
При напряжении питания 5 В на лист белой бумаги датчик реагирует с расстояния 7-8 см, считая от уровня платы. Черную матовую поверхность (бокс CD-диска) датчик обнаруживает с расстояния 2,5 см.
При напряжении питания 3,3 В на белую бумагу датчик реагирует с расстояния 4,5 см, на черный матовый бокс диска с 1,5 см.
Факт срабатывания легко установить по моменту зажигания светодиода на плате датчика или используя для этих целей программу LED_with_button [1].
Как понял автор обзора аналоговый выход на данном устройстве это формальность на нем всегда или высокий или низкий уровень. В этом можно убедиться с помощью программы AnalogInput2
В целом неплохой простой и дешевый датчик, который в целом повторяет датчик KY-033 [3] или аналогичный датчик от Амперки [4], но при этом он не является частью большого комплекта как первый и стоит на порядок дешевле второго.
Полезные ссылки
- http://robocraft.ru/blog/arduino/57.html
- http://robocraft.ru/blog/arduino/59.html
- http://2shemi.ru/opticheskie-datchiki-dlya-arduino
- http://2shemi.ru/analogovyj-datchik-linii
Архив с прошивкой качайте тут. Специально для сайта 2 Схемы.ру — Denev.
Подключение компонентов
Подключение на макетке
Макетка – она же макетная плата или брэдборд (breadboard) – самый удобный способ создания макетов и прототипов электронных устройств. Контакты в макетке соединяются вот таким образом:
В макетку втыкается Arduino Nano, модули, соединяются проводами – и готово. Крайние длинные линии позволяют распараллелить линию питания от пинов 5V и GND для всех модулей.
Подключение питания
Все модули подключаются очень похожим образом: питание и сигнальные пины. Питание состоит из “плюса” и “минуса”, точнее из питания (+5 или +3.3 Вольта) и общего провода (GND, земля, COM). На модулях они могут быть обозначены так:
- Питание (5V, 3.3V, 3V3, Vin, VCC, +)
- Общий (GND, COM, G, -)
Как определить, на какое напряжение рассчитан датчик, 3.3V или 5V, если это не указано явно (например VCC)? Читать описание к датчику или смотреть примеры. Подавляющее большинство Ардуино-модулей рассчитаны на питание от 5V, а некоторые имеют на борту свой стабилизатор питания. Если модуль нужно питать именно от 3.3V, то можно подключить его к выходу 3V3 платы Arduino.
Далее рассмотрим подключение сигнальных пинов.
Распиновка платы
Плата Arduino Nano имеет пины, подписанные как Dцифра и Aцифра, буквы олицетворяют базовые возможности пинов – цифровые и аналоговые. Но помимо этого у пинов есть и другие функции, для их определения используется распиновка (pinout) платы. Рассмотрим упрощённую распиновку, где рассмотрены самые важные для подключения датчиков ноги:
- GPIO – базовый порт ввода-вывода. Может читать и выдавать цифровой сигнал (только 0 и 5 Вольт).
- PWM – может аппаратно генерировать ШИМ сигнал.
- ANALOG – пин АЦП, аналогово-цифрового преобразователя. Может измерять напряжение.
- UART – выводы аппаратного UART для подключения модулей с таким же интерфейсом.
- I2C– выводы аппаратной шины I2C для подключения модулей с таким же интерфейсом.
- SPI – выводы аппаратной шины SPI для подключения модулей с таким же интерфейсом.
Простые цифровые датчики
К простым цифровым можно отнести любые датчики, имеющие пин с логическим выходом, то есть напряжение на этом пине может быть только 0 или 5 Вольт в зависимости от показания датчика. Это например ИК датчик движения, кнопка, датчик линии, энкодер, а также практически все остальные датчики с пинами питания и выходом, помеченным как DO, OUT или S.
Такие модули подключаются в любые GPIO пины.
Аналоговые датчики
К аналоговым относятся модули и датчики, сигнал с которых выходит в виде напряжения от 0 до 5 Вольт, но меняется “плавно” в зависимости от показания с датчика. Это например микрофон, термистор, фоторезистор, датчик влажности, потенциометр и прочее. Многие аналоговые датчики имеют пины, подписанные так же, как цифровые. Как отличить цифровой датчик от аналогового? Либо по описанию, либо методом “тыка” – подключить в аналоговый пин и вывести сигнал. Некоторые модули имеют цифровой и аналоговый выход одновременно (датчики звука, линии, холла и некоторые другие), пины у них обычно подписаны как DO – цифровой выход и AO – аналоговый. Также аналоговый выход может быть маркирован как OUT или S.
Такие модули подключаются в любые ANALOG пины.
“Умные” датчики, шина
Некоторые датчики имеют цифровой выход, но выдают не просто 0 и 5V, а передают данные по цифровому интерфейсу связи. Сигнальные пины таких датчиков могут быть подписаны как SCK, SDA, SCL, MISO, MOSI, SS и прочими аббревиатурами. Для работы с такими датчиками нужно обязательно смотреть примеры или документацию. По сути любой такой датчик можно подключить на любой GPIO пин и программно эмулировать нужный интерфейс связи, что сложно и будет отбирать лишнее процессорное время. Arduino Nano поддерживает несколько интерфейсов аппаратно, то есть позволяет работать с ними очень быстро и эффективно, но подключать такие железки нужно будет в строго отведённые для этого пины.
UART
UART – пины D0 (RX) и D1 (TX). По нему чаще всего подключаются Bluetooth, GPS и GSM модули. В общем случае поддерживает подключение только одного модуля. Пины на модуле называются обычно RX и TX. Подключение к модулю осуществляется “наоборот” – RX->TX и TX->RX, так как RX принимает сигналы (Receiver), а TX – передаёт (Transmitter). Для подключения нескольких UART модулей или одновременной работы модуля и “монитора порта” используют программный UART при помощи встроенной библиотеки SoftwareSerial.
I2C
I2C – пины A4 (SDA) и A5 (SCL). Данный интерфейс является шиной, то есть к нему можно подключить параллельно сразу несколько (до 128) устройств с уникальными адресами, смотрите пример на картинке с макеткой в этом уроке.
Варианты маркировки и подключение к аппаратному I2C:
- A4 SDA (D) – линия данных, Serial DAta
- A5 SCL (C, SCK) – линия синхронизации, Serial CLock
SPI
SPI – пины D11 (MOSI), D12 (MISO) и D13 (SCLK), иногда добавляется D10 (SS). Данный интерфейс также является шиной, причём высокоскоростной, и поддерживает подключение по сути неограниченного количества модулей: у модуля есть пин CS (Chip Select), который прижимается микроконтроллером к GND для выбора данного модуля в качестве устройства приёма и передачи данных в текущий момент. SPI – очень распространённый и простой интерфейс, очень часто датчики и модули подключают к любым GPIO пинам и используют программную отправку и приём данных через встроенные функции shiftIn() и shiftOut(). “Сложные” датчики и датчики с большим объёмом и высокой скоростью передаваемых данных (карта памяти, NFC модуль) нужно подключать к аппаратной шине SPI микроконтроллера.
Варианты маркировки и подключение к аппаратному SPI:
- D11 MOSI (SDI, DI, DIN, SI) – линия данных от Ардуино к модулю
- D12 MISO (SDO, DO, DON, SO) – линия данных от модуля к Ардуино
- D13 SCLK (SCK, CLK, SPC) – линия синхронизации
- D10 SS (SCK, CLK, SPC) – используется в случаях, когда Ардуино является “датчиком”
- GPIO CS (SS, RCK) – выбор текущего модуля прижатием этого пина к GND
Управление активной нагрузкой
Тут важно запомнить одну важную вещь: нагрузку мощнее 40 мА к пину подключать нельзя! Всё что требует больше – нужно подключать через гасящий резистор (например светодиод, пищалка, и т.д.) или коммутировать через реле или силовой ключ (мотор, светодиодная лента, клапан), и управлять коммутацией логическим сигналом с пина GPIO. Подробнее читайте в уроке.
Связанные урокиКЛУБ РОБОТОТЕХНИКИ: Зона Ардуино: Движение по линии
На прошлом уроке, мы отработали создание и отладку скетча движения робота по квадрату и прямоугольнику, теперь рассмотрим движение по линии. В нашем роботе установлены три датчика линии, два электро-мотора, сервомотор, ультразвуковой дальномер. Для решения данной задачи нам потребуются кроме контроллера три датчика линии
и два электромотора. В общем алгоритм движения заключается в следующем:
- Если центральный датчик находится на линии, а боковые вне линии, то машинка едет прямо.
- Если левый датчик находится на линии, а правый вне линии, то машинка поворачивает налево (независимо от показаний центрального датчика)
- Если правый датчик находится на линии, а левый вне линии, то машинка поворачивает направо (независимо от показаний центрального датчика)
- Если правый и левый датчики находятся на линии (вне зависимости от показаний центрального датчика), то такое состояние является неопределённым, машинка начинает движение назад.
- Если все три датчика находятся вне линии, то такое состояние является неопределённым (потеря линии). то машинка сразу остановится.
Можно рассмотреть алгоритм управления с использованием «черного ящика» и таблицы состояний управляющих сигналов, где А,В,С сигналы аналоговых датчиков линий переведенные в дискретную форму 1 — есть линия, а 0 нет линии. М1, М2 электромоторы с фиксированной заданной частотой вращения, но 1 движение мотора вперед, а 0 соответственно назад.
Тогда логическая формула управления мотором примет вид:
M1 = noA&B&C or noA&B&noC or noA&noB&C, упростив получим — M1 = noA&C
M2 = A&B&noC or A&noB&noC or noA&B&noC, упростив получим — M2 = A&noC
Для перевода аналогового сигнала в дискретный, необходимо получить пороговые значения по достижению которого сигнал будет 1 или 0. Такое преобразование выполняется при сравнении полученного сигнала с пороговым после чего ему нужно присвоить значение 1 или 0.Пороговые значения получаются калибровкой датчика — сравнением двух контрастных условий срабатывания. Такая операция может проводиться вручную, при отладки программы или автоматически если будет написан соответствующий алгоритм.
Робот следящего за линией Arduino — Arduino Project Hub
Робот следящего за линиейЛучший и быстрый поставщик печатных плат (2 доллара за 10 печатных плат) https://jlcpcb.com
YouTube
Датчик приближения — это датчик, способный обнаруживать наличие близлежащих предметов без какого-либо физического контакта. Датчик приближения часто излучает электромагнитное поле или луч электромагнитного излучения (например, инфракрасного) и отслеживает изменения поля или обратного сигнала.
Концепции повторителя линииПринцип работы повторителя линии связан со светом.Мы используем здесь поведение света на черно-белой поверхности. Когда свет падает на белую поверхность, он почти полностью отражается, а в случае черной поверхности свет полностью поглощается. Такое поведение света используется в при создании робота-следящего за линией .
В этом роботе-повторителе линии на базе Arduino мы использовали ИК-передатчики и ИК-приемники, также называемые фотодиодами. Они используются для отправки и получения света. ИК передает инфракрасный свет. Когда инфракрасные лучи падают на белую поверхность, они отражаются и улавливаются фотодиодами, что вызывает некоторые изменения напряжения.Когда ИК-свет падает на черную поверхность, свет поглощается черной поверхностью, и лучи не отражаются обратно, поэтому фотодиод не получает свет или лучи.
Здесь, в этом роботе-следователе линии Arduino, когда датчик обнаруживает белую поверхность, тогда arduino получает 1 на входе, а когда обнаруживает черную линию, arduino получает 0 на входе.
Описание цепейРобот-повторитель линии Arduino можно разделить на 3 секции: сенсорная секция, секция управления и секция драйвера.
Секция датчиков:
Эта секция содержит ИК-диоды, потенциометр, компаратор (операционный усилитель) и светодиоды. Потенциометр используется для установки опорного напряжения на одном выводе компаратора, а ИК-датчики используются для определения линии и обеспечения изменения напряжения на втором выводе компаратора. Затем компаратор сравнивает оба напряжения и генерирует цифровой сигнал на выходе. Здесь, в этой цепи повторителя линии , мы использовали два компаратора для двух датчиков. LM 358 используется в качестве компаратора.LM358 имеет два встроенных малошумящих операционных усилителя.
Работа робота следящего за линией с использованием ArduinoРабота следящего за линией очень интересна. Робот-следящий за линией обнаруживает черную линию с помощью датчика, а затем отправляет сигнал на Arduino. Затем arduino запускает двигатель в соответствии с выходным сигналом датчиков.
В этом проекте мы используем два модуля ИК-датчиков, а именно левый датчик и правый датчик. Когда левый и правый сенсоры обнаруживают белый цвет, робот движется вперед.
Если левый датчик выходит на черную линию, робот поворачивает налево.
Если правый датчик обнаруживает черную линию, робот поворачивает вправо, пока оба датчика не коснутся белой поверхности. Когда появляется белая поверхность, робот снова начинает двигаться вперед.
Если оба датчика показывают черную полосу, робот останавливается.
******* КУПИТЬ *******Arduino UNO — https://www.gearbest.com/arduino-scm-supplies/pp_311407.html?wid=1433363&lkid=14127045
Full Arduino Комплект проекта — https://www.gearbest.com/development-boards/pp_211518.html?wid=1433363&lkid=14127055
Музыка — https: // bensound.com — Summer
Веб-сайт — https://robocircuits.com
Facebook — https://facebook.com/Robocircuits
Instagram — https://Instagram.com/Robocircuits
Twitter — https: // Twitter. com / Robocircuits
Робот-следящий за линией — Arduino Project Hub
Робот-следящий за линией Понимание схемы и ее компонентов: Компонент 1: ИК-датчики приближения
Принцип работы робота-следящего за линией основан на явление света.Мы знаем, что белый цвет отражает почти весь падающий на него свет, тогда как черный цвет поглощает большую часть света. В случае робота-следящего за линией мы используем ИК-передатчики и приемники, также называемые фотодиодами. Они используются для отправки и получения света. ИК передает инфракрасный свет. Когда инфракрасные лучи падают на белую поверхность, они отражаются и улавливаются фотодиодами, что вызывает некоторые изменения напряжения. Когда ИК-свет падает на черную поверхность, свет поглощается черной поверхностью, и лучи не отражаются обратно, поэтому фотодиод не получает свет или лучи.
Здесь, в этом роботе-повторителе линии Arduino, когда датчик обнаруживает белую поверхность, тогда Arduino получает 1, т. Е. HIGH на входе, а когда обнаруживает черную линию, arduino получает 0, то есть LOW на входе.
Схема подключения для ИК-датчиков приближения:
- ИК-датчик представляет собой трехпроводной датчик, в котором коричневый и черный провод используются для подключения датчика к источнику питания, а красный провод подключается. к нагрузке или Arduino в нашей схеме.
- Нагрузочные провода ИК-датчиков подключаются к контактам 8, 9 и 10, как показано на схеме.
Драйверы двигателя с Н-мостом L298N используются для управления двигателями постоянного тока, поскольку им требуется гораздо больший ток, чем может обеспечить Arduino.
Контроллер двигателя L298N следует конфигурации H-моста, что удобно при управлении направлением вращения двигателя постоянного тока. Другое преимущество использования H-моста заключается в том, что мы можем обеспечить отдельный источник питания для двигателей. Это очень важно, особенно при использовании платы Arduino, где источника питания 5 В просто недостаточно для двух двигателей постоянного тока.
У нас есть клеммы двигателя A и двигателя B. Они подключаются к микроконтроллеру. Двигатель A подключается к клеммам 1 и 2, а двигатель B подключается к клеммам 3 и 4.
Если мы хотим, чтобы левый двигатель вращался в одном направлении, мы подаем импульс высокого уровня на IN1 и импульс низкого уровня на IN2. Чтобы изменить направление, измените импульсы на IN1 и IN2. То же самое и с правым мотором.
Если мы хотим, чтобы левый двигатель вращался в одном направлении, мы прикладываем высокий импульс к IN1 и низкий импульс к IN2.Чтобы изменить направление, измените импульсы на IN1 и IN2. То же самое и с правым мотором.
Управление скоростью также возможно с драйвером двигателя L298N. Все, что нам нужно, это подать сигналы ШИМ (широтно-импульсной модуляции) на контакты включения двигателя. Скорость двигателя будет варьироваться в зависимости от ширины импульсов. Чем шире импульсы, тем быстрее вращается мотор. В Arduino это можно сделать с помощью analogWrite (pinNumber, duration). Контакты на Arduino с ‘~’ поддерживают ШИМ.
Подключение цепей для L298N Драйвер двигателя с Н-мостом:
- Провода двигателя A подключены к клеммам 1 и 2 двигателя L298N, а провода двигателя B подключены к клеммам 3 и 4 двигателя.IN1, IN2, IN3 и IN4 подключены к контактам 2, 3, 4, 7 соответственно.
- Теперь, Motor A и Motor B Enable должны быть подключены к клеммам на Arduino, которые имеют знак ~, чтобы скорость этих двигателей можно было контролировать с помощью PWM. Здесь они были подключены к контактам 5 и 6.
- Другие подключения понятны из схемы.
Шаг 1: Подключите цепь, как показано на схеме.
Шаг 2: Используйте Arduino IDE, чтобы написать свой собственный код.
Шаг 3: Загрузите свой код в Arduino и подключите его к батареям, или вы даже можете использовать блок питания для запуска Arduino.
Шаг 4: Протестируйте его на черной дорожке.
Код и принципиальная схема робота-повторителя Arduino
Робот-повторитель линии — очень простой робот, который следует по линии, будь то черная или белая линия. Этот тип роботов очень прост в сборке и часто является первым выбором для новичков, которые только начинают заниматься робототехникой.По сути, существует два типа роботов-следящих за линией: один — следящий за черной линией, следующий за черной линией, а второй — следящий за белой линией, следующий за белой линией. Следование по линии действительно ощущает линию и следует за ней. Хотя идея кажется простой, но с небольшим количеством доработок, роботы, подобные этому, практически используются во многих приложениях, таких как роботы для управления производственными цехами или складские роботы.
Концепции следящего за линиейКонцепция работы линейного повторителя связана со светом.Мы используем здесь поведение света на черной и белой поверхностях. Когда свет падает на белую поверхность, он почти полностью отражается, а в случае черной поверхности свет полностью поглощается. Такое поведение света используется в при создании робота-следящего за линией .
В этом роботе-повторителе линии на базе Arduino, , мы использовали ИК-передатчики и ИК-приемники, также называемые фотодиодами. Они используются для отправки и получения света. ИК передает инфракрасный свет.Когда инфракрасные лучи падают на белую поверхность, они отражаются обратно и улавливаются фотодиодами, которые вызывают некоторые изменения напряжения. Когда ИК-свет падает на черную поверхность, свет поглощается черной поверхностью, и лучи не отражаются обратно, поэтому фотодиод не получает свет или лучи. Здесь, в этом роботе-повторителе линии Arduino, когда датчик обнаруживает белую поверхность, Arduino получает 1 на входе, а когда обнаруживает черную линию, Arduino получает 0 на входе.
Поскольку робот-последователь Line — интересный проект для начинающих, мы также создали его с использованием других плат для разработки, отличных от Arduino, вы также можете проверить их, используя ссылку ниже, если заинтересованы
Описание цепей
Робот-повторитель линии Arduino можно разделить на 3 секции: сенсорная секция, секция управления и секция драйвера.
Секция датчика:
Этот раздел содержит ИК-диоды, потенциометр, компаратор (операционный усилитель) и светодиоды. Потенциометр используется для установки опорного напряжения на одной клемме компаратора, а ИК-датчики используются для определения линии и обеспечения изменения напряжения на второй клемме компаратора. Затем компаратор сравнивает оба напряжения и генерирует цифровой сигнал на выходе. Здесь, в этой цепи повторителя линии , мы использовали два компаратора для двух датчиков.LM 358 используется в качестве компаратора. LM358 имеет два встроенных малошумящих операционных усилителя.
Контрольная секция:
Arduino Pro Mini используется для управления всем процессом робота-следящего за линией. Выходы компараторов подключены к цифровым контактам 2 и 3 Arduino. Arduino считывает эти сигналы и отправляет команды в схему драйвера ведомому приводу.
Секция водителя:
Секция привода состоит из привода двигателя и двух двигателей постоянного тока.Драйвер двигателя используется для управления двигателями, потому что Arduino не подает на двигатель достаточного напряжения и тока. Итак, мы добавляем схему драйвера двигателя, чтобы получить достаточное напряжение и ток для двигателя. Arduino отправляет команды этому драйверу двигателя, а затем запускает двигатели.
Работа робота-следящего за линией с использованием ArduinoИнтересно создание робота-последователя линии с использованием Arduino . Робот-следящий за линией обнаруживает черную линию с помощью датчика и затем отправляет сигнал в Arduino.Затем Arduino запускает двигатель в соответствии с выходными данными датчиков.
В этом проекте мы используем два модуля ИК-датчиков, а именно левый датчик и правый датчик. Когда левый и правый сенсоры обнаруживают белый цвет, робот движется вперед.
Если левый датчик выходит на черную линию, робот поворачивает влево.
Если правый датчик обнаруживает черную линию, робот поворачивает вправо, пока оба датчика не коснутся белой поверхности.Когда появляется белая поверхность, робот снова начинает двигаться вперед.
Если оба датчика попадают на черную линию, робот останавливается.
Принципиальная схемаПолная принципиальная схема робота-повторителя линии Arduino показана на изображении выше. Как вы можете видеть, выход компараторов напрямую подключен к цифровым контактам 2 и 3 Arduino. А входные контакты 2, 7, 10 и 15 драйвера двигателя подключены к цифровым контактам 4, 5, 6 и 7 Arduino соответственно.И один двигатель подключен к выходному контакту драйверов двигателей 3 и 6, а другой двигатель подключен к контактам 11 и 14.
Описание программыВ программе, прежде всего, мы определили входной и выходной контакты, а затем в цикле мы проверяем входы и отправляем выходные данные в соответствии с входами на выходной контакт для приводного двигателя. Для проверки входного контакта мы использовали операторы «если». Полный код робота-следящего за линией можно найти внизу этой страницы.
В этой строке, следующей за роботом, есть четыре условия, которые мы читаем с помощью Arduino. Мы использовали два датчика, а именно левый датчик и правый датчик.
Ввод | Выход | Механизм роботов | ||||
Левый датчик | Правый датчик | Левый мотор | Правый мотор | |||
LS | RS | LM1 | LM2 | RM1 | RM2 | |
0 | 0 | 0 | 0 | 0 | 0 | Остановка |
0 | 1 | 1 | 0 | 0 | 0 | Поверните направо |
1 | 0 | 0 | 0 | 1 | 0 | Поверните налево |
1 | 1 | 1 | 0 | 1 | 0 | Нападающий |
Мы записываем код линейного повторителя Arduino в соответствии с условиями, указанными в таблице выше.
Необходимые компоненты
Ардуино
В нашем проекте мы использовали микроконтроллер для управления всем процессом системы, которая является ARDUINO. Arduino — это оборудование с открытым исходным кодом, которое очень полезно для разработки проектов. На рынке доступно множество типов arduino, таких как Arduino UNO, arduino mega, arduino pro mini, Lilypad и т. Д. Здесь мы использовали arduino pro mini в этом проекте, так как arduino pro mini маленький и поэтому совместим с макетом.Чтобы записать код Arduino робота-повторителя линии, мы использовали записывающее устройство FTDI.
L293D Драйвер двигателя
L293D — это микросхема драйвера двигателя, которая имеет два канала для управления двумя двигателями. L293D имеет две встроенные пары транзисторов Дарлингтона для усиления тока и отдельный вывод питания для подачи внешнего питания на двигатели.
ИК-модуль:
ИК-модуль — это схема датчика, состоящая из пары ИК-светодиод / фотодиод, потенциометра, LM358, резисторов и светодиода.ИК-датчик передает инфракрасный свет, а фотодиод принимает инфракрасный свет.
Блок питания
Я добавил стабилизатор напряжения, чтобы получить 5 вольт для Arduino, компаратора и драйвера двигателя. А для питания схемы используется 9-вольтовая батарея.
Робот-последователь линии Arduino
Робот-следящий за линией, как следует из названия, представляет собой автоматизированное управляемое транспортное средство, которое следует визуальной линии, нанесенной на пол или потолок.Обычно визуальная линия — это путь, по которому идет робот-последователь линии, и это будет черная линия на белой поверхности, но возможен и другой путь (белая линия на черной поверхности). Некоторые продвинутые роботы-следопыты используют невидимое магнитное поле в качестве своего пути.
Большие роботы-следящие за линией обычно используются в промышленности для поддержки автоматизированного производственного процесса. Они также используются в военных целях, в целях оказания помощи людям, в службах доставки и т. Д.
Робот-последователь линии — один из первых роботов, с которыми новички и студенты получат свой первый опыт работы с роботами.В этом проекте мы разработали простого робота-следящего за линией, используя Arduino и некоторые другие компоненты.
Принципиальная схемаНеобходимые компоненты
- Arduino UNO (или Arduino Nano) [Купить здесь]
- L293D Микросхема драйвера двигателя [Купить]
- Мотор-редукторы x 2
- Шасси робота
- Модуль ИК-датчика x 2
- Черная лента (электроизоляционная лента)
- Соединительные провода
- Блок питания
- Разъем аккумулятора
- Держатель батареи
Примечание : Мы использовали готовый модуль ИК-датчика, который состоит из ИК-светодиода и фотодиода.Если у вас его нет, мы объяснили, как построить его самостоятельно.
Блок-схема проекта
Робот-последователь линии, построенный в этом проекте, разделен на 4 блока. На следующем изображении показана блок-схема робота-следящего за линией.
Описание блок-схемы
Датчики (ИК-датчик) : Мы использовали модуль ИК-датчика в качестве датчика обнаружения линии для проекта. Он состоит из ИК-светодиода, фотодиода и некоторых других компонентов, таких как компаратор, светодиод и т. Д.
Как упоминалось ранее, мы использовали предварительно собранный ИК-датчик. Если у вас его нет, вы можете сделать свой собственный датчик, используя следующую схему.
Работа ИК-датчика и его объем в этом проекте будут объяснены в реальной работе робота-следящего за линией.
Контроллер (Arduino UNO) : Arduino UNO является основным контроллером в проекте. Данные от датчиков (ИК-датчики) будут переданы в Arduino, и он подаст соответствующие сигналы на микросхему драйвера двигателя.
Драйвер двигателя (L293D) : ИС драйвера двигателя L293D используется в этом проекте для управления двигателями робота. Он принимает сигналы от Arduino на основе информации от ИК-датчиков.
Примечание : Электропитание двигателей должно подаваться от микросхемы драйвера двигателя. Следовательно, выберите соответствующий источник питания, которого достаточно для всех компонентов, включая двигатели.
Моторы (мотор-редукторы) : Мы использовали два мотор-редуктора в задней части робота-следящего за линией.Эти двигатели обеспечивают больший крутящий момент, чем обычные двигатели, и могут также использоваться для несения некоторой нагрузки.
Работа робота-повторителя линии Arduino
В этом проекте мы разработали робота-следящего за линией на базе Arduino. Работа с проектом довольно проста: найдите черную линию на поверхности и двигайтесь по ней. Подробная работа объясняется здесь.
Как указано на блок-схеме, нам нужны датчики для обнаружения линии. Для логики обнаружения линии мы использовали два ИК-датчика, которые состоят из ИК-светодиода и фотодиода.Они размещены таким образом, чтобы они отражали свет, то есть бок о бок, так что всякий раз, когда они приближаются к отражающей поверхности, свет, излучаемый ИК-светодиодом, будет обнаружен фотодиодом.
На следующем изображении показана работа типичного ИК-датчика (пара ИК-светодиод — фотодиод) перед светлой поверхностью и черной поверхностью. Поскольку коэффициент отражения световой поверхности высок, инфракрасный свет, излучаемый ИК-светодиодом, будет максимально отражаться и обнаруживаться фотодиодом.
В случае черной поверхности, которая имеет низкий коэффициент отражения, свет полностью поглощается черной поверхностью и не достигает фотодиода.
Используя тот же принцип, мы настроим ИК-датчики на роботе-следящем за линией так, чтобы два ИК-датчика находились по обе стороны от черной линии на полу. Схема показана ниже.
Когда робот движется вперед, оба датчика ждут, пока линия не будет обнаружена. Например, если ИК-датчик 1 на изображении выше обнаруживает черную линию, это означает, что впереди есть правый изгиб (или поворот).
Arduino UNO обнаруживает это изменение и соответственно отправляет сигнал драйверу двигателя. Чтобы повернуть направо, двигатель с правой стороны робота замедляется с помощью ШИМ, в то время как двигатель с левой стороны работает с нормальной скоростью.
Аналогичным образом, когда ИК-датчик 2 первым обнаруживает черную линию, это означает, что впереди есть левый поворот, и робот должен повернуть налево. Чтобы робот повернул налево, двигатель на левой стороне робота замедляется (или может быть полностью остановлен или может вращаться в противоположном направлении), а двигатель на правой стороне работает с нормальной скоростью.
Arduino UNO непрерывно отслеживает данные с обоих датчиков и поворачивает робота в соответствии с обнаруженной ими линией.
Код
Примечание :
- Для повышения эффективности обнаружения черной линии количество датчиков может быть увеличено. Набор датчиков будет более точным, чем просто два датчика.
- В этом проекте (где используются два датчика) очень важно расположение датчиков. Ширина черной линии играет важную роль при размещении датчиков.
- Датчик для обнаружения линии также может быть сконструирован с использованием пары светодиодов и LDR.
Применение робота-следящего за линией
- Следящие за линией роботы обычно используются для автоматизации процессов в промышленности, военном и потребительском секторах.
- Они очень полезны, так как могут работать без какого-либо надзора, т.е. они работают как транспортные средства с автоматическим управлением.
- Благодаря дополнительным функциям, таким как предотвращение препятствий и другие меры безопасности, роботов-следящих за линией можно использовать в автомобилях без водителя.
Конструкция и выходное видео
Это стартовый комплект, который появился, когда движению робота уделяется высокий приоритет. Он следует по визуальному пути линии, и некоторые продвинутые роботы-последователи линии используют невидимое магнитное поле в качестве своего пути.
Как вам известно, применение роботов в военных, промышленных и бытовых целях, пользующихся большим спросом. Мы предложили набор роботов Arduino , который удовлетворит все ваши желания.Взгляните на эти наборы роботов Arduino, которые имеют широкий спектр приложений и доступны по очень низким ценам.
Если у вас есть сомнения, поделитесь с нами в разделе комментариев ниже. Мы очень рады быстро ответить.
Рекомендуем прочитать:
Поставщики и ресурсы беспроводной связи RF
О мире беспроводной связи RF
Веб-сайт RF Wireless World является домом для поставщиков и ресурсов радиочастотной и беспроводной связи. На сайте представлены статьи, руководства, поставщики, терминология, исходный код (VHDL, Verilog, MATLAB, Labview), тестирование и измерения, калькуляторы, новости, книги, загрузки и многое другое.
Сайт RF Wireless World охватывает ресурсы по различным темам, таким как RF, беспроводная связь, vsat, спутник, радар, волоконная оптика, микроволновая печь, wimax, wlan, zigbee, LTE, 5G NR, GSM, GPRS, GPS, WCDMA, UMTS, TDSCDMA, Bluetooth, Lightwave RF, z-wave, Интернет вещей (IoT), M2M, Ethernet и т. Д. Эти ресурсы основаны на стандартах IEEE и 3GPP. В нем также есть академический раздел, который охватывает колледжи и университеты по инженерным дисциплинам и MBA.
Статьи о системах на основе Интернета вещей
Система обнаружения падений для пожилых людей на основе Интернета вещей : В статье рассматривается архитектура системы обнаружения падений, используемой для пожилых людей.В нем упоминаются преимущества или преимущества системы обнаружения падений Интернета вещей.
Читать дальше➤
Также обратитесь к другим статьям о системах на основе Интернета вещей следующим образом:
• Система очистки туалетов самолета.
• Система измерения столкновений
• Система отслеживания скоропортящихся продуктов и овощей
• Система помощи водителю
• Система умной торговли
• Система мониторинга качества воды.
• Система Smart Grid
• Система умного освещения на базе Zigbee
• Умная парковка на базе Zigbee
• Система умной парковки на основе LoRaWAN
Статьи о беспроводной радиосвязи
В этом разделе статей представлены статьи о физическом уровне (PHY), уровне MAC, стеке протоколов и сетевой архитектуре на основе WLAN, WiMAX, zigbee, GSM, GPRS, TD-SCDMA, LTE, 5G NR, VSAT, Gigabit Ethernet на основе IEEE / 3GPP и т. Д. .стандарты. Он также охватывает статьи, относящиеся к испытаниям и измерениям, по тестированию на соответствие, используемым для испытаний устройств на соответствие RF / PHY. УКАЗАТЕЛЬ СТАТЬИ ДЛЯ ССЫЛКИ >>.
Физический уровень 5G NR : Обработка физического уровня для канала 5G NR PDSCH и канала 5G NR PUSCH рассмотрена поэтапно. Это описание физического уровня 5G соответствует спецификациям физического уровня 3GPP. Читать дальше➤
Основы повторителей и типы повторителей : В нем объясняются функции различных типов ретрансляторов, используемых в беспроводных технологиях.Читать дальше➤
Основы и типы замирания : В этой статье описываются мелкомасштабные замирания, крупномасштабные замирания, медленные, быстрые и т. Д., Используемые в беспроводной связи. Читать дальше➤
Архитектура сотового телефона 5G : В этой статье рассматривается блок-схема сотового телефона 5G с внутренними модулями 5G. Архитектура сотового телефона. Читать дальше➤
Основы помех и типы помех: В этой статье рассматриваются помехи в соседнем канале, помехи в совмещенном канале, Электромагнитные помехи, ICI, ISI, световые помехи, звуковые помехи и т. Д.Читать дальше➤
5G NR Раздел
В этом разделе рассматриваются функции 5G NR (New Radio), нумерология, диапазоны, архитектура, развертывание, стек протоколов (PHY, MAC, RLC, PDCP, RRC) и т. Д.
5G NR Краткий указатель ссылок >>
• Мини-слот 5G NR
• Часть полосы пропускания 5G NR
• 5G NR CORESET
• Форматы DCI 5G NR
• 5G NR UCI
• Форматы слотов 5G NR
• IE 5G NR RRC
• 5G NR SSB, SS, PBCH
• 5G NR PRACH
• 5G NR PDCCH
• 5G NR PUCCH
• Эталонные сигналы 5G NR
• 5G NR m-последовательность
• Золотая последовательность 5G NR
• 5G NR Zadoff Chu Sequence
• Физический уровень 5G NR
• Уровень MAC 5G NR
• Уровень 5G NR RLC
• Уровень 5G NR PDCP
Учебные пособия по беспроводным технологиям
В этом разделе рассматриваются учебные пособия по радиочастотам и беспроводной связи.Он охватывает учебные пособия по таким темам, как сотовая связь, WLAN (11ac, 11ad), wimax, bluetooth, zigbee, zwave, LTE, DSP, GSM, GPRS, GPS, UMTS, CDMA, UWB, RFID, радар, VSAT, спутник, WLAN, волновод, антенна, фемтосота, тестирование и измерения, IoT и т. Д. См. УКАЗАТЕЛЬ >>
Учебное пособие по 5G — В этом учебном пособии по 5G также рассматриваются следующие подтемы по технологии 5G:
Учебное пособие по основам 5G.
Частотные диапазоны
руководство по миллиметровым волнам
Волновая рама 5G мм
Зондирование волнового канала 5G мм
4G против 5G
Испытательное оборудование 5G
Сетевая архитектура 5G
Сетевые интерфейсы 5G NR
канальное зондирование
Типы каналов
5G FDD против TDD
Разделение сети 5G NR
Что такое 5G NR
Режимы развертывания 5G NR
Что такое 5G TF
В этом руководстве GSM рассматриваются основы GSM, сетевая архитектура, сетевые элементы, системные спецификации, приложения,
Типы пакетов GSM, структура или иерархия кадров GSM, логические каналы, физические каналы,
Физический уровень GSM или обработка речи, вход в сеть мобильного телефона GSM, установка вызова или процедура включения питания,
MO-вызов, MT-вызов, VAMOS, AMR, MSK, модуляция GMSK, физический уровень, стек протоколов, основы работы с мобильным телефоном,
Планирование RF, нисходящая линия связи PS-вызовов и восходящая линия связи PS-вызовов.
➤Подробнее.
LTE Tutorial , охватывающий архитектуру системы LTE, охватывающий основы LTE EUTRAN и LTE Evolved Packet Core (EPC). Он обеспечивает связь с обзором системы LTE, радиоинтерфейсом LTE, терминологией LTE, категориями LTE UE, структурой кадра LTE, физическим уровнем LTE, Стек протоколов LTE, каналы LTE (логические, транспортные, физические), пропускная способность LTE, агрегация несущих LTE, передача голоса по LTE, расширенный LTE, Поставщики LTE и LTE vs LTE продвинутые.➤Подробнее.
RF Technology Stuff
На этой странице мира беспроводной радиосвязи описывается пошаговое проектирование преобразователя частоты RF на примере преобразователя RF UP с диапазоном 70 МГц в C.
для микрополосковой платы с использованием дискретных радиочастотных компонентов, а именно. Смесители, гетеродин, MMIC, синтезатор, опорный генератор OCXO,
колодки аттенюатора. ➤Подробнее.
➤Проектирование и разработка радиочастотного трансивера
➤Конструкция RF-фильтра
➤Система VSAT
➤Типы и основы микрополосковой печати
➤ОсновыWaveguide
Секция испытаний и измерений
В этом разделе рассматриваются контрольно-измерительные ресурсы, испытательное и измерительное оборудование для тестирования DUT на основе
Стандарты WLAN, WiMAX, Zigbee, Bluetooth, GSM, UMTS, LTE.ИНДЕКС испытаний и измерений >>
➤Система PXI для T&M.
➤ Генерация и анализ сигналов
➤Измерения слоя PHY
➤Тест устройства на соответствие WiMAX
➤ Тест на соответствие Zigbee
➤ Тест на соответствие LTE UE
➤Тест на соответствие TD-SCDMA
Волоконно-оптическая технология
Оптоволоконный компонент , основы, включая детектор, оптический соединитель, изолятор, циркулятор, переключатели, усилитель,
фильтр, эквалайзер, мультиплексор, разъемы, демультиплексор и т. д.Эти компоненты используются в оптоволоконной связи.
Оптические компоненты INDEX >>
➤Учебное пособие по оптоволоконной связи
➤APS в SDH
➤SONET основы
➤SDH Каркасная конструкция
➤SONET против SDH
Поставщики, производители радиочастотных беспроводных устройств
Сайт RF Wireless World охватывает производителей и поставщиков различных радиочастотных компонентов, систем и подсистем для ярких приложений, см. ИНДЕКС поставщиков >>.
Поставщики радиочастотных компонентов, включая радиочастотный изолятор, радиочастотный циркулятор, радиочастотный смеситель, радиочастотный усилитель, радиочастотный адаптер, радиочастотный разъем, радиочастотный модулятор, радиочастотный трансивер, PLL, VCO, синтезатор, антенну, генератор, делитель мощности, сумматор мощности, фильтр, аттенюатор, диплексор, дуплексер, микросхема резистора, микросхема конденсатора, индуктор микросхемы, ответвитель, оборудование ЭМС, программное обеспечение для проектирования радиочастот, диэлектрический материал, диод и т. д.Производители RF компонентов >>
➤Базовая станция LTE
➤RF Циркулятор
➤RF Изолятор
➤Кристаллический осциллятор
MATLAB, Labview, встроенные исходные коды
Раздел исходного кода RF Wireless World охватывает коды, связанные с языками программирования MATLAB, VHDL, VERILOG и LABVIEW.
Эти коды полезны для новичков в этих языках.
ИНДЕКС ИСХОДНОГО КОДА >>
➤3-8 декодер кода VHDL
➤Код MATLAB для дескремблера
➤32-битный код ALU Verilog
➤T, D, JK, SR триггеры labview коды
* Общая информация о здоровье населения *
Выполните эти пять простых действий, чтобы остановить коронавирус (COVID-19).
СДЕЛАЙТЕ ПЯТЬ
1. РУКИ: часто мойте их
2. КОЛЕНО: Закашляйтесь
3. ЛИЦО: Не трогай его
4. НОГИ: держитесь на расстоянии более 3 футов (1 м) друг от друга
5. ЧУВСТВОВАТЬ: Болен? Оставайся дома
Используйте технологию отслеживания контактов >>, соблюдайте >> рекомендации по социальному дистанцированию и установить систему видеонаблюдения >> чтобы спасти сотни жизней. Использование концепции телемедицины стало очень популярным в таким странам, как США и Китай, остановить распространение COVID-19, поскольку это заразное заболевание.
RF Беспроводные калькуляторы и преобразователи
Раздел «Калькуляторы и преобразователи» охватывает ВЧ-калькуляторы, беспроводные калькуляторы, а также преобразователи единиц.
Сюда входят такие беспроводные технологии, как GSM, UMTS, LTE, 5G NR и т. Д.
СПРАВОЧНЫЕ КАЛЬКУЛЯТОРЫ Указатель >>.
➤ Калькулятор пропускной способности 5G NR
➤5G NR ARFCN против преобразования частоты
➤Калькулятор скорости передачи данных LoRa
➤LTE EARFCN для преобразования частоты
➤ Калькулятор антенн Яги
➤ Калькулятор времени выборки 5G NR
IoT-Интернет вещей Беспроводные технологии
Раздел IoT охватывает беспроводные технологии Интернета вещей, такие как WLAN, WiMAX, Zigbee, Z-wave, UMTS, LTE, GSM, GPRS, THREAD, EnOcean, LoRa, SIGFOX, WHDI, Ethernet,
6LoWPAN, RF4CE, Bluetooth, Bluetooth Low Power (BLE), NFC, RFID, INSTEON, X10, KNX, ANT +, Wavenis, Dash7, HomePlug и другие.Он также охватывает датчики Интернета вещей, компоненты Интернета вещей и компании Интернета вещей.
См. Главную страницу IoT >> и следующие ссылки.
➤ НИТЬ
➤EnOcean
➤Учебник по LoRa
➤Учебник по SIGFOX
➤WHDI
➤6LoWPAN
➤Zigbee RF4CE
➤NFC
➤Lonworks
➤CEBus
➤UPB
СВЯЗАННЫЕ ЗАПИСИ
RF Wireless Учебники
Датчики разных типов
Поделиться страницей
Перевести страницу
Simple Line Follower с использованием Arduino
Ну, ребята, это один из проектов, который никогда не устареет.Это было первое, что я сделал, когда начал изучать Arduino. Робот-последователь линии Arduino — робот-последователь линии, использующий Arduino UNO и ИК-датчик, который следует линии без взаимодействия с пользователем. Небольшой автономный робот, который будет «видеть» линию, следовать за ней и принимать решение, когда сам видит поворот.
Впервые в робототехнике?
У нас есть руководство для начинающих « Начало работы с робототехникой », которое даст вам хороший старт в этой области. Ознакомьтесь с нашим бесплатным видеоуроком ниже для краткого введения.
Робот-повторитель линии Arduino
В этом уроке мы обсудим работу следующего за линией Arduino робота, который будет следовать за черной линией на белом фоне и делать правильный поворот всякий раз, когда он достигает кривых на своем пути.
Компоненты повторителя линии Arduino
Прежде чем переходить к следующему этапу обучения роботу, давайте познакомимся с используемыми компонентами. Если вы эксперт и знакомы с этими компонентами, вы можете пропустить этот раздел и сразу перейти к руководству и приступить к созданию Arduino Line Follower.
Шасси робота-последователя линии Arduino
Первое, что нужно сделать, это построить шасси для WiFi робота с помощью Arduino. Вы можете построить его так, как вам нравится. Единственное, что вы должны помнить, это то, что в нем должно быть достаточно места для Arduino, драйвера двигателя L293D и батареи LIPO. В нашем проекте я буду использовать LiPo аккумулятор на 12 В. Для основания можно использовать пенопласт, алюминиевый лист или кусок дерева. Это одни из лучших шасси роботов, доступных вам для создания этого проекта.Перейдите по ссылке ниже.
Получите лучшее шасси для роботов в Интернете
Ардуино
Возможно, вы все знакомы с Arduino; которая является наиболее широко используемой и быстро развивающейся электронной платформой с таким количеством плат микроконтроллеров и программного обеспечения. Для нашего робота, следующего за линией, я буду использовать Arduino UNO, которая является наиболее часто используемой платой. Arduino Nano — лучший вариант для начала работы с электроникой и кодированием, если это ваш первый опыт работы с платформой Arduino.Вы можете использовать любую плату Arduino для этого проекта.
ИК-датчик
Как упоминалось ранее, наш робот, следующий за линией, будет следовать за черной линией на белом фоне. Итак, нам нужно что-то, что «увидит» линию и скажет, чтобы последователь линии следовал за линией или повернулся, если он удаляется от линии. Для этого мы будем использовать инфракрасный датчик (инфракрасный) .
Этот ИК-датчик в основном состоит из ИК-передатчика (ИК-светодиода) и ИК-приемника.ИК-светодиод всегда излучает ИК-лучи в том направлении, на которое он указывает. Когда ИК-лучи попадают на поверхность, некоторые лучи будут отражаться обратно в зависимости от цвета поверхности. Это означает, что чем ярче цвет, тем больше инфракрасного излучения будет отражаться обратно. Чем темнее цвет, тем больше инфракрасного излучения будет поглощаться поверхностью и меньше инфракрасных лучей будет отражаться обратно. Эти отраженные лучи воспринимаются инфракрасным приемником, и в зависимости от принимаемых инфракрасных лучей изменяется сопротивление приемника, которое, в свою очередь, будет , изменяет выходное напряжение.Таким образом, можно ощутить цвет поверхности, на которой работает робот, глядя на отраженные ИК-лучи. Таким образом, очень легко измерить яркость поверхности, что позволит нам легко отслеживать линию.
В Интернете есть так много дешевых ИК-датчиков; вы можете приобрести любой из них. Для создания робота-следящего за линией вам понадобится как минимум два из них.
H-мост и драйвер двигателя L293D
H-мостом может быть любая схема переключения, использующая биполярные переходные транзисторы (BJT) или полевые транзисторы (MOSFET или MESFET), которые позволяют подавать напряжение на двигатель постоянного тока без внесения физических или аппаратных изменений в схему.H Мостовые схемы широко используются в области робототехники для переключения направления постоянного тока …
Подробнее »DIY Line Follower Tutorial с Arduino STEM Shield
Arduino-совместимый экран STEM имеет множество функций, таких как датчик температуры, 7-значный дисплей, кнопки, зуммеры и т. Д., Так что вы можете создавать самые разные проекты с помощью одного экрана. И знаете ли вы, что вы можете даже стать последователем линии !? Вы можете сделать это благодаря встроенному датчику освещенности и ИК-светодиоду, которые тактично размещены на отдельной части основной платы, которую вы можете сломать.Таким образом, вы можете установить датчик освещенности и ИК-светодиод в практическом месте вашего проекта слежения за линией.
Другими словами, это руководство идеально подходит для тех, кто хочет создать свой первый последовательный проект с базовым кодом Arduino.
Что такое последователь линии?
Следящий за линией — это тип робота, который самостоятельно следует за белой линией. Тот, который мы будем делать, использует ИК-светодиод, который будет передавать инфракрасный свет, и датчик света, который обнаружит отраженный инфракрасный свет.Инфракрасный свет хорошо отражается на белой или светлой области, но не на темной области. Датчик освещенности проверит, отражается ли ИК-свет. В противном случае это означает, что нет белой линии, и робот будет двигаться по кругу, пока не «найдет» отраженный инфракрасный свет и, следовательно, белую линию. Если свет отражается, робот продолжит движение в направлении белой линии.
В этом проекте мы собираемся использовать комплект робототехники для шасси с приводом на 2 колеса, который включает в себя все механические детали для создания моторизованного автомобиля или робота.Мы покажем вам, как собрать его и подключить к Arduino, плате STEM и плате контроллера мотора.
Код, необходимый для этого проекта Arduino, также представлен в этом руководстве. Итак, приступим!
1. Материал
Состав:
Инструменты:
- USB A — mini B
- клещи для снятия изоляции
- паяльник
- припой
- Трубки термоусадочные
- тепловая пушка или фен
- отвертка плоская
- отвертка philips
- пистолет для горячего клея
2.Сборка линейного повторителя
Во-первых, вам нужно собрать комплект робототехники. У этого комплекта есть собственное руководство, которое вы можете найти здесь: https://www.velleman.eu/downloads/29/vma500a4v01.pdf
Следуйте руководству, но не выполняйте шаг 5!
Когда закончите, роботизированный автомобиль должен выглядеть так:
3. Программирование Arduino и STEM Shield
Еще не знаком с Arduino? Затем посетите их страницу «Начало работы» и узнайте, как программировать свой микроконтроллер.
Загрузите пример кода здесь: https://github.com/Velleman/Tutorials/tree/master/line_follower и сначала загрузите его на свою плату Arduino.
4. Подготовка к подключению
Ознакомьтесь со схемой электрического подключения ниже и используйте ее, выполняя следующие шаги. Пока не паять / подключать! Чтобы уточнить, мы объясним каждый шаг ниже.
5. Подключение электроники и сборка
Комплект робототехники имеет модульное шасси, которое вы можете настроить в соответствии с вашими потребностями.Поскольку он не предназначен для одного конкретного моторного щита, нам придется немного отрегулировать его, чтобы моторный щит, который мы будем использовать, мог на него поместиться. Следовательно, вам нужно будет просверлить дополнительное отверстие 4 мм в шасси , как показано на рисунке. Вы можете использовать моторный щит , чтобы оценить, где должно быть новое отверстие. Он должен быть примерно в 50 мм от другого отверстия, которое мы будем использовать (как показано на рисунке). Совет: используйте сверло по металлу.
Шаг 1: протяните провода от 2 двигателей постоянного тока примерно на 15 см, используя мягкий электрический провод. Не забудьте закрыть соединения термоусадочными трубками!
Шаг 2: отделите линейный датчик от экрана STEM и продлите его с помощью провода 10 см, как показано на рисунке.
Шаг 3: установите 2 распорки на шасси, как показано на рисунке ниже.
Шаг 4: прикрутите Arduino Uno (или совместимую плату) на место.
Шаг 5: вставьте STEM-экран в Arduino.
Шаг 6: проведите провода двигателя через отверстие в корпусе вверх.
Шаг 7: проведите линейный датчик через отверстие в корпусе вниз.
Шаг 8: снова установите 2 короткие проставки на шасси. Они будут удерживать моторную плату.
Шаг 9: установите плату двигателя на распорки.
Шаг 10: подключите провода двигателя к винтовым разъемам на плате двигателя. (проверьте схему подключения)
Шаг 11: припаяйте + провод 9V-защелки к одной стороне переключателя питания, затем припаяйте провод к другой стороне переключателя питания.
Шаг 12: закрепите выключатель питания на корпусе с помощью кабельной стяжки, как показано на рисунке.
Шаг 13: подключите отрицательную сторону 9V защелки и + сторону переключателя питания к плате двигателя (проверьте схему подключения).
Шаг 14: подключите перемычки, идущие от экрана STEM, к плате двигателя. (проверьте схему подключения)
Шаг 15: установите проставку 20 мм на шасси.