Записки

Робот на базе Arduino

arduino (1 of 3)

Давным-давно был страстным радиолюбителем. Самозабвенно паял всякие приемники, усилители, и блоки питания с зарядными устройствами.
Друзья удивлялись - откуда и меня такие понтовые детали. Например, провода во фторопластовой изоляции (не плавится при высоких температурах) или сопротивления со сверхвысокой точностью параметров +/- 0,5%. Ответ был прост - оборонка. Рядом было большое количество списанной военной техники. Так что почти все мои изделия когда-то летали, в буквальном смысле.
Постоянно ходил с обожженными кончиками пальцев и грезил собрать усилитель звука с приличными параметрами.

Потом перешел на персональные компьютеры, а паяльник с пинцетом забросил в дальний ящик.

И вот месяца три назад случайно наткнулся на сайт, описывающий разного рода поделки на основе платформы
Andurino. И это был взрыв мозга. То же радиолюбительство, но основанное на микроконтроллерах - кучку радиодеталей можно запрограммировать на что угодно. Мечта детства.
Дальнейшее путешествие по тематическим сайтам показало, что эргономика и удобство прокрались и в эту сферу. Теперь можно почти не паять - продаются готовые наборы, содержащие все необходимые детали, используются разъемные и штырьевые соединения. Тут же был приобретен вот такой
набор, и понеслось.

За несколько вечеров были собраны все стандартные схемы - всякие мигалки светодиодами и пищалки пьезосопелками. Потянуло на что-то более взрослое, если это слово тут применимо Happy решил собрать колесного робота.
За полторы недели приобрел все необходимые комплектующие, даже пришлось съездить на радиорынок в Митино. Кстати, он стал совсем цивильным, никакой романтики. Продавцы удивлялись, зачем мне нужны такие странные детали. Отвечал, что любой мужчина в моем возрасте должен собрать себе робота. Народ ржал и делал скидки.

А потом почти месяц была самозабвенная сборка. Робот катался, бился об стены и жалобно мигал светодиодами. Радиодетали горели, пальцы обжигались, попадались бракованные китайские элементы. Ну, например: собрал робота, который должен определять расстояние до препятствия и останавливаться. А датчик расстояния - бракованный. Робот, радостно шурша колесами, намазывает себя на бетонную стену.
В какой-то промежуточный момент удалось собрать что-то типа машинки, управляемой со смартфона по bluetooth. Радостно гонял ею жену по квартире Happy

Программирование и сборка подобных механизмов - отличная зарядка для ума. Например, задача поворота робота на заданный угол может быть решена различными способами.
  • Во-первых, разнонаправленным вращением колес с разных сторон корпуса в течение нужного интервала времени. Недостаток - по мере разрядки элементов питания меняется скорость вращения, а значит и угол поворота; также не распознается пробуксовка. Частично проблему можно решить установкой стабилизатора напряжения (батарея - стабилизатор - двигатели), но это снижает КПД и повышает сложность электрической части.
  • Во-вторых, можно поставить датчик оборота колес - разрядка батареи будет уже не важна, однако пробуксовка так и останется проблемой,
  • В-третьих, можно снимать показания с компаса. Теоретически метод самый точный, однако электрические компоненты дают помехи - компас начинает врать (например, первый полукруг включает 270 градусов, а второй - 90).

arduino (2 of 3)
arduino (3 of 3)


На фото показана 3 или 4 реинкарнация робота. Что умеет:

  • режим радиоуправления с защитой от врезания в препятствия, находящиеся спереди (выбор направления движения, изменение скорости, всякие дополнительные функции вроде включения фар; при опасном приближении к препятствию - останавливается);
  • автоматический режим езды с объездом препятствий (движение вперед - остановка перед препятствием - сканирование передней сегмента пространства в ~ 160 градусов - поворот в наиболее свободную сторону - продолжение движения);
  • режим фиксированных поворотов на основе показаний компасов.
Режим работы переключаются кнопкой на корпусе, отображаются различными светодиодами. Вот код (за основу взят этот).

Пока не удалось сделать нормальную индиацию с использованием графического дисплея от Nokia 5110. Связка работает, однако с совершенно жуткими тормозами.

Как бы энергию направить в мирное русло? Может, какой-то автополив для дачи сделать?

PS: теперь про Ардуиныча на сайте есть отдельный
раздел.

предыдущая запись


blog comments powered by Disqus