3. РОБОТРАФФИК. Датчики линии от набора HUNA подключаем к Freeduino/Arduino KosachenkoSV's blog / 21.08.2014 Продолжение. 1. РОБОТРАФФИК: планируем робота для всероссийских соревнований2. РОБОТРАФФИК: конструируем шасси для робота или "нежно разложенные педагогические грабли" Этим постом начинаю рассказ о создании электронной части нашего робота для регламента Роботраффик.В робототехническом наборе HUNA TOP имеются три датчика линии и мы хотели бы подключить их к контроллеру Freeduino/Arduino. Предстояло разобраться как именно это сделать. Каждый датчик имеет три провода: черный, красный и белый. Мы сразу предположили, что черный провод — «земля» (-5 Вольт?), красный провод - «питание» (+5 Вольт?), белый провод — сигнальный. Датчики могли работать как в цифровом, так и в аналоговом режиме, с параметрами электропитания датчиков тоже было не все понятно, мы только предполагали, что контроллер HUNA совместим с Freeduino/Arduino по уровню питания 5 вольт, а значит и датчики тоже, скорее всего, питаются от 5 вольт. Хорошо, что в отличие от датчиков LEGO в неразборных корпусах, датчики HUNA оказались разборными, для этого нужно было открутить лишь один шуруп, скрытый под этикеткой. Вы часто разбирали игрушки в детстве, чтобы узнать как они устроены? Конечно, при разборке мы могли повредить датчик, но иначе как узнать его устройство? Этикетку мы осторожно отогнули острием канцелярского ножа, открутили шуруп, вскрыли корпус датчика и достали плату. Осмотр платы и изучение надписей на ней показали, что он состоит всего из четырех деталей: инфракрасного светодиода, инфракрасного фототранзистора и двух резисторов номиналами 150 Ом и 2 КилоОма. Это же резистивная схема датчика линии, который ребята уже сами паяли на летней профильной робосмене в ТФТЛ! Фото робота, собранного на робосмене с "самодельным" датчиком, ниже.Ребята уже знали, как работают датчики, собранные по этой схеме, и что подключать их нужно к аналоговому порту Freeduino/Arduino. Таким образом мы выяснили, что датчики линии из набора HUNA работают в аналоговом режиме и их можно подключить к Freeduino/Arduino. Для ориентации робота на поле нами решено было задействовать три датчика линии: один датчик - для определения меток перед знаками и перекрестками и два датчика для отслеживания положения робота относительно черной линии на трассе. Черная линия на трассе Роботраффика широкая - 5 см, поэтому два датчика по нашей задумке должны были постоянно находиться над черной линией. Если при движении робота один из датчиков сообщал, что под ним появилось белое поле, значит робот съехал с черной линии и должен повернуть колеса в сторону этого датчика, чтобы снова оба датчика оказались над черной линией. Когда оба датчика снова окажутся над черной линией, роботу нужно завершить поворот и колеса вернуть в центральное положение, чтобы робот ехал по прямой. Алгоритм в теории казался нам простым. Теперь нужно было найти способ, чтобы удобно и надежно подключить три датчика линии от HUNA к Freeduino/Arduino. В начале мы хотели проделать это с помощью мезонинной платы Troyka shield от Амперки. Однако, расположение выводов на разъема датчика HUNA не соответствуют выводам для подключения аналоговых датчиков к плате Troyka shield. В принципе способ подключения мы все-таки нашли с помощью дополнительного соединительного провода «мама-папа», подключив его не совсем стандартно с сигнальным проводом датчика. При этом разъем датчика HUNA подключили не к трем, а только к двум штырькам платы Troyka shield. Этот способ подключения хоть и помог нам при исследовании датчиков HUNA, но показался нам не очень надежным. В наборе HUNITRONIC, который нам предоставили как дополнение к набору HUNA для постройки роботов на основе контроллера Arduino, мы обнаружили плату DFRobot I/O Expansion Shield V7, у которой разъемы для подключения аналоговых датчиков соответствовали датчикам HUNA, и, к тому же, на этой плате присутствовала колодка для питания серводвигателя, а ведь нам для рулевого механизма, управляемого серводвигателем, это было весьма кстати. Итак, мы подключили датчики линии HUNA к Freeduino/Arduino с помощью платы расширения DFRobot I/O Expansion Shield V7. Работоспособность определения датчиками черного и белого цветов проверили скетчем, который в цикле опрашивает датчик и передает данные через последовательный интерфейс на персональный компьютер, на котором их можно сразу просматривать в окне монитора последовательного порта. Конечно, перед заездами робота по трассе программу под эти датчики нужно «откалибровать», т.к. их показания сильно зависят от степени освещенности помещения, где проходят соревнования, и даже от контрастности и глянца краски, которой нарисована трасса. Неровности трассы (складки, стыки), загрязнения тоже влияют на показания датчиков. Калибровка сводится к предстартовому замеру и вводу в программу робота показаний датчиков над черным участком трассы (Vmin) и над белым участком трассы (Vmax). Благодаря им можно рассчитать среднее (пороговое Vmid) значение и использовать его в программе, чтобы во время движения по нему можно было сравнивать показания датчиков и определять какой цвет под датчиком. Далее нам предстояло подключить к контроллеру Arduino/Freeduino дальномеры, серводвигатель для рулевого управления, двигатель шасси робота, модуль IrDa2 и написать программу для автоматического движения робота по смоделированным городским улицам с соблюдением ПДД... HUNA arduino freeduino Амперка Роботраффик ТФТЛ микроэлектроника робототехника