Маленький самодельный робот. Создаем робота в домашних условиях Простые роботы своими руками для начинающих

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

Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.

Введение

Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) - микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры AVR. Они, на сегодняшний день, самые доступные и в интернете можно найти много примеров на основе этих МК. Чтобы работать с микроконтроллерами тебе нужно уметь программировать на ассемблере или на Cи и иметь начальные знания в цифровой и аналоговой электронике. В нашем проекте мы будем использовать Cи. Программирование для МК мало чем отличается от программирования на компьютере, синтаксис языка такой же, большинство функций практически ничем не отличаются, а новые довольно легко освоить и ими удобно пользоваться.

Что нам нужно

Для начала наш робот будет уметь просто объезжать препятствия, то есть повторять нормальное поведение большинства животных в природе. Всё что нам потребуется для постройки такого робота можно будет найти в радиотехнических магазинах. Решим, как наш робот будет передвигаться. Самым удачным я считаю гусеницы, которые применяются в танках, это наиболее удобное решение, потому что гусеницы имеют большую проходимость, чем колёса машины и ими удобнее управлять (для поворота достаточно вращать гусеницы в разные стороны). Поэтому тебе понадобится любой игрушечный танк, у которого гусеницы вращаются независимо друг от друга, такой можно купить в любом магазине игрушек по разумной цене. От этого танка тебе понадобится только платформа с гусеницами и моторы с редукторами, остальное ты можешь смело открутить и выкинуть. Так же нам потребуется микроконтроллер, мой выбор пал на ATmega16 - у него достаточно портов для подключения датчиков и периферии и вообще он довольно удобный. Ещё тебе потребуется закупить немного радиодеталей, паяльник, мультиметр.

Делаем плату с МК

В нашем случае микроконтроллер будет выполнять функции мозга, но начнём мы не с него, а с питания мозга робота. Правильное питание - залог здоровья, поэтому мы начнём с того, как правильно кормить нашего робота, потому что на этом обычно ошибаются начинающие роботостроители. А для того, чтобы наш робот работал нормально нужно использовать стабилизатор напряжения. Я предпочитаю микросхему L7805 - она предназначена, чтобы на выходе выдавать стабильное напряжение 5В, которое и нужно нашему микроконтроллеру. Но из-за того, что падение напряжения на этой микросхеме составляет порядка 2,5В к нему нужно подавать минимум 7,5В. Вместе с этим стабилизатором используются электролитические конденсаторы, чтобы сгладить пульсации напряжения и в цепь обязательно включают диод, для защиты от переполюсовки.

Теперь мы можем заняться нашим микроконтроллером. Корпус у МК — DIP (так удобнее паять) и имеет сорок выводов. На борту имеется АЦП, ШИМ, USART и много другого, что мы пока использовать не будем. Рассмотрим несколько важных узлов. Вывод RESET (9-ая нога МК) подтянут резистором R1 к «плюсу» источника питания - это нужно делать обязательно! Иначе твой МК может непреднамеренно сбрасываться или, проще говоря - глючить. Так же желательной мерой, но не обязательной является подключение RESET’а через керамический конденсатор C1 к «земле». На схеме ты так же можешь увидеть электролит на 1000 мкФ, он спасает от провалов напряжения при работе двигателей, что тоже благоприятно скажется на работе микроконтроллера. Кварцевый резонатор X1 и конденсаторы C2, C3 нужно располагать как можно ближе к выводам XTAL1 и XTAL2.

О том, как прошивать МК, я рассказывать не буду, так как об этом можно прочитать в интернете. Писать программу мы будем на Cи, в качестве среды программирования я выбрал CodeVisionAVR. Это довольно удобная среда и полезна новичкам, потому что имеет встроенный мастер создания кода.

Управление двигателями

Не менее важным компонентом в нашем роботе является драйвер двигателей, который облегчает нам задачу в управлении им. Никогда и ни в коем случае нельзя подключать двигатели напрямую к МК! Вообще мощными нагрузками нельзя управлять с микроконтроллера напрямую, иначе он сгорит. Пользуйтесь ключевыми транзисторами. Для нашего случая есть специальная микросхема - L293D. В подобных несложных проектах всегда старайтесь использовать именно эту микросхему с индексом «D», так как она имеет встроенные диоды для защиты от перегрузок. Этой микросхемой очень легко управлять и её просто достать в радиотехнических магазинах. Она выпускается в двух корпусах DIP и SOIC. Мы будем использовать в корпусе DIP из-за удобства монтажа на плате. L293D имеет раздельное питание двигателей и логики. Поэтому саму микросхему мы будем питать от стабилизатора (вход VSS), а двигатели напрямую от аккумуляторов (вход VS). L293D выдерживает нагрузку 600 мА на каждый канал, а этих каналов у неё два, то есть к одной микросхеме можно подключить два двигателя. Но, чтобы перестраховаться, мы объединим каналы, и тогда потребуется по одной микре на каждый двигатель. Отсюда следует, что L293D сможет выдержать 1.2 А. Чтобы этого добиться нужно объединить ноги микры, как показано на схеме. Микросхема работает следующим образом: когда на IN1 и IN2 подаётся логический «0», а на IN3 и IN4 логическая единица, то двигатель вращается в одну сторону, а если инвертировать сигналы - подать логический ноль, тогда двигатель начнёт вращаться в другую сторону. Выводы EN1 и EN2 отвечают за включение каждого канала. Их мы соединяем и подключаем к «плюсу» питания от стабилизатора. Так как микросхема греется во время работы, а установка радиаторов проблематична на этот тип корпуса, то отвод тепла обеспечивается ногами GND — их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.

Датчики препятствий

Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор - он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех — от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.


Прошивка робота

Чтобы оживить робота, для него нужно написать прошивку, то есть программу, которая бы снимала показания с датчиков и управляла двигателями. Моя программа наиболее проста, она не содержит сложных конструкций и всем будет понятна. Следующие две строки подключают заголовочные файлы для нашего микроконтроллера и команды для формирования задержек:

#include
#include

Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; Значение 0xFF означает, что на выходе будет лог. «1», а 0x00 - лог. «0». Следующей конструкцией мы проверяем, есть ли перед роботом препятствие и с какой оно стороны: if (!(PINB & (1<

Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза - справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.

Заключение

Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер - простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию - уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков - установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.

Список компонентов:

    ATmega16 в корпусе DIP-40>

    L7805 в корпусе TO-220

    L293D в корпусе DIP-16 х2 шт.

    резисторы мощностью 0,25 Вт номиналами: 10 кОм х1 шт., 220 Ом х4 шт.

    конденсаторы керамические: 0.1 мкФ, 1 мкФ, 22 пФ

    конденсаторы электролитические: 1000 мкФ х 16 В, 220 мкФ х 16В х2 шт.

    диод 1N4001 или 1N4004

    кварцевый резонатор на 16 МГц

    ИК-диоды: подойдут любые в количестве двух штук.

    фототранзисторы, тоже любые, но реагирующие только на длину волны ик-лучей

Код прошивки:

/***************************************************** Прошивка для робота Тип МК: ATmega16 Тактовая частота: 16,000000 MHz Если у тебя частота кварца другая, то это нужно указать в настройках среды: Project -> Configure -> Закладка "C Compiler" *****************************************************/ #include #include void main(void) { //Настраиваем порты на вход //Через эти порты мы получаем сигналы от датчиков DDRB=0x00; //Включаем подтягивающие резисторы PORTB=0xFF; //Настраиваем порты на выход //Через эти порты мы управляем двигателями DDRC=0xFF; //Главный цикл программы. Здесь мы считываем значения с датчиков //и управляем двигателями while (1) { //Едем вперёд PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; if (!(PINB & (1<О моём роботе

В данный момент мой робот практически завершён.


На нём установлена беспроводная камера, датчик расстояния (и камера и этот датчик установлены на поворотной башне), датчик препятствия, энкодер, приёмник сигналов с пульта и интерфейс RS-232 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).

Как сделать робота в домашних условиях, чтобы всё получилось? Нужно начинать с простого и постепенно усложнять! Инструкции по созданию роботов своими руками в домашних условиях буквально заполонили интернет. Не останется в стороне от этого и автор статьи. В целом этот процесс можно разделить на три части: теоретическую, подготовительную и непосредственно сборку. В рамках статьи будут рассмотрены все они, а также описана общая схема разработки чистильщика.

Создание робота в домашних условиях

Чтобы разработать с нуля, необходимы знания о токе, напряжении, функционировании различных элементов как то триггеры, конденсаторы, резисторы, транзисторы. Также следует научиться паять всё это на схемах и использовать соединительные провода. Необходимо проработать каждый аспект движения и выполнения действий, добиваясь максимальной детализации действий для достижения своей цели. И эти знания необходимы, если вас действительно интересует, как сделать робота в домашних условиях, а не просто праздное любопытство.

Подготовительные процессы

Прежде чем приступать к выяснению, как сделать робота в домашних условиях, необходимо хорошо позаботиться об условиях, в которых он будет собираться. Для начала следует подготовить рабочее место, где будет создаваться желаемое устройство. Необходимо где-то поместить саму конструкцию и составляющие её детали. Следует продумать и вопрос удобного размещения паяльника, канифоли и припоя. Рабочее место должно быть максимально оптимизированным, чтобы оно предоставляло удобство при взаимодействии с конструкцией.

Сборка

Необходимо продумать «костяк» конструкции, на котором всё будет строиться. Обычно выбирают одну деталь, и уже к ней припаиваются все остальные. Говоря о качестве пайки, следует сказать, что места, где она будет проводиться, должны быть очищены. Также, зависимо от толщины используемых проводов и ножек, необходимо подобрать достаточное количество припоя, чтобы элементы не отпадали во время эксплуатации. Для упрощения процессов передачи сигналов и недопущения возможности замыкания можно вытравить Затем на неё наносятся все необходимые элементы, получившаяся конструкция подключается к источнику питания и при необходимости осуществляется доработка устройства.

Простой робот

Как сделать в домашних условиях что-то не сложное? Да ещё и полезное? Свой дом необходимо держать в чистоте, и данный процесс желательно автоматизировать. Конечно, создать полноценного робота-уборщика сложно, но минимальная конструкция, которая обеспечит собирание пыли с полов комнат - это вполне по силам. Если честно - то будет рассмотрен который работает на одном месте и одновременно убирает мелкий мусор, расположенный в зоне дислокации. Чтобы создать такую конструкцию, необходимо иметь следующие материалы:

  1. Пластиковую тарелку.
  2. Три небольшие щетки, которые используются, чтобы чистить обувь или пол.
  3. Два вентилятора, которые можно взять из отживших своё компьютеров.
  4. Батарея на 9В и разъем для неё.
  5. Стяжка или хомуты, которые могут сами защелкиваться.
  6. Болты и гайки.

Просверлите на равном расстоянии отверстия для щеток. Прикрепите их. Желательно, чтобы все щетки размещались на равной удалённости от других и центра тарелки. Используя болты и гайки, к каждой из них следует прикрепить регулировочное крепление, да и они сами фиксируются с их помощью. Ползунки регулировочных креплений следует установить в среднее положение. Для движения будем использовать вентиляторы. Их подключаем к батарейке и размещаем параллельно, чтобы они обеспечивали вращение робота по кругу. Данная конструкция будет использоваться в качестве вибромотора. Накиньте клеммы и конструкция уже готова к использованию. Если во время процесса чистки робот будет уходить в сторону, поработайте с регулировочными креплениями. Представленная в статье конструкция не требует значительных денежных затрат или наличия навыков и опыта. При создании робота использовались недорогие материалы, достать которые не является значительной проблемой. При желании усложнить конструкцию и заставить её целенаправленно двигаться понадобятся улучшения в виде дополнительных моторов и микроконтроллеров. Вот как сделать робота в домашних условиях. А только подумайте, сколько можно здесь усовершенствовать! Широчайшее поле для конструкторской деятельности.

Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.

Введение

Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) – микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры AVR. Они, на сегодняшний день, самые доступные и в интернете можно найти много примеров на основе этих МК. Чтобы работать с микроконтроллерами тебе нужно уметь программировать на ассемблере или на Cи и иметь начальные знания в цифровой и аналоговой электронике. В нашем проекте мы будем использовать Cи. Программирование для МК мало чем отличается от программирования на компьютере, синтаксис языка такой же, большинство функций практически ничем не отличаются, а новые довольно легко освоить и ими удобно пользоваться.

Что нам нужно

Для начала наш робот будет уметь просто объезжать препятствия, то есть повторять нормальное поведение большинства животных в природе. Всё что нам потребуется для постройки такого робота можно будет найти в радиотехнических магазинах. Решим, как наш робот будет передвигаться. Самым удачным я считаю гусеницы, которые применяются в танках, это наиболее удобное решение, потому что гусеницы имеют большую проходимость, чем колёса машины и ими удобнее управлять (для поворота достаточно вращать гусеницы в разные стороны). Поэтому тебе понадобится любой игрушечный танк, у которого гусеницы вращаются независимо друг от друга, такой можно купить в любом магазине игрушек по разумной цене. От этого танка тебе понадобится только платформа с гусеницами и моторы с редукторами, остальное ты можешь смело открутить и выкинуть. Так же нам потребуется микроконтроллер, мой выбор пал на ATmega16 – у него достаточно портов для подключения датчиков и периферии и вообще он довольно удобный. Ещё тебе потребуется закупить немного радиодеталей, паяльник, мультиметр.

Делаем плату с МК



Схема робота

В нашем случае микроконтроллер будет выполнять функции мозга, но начнём мы не с него, а с питания мозга робота. Правильное питание – залог здоровья, поэтому мы начнём с того, как правильно кормить нашего робота, потому что на этом обычно ошибаются начинающие роботостроители. А для того, чтобы наш робот работал нормально нужно использовать стабилизатор напряжения. Я предпочитаю микросхему L7805 – она предназначена, чтобы на выходе выдавать стабильное напряжение 5В, которое и нужно нашему микроконтроллеру. Но из-за того, что падение напряжения на этой микросхеме составляет порядка 2,5В к нему нужно подавать минимум 7,5В. Вместе с этим стабилизатором используются электролитические конденсаторы, чтобы сгладить пульсации напряжения и в цепь обязательно включают диод, для защиты от переполюсовки.
Теперь мы можем заняться нашим микроконтроллером. Корпус у МК - DIP (так удобнее паять) и имеет сорок выводов. На борту имеется АЦП, ШИМ, USART и много другого, что мы пока использовать не будем. Рассмотрим несколько важных узлов. Вывод RESET (9-ая нога МК) подтянут резистором R1 к «плюсу» источника питания – это нужно делать обязательно! Иначе твой МК может непреднамеренно сбрасываться или, проще говоря – глючить. Так же желательной мерой, но не обязательной является подключение RESET’а через керамический конденсатор C1 к «земле». На схеме ты так же можешь увидеть электролит на 1000 мкФ, он спасает от провалов напряжения при работе двигателей, что тоже благоприятно скажется на работе микроконтроллера. Кварцевый резонатор X1 и конденсаторы C2, C3 нужно располагать как можно ближе к выводам XTAL1 и XTAL2.
О том, как прошивать МК, я рассказывать не буду, так как об этом можно прочитать в интернете. Писать программу мы будем на Cи, в качестве среды программирования я выбрал CodeVisionAVR. Это довольно удобная среда и полезна новичкам, потому что имеет встроенный мастер создания кода.


Плата моего робота

Управление двигателями

Не менее важным компонентом в нашем роботе является драйвер двигателей, который облегчает нам задачу в управлении им. Никогда и ни в коем случае нельзя подключать двигатели напрямую к МК! Вообще мощными нагрузками нельзя управлять с микроконтроллера напрямую, иначе он сгорит. Пользуйтесь ключевыми транзисторами. Для нашего случая есть специальная микросхема – L293D. В подобных несложных проектах всегда старайтесь использовать именно эту микросхему с индексом «D», так как она имеет встроенные диоды для защиты от перегрузок. Этой микросхемой очень легко управлять и её просто достать в радиотехнических магазинах. Она выпускается в двух корпусах DIP и SOIC. Мы будем использовать в корпусе DIP из-за удобства монтажа на плате. L293D имеет раздельное питание двигателей и логики. Поэтому саму микросхему мы будем питать от стабилизатора (вход VSS), а двигатели напрямую от аккумуляторов (вход VS). L293D выдерживает нагрузку 600 мА на каждый канал, а этих каналов у неё два, то есть к одной микросхеме можно подключить два двигателя. Но, чтобы перестраховаться, мы объединим каналы, и тогда потребуется по одной микре на каждый двигатель. Отсюда следует, что L293D сможет выдержать 1.2 А. Чтобы этого добиться нужно объединить ноги микры, как показано на схеме. Микросхема работает следующим образом: когда на IN1 и IN2 подаётся логический «0», а на IN3 и IN4 логическая единица, то двигатель вращается в одну сторону, а если инвертировать сигналы – подать логический ноль, тогда двигатель начнёт вращаться в другую сторону. Выводы EN1 и EN2 отвечают за включение каждого канала. Их мы соединяем и подключаем к «плюсу» питания от стабилизатора. Так как микросхема греется во время работы, а установка радиаторов проблематична на этот тип корпуса, то отвод тепла обеспечивается ногами GND - их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.

Датчики препятствий

Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор – он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех - от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.


Первый вариант датчиков моего робота

Прошивка робота

Чтобы оживить робота, для него нужно написать прошивку, то есть программу, которая бы снимала показания с датчиков и управляла двигателями. Моя программа наиболее проста, она не содержит сложных конструкций и всем будет понятна. Следующие две строки подключают заголовочные файлы для нашего микроконтроллера и команды для формирования задержек:

#include
#include

Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:

PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;

Значение 0xFF означает, что на выходе будет лог. «1», а 0x00 – лог. «0».

Следующей конструкцией мы проверяем, есть ли перед роботом препятствие и с какой оно стороны:

If (!(PINB & (1< {
...
}

Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза – справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.

Заключение

Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер – простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию – уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков – установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.
Список компонентов:
  • ATmega16 в корпусе DIP-40>
  • L7805 в корпусе TO-220
  • L293D в корпусе DIP-16 х2 шт.
  • резисторы мощностью 0,25 Вт номиналами: 10 кОм х1 шт., 220 Ом х4 шт.
  • конденсаторы керамические: 0.1 мкФ, 1 мкФ, 22 пФ
  • конденсаторы электролитические: 1000 мкФ х 16 В, 220 мкФ х 16В х2 шт.
  • диод 1N4001 или 1N4004
  • кварцевый резонатор на 16 МГц
  • ИК-диоды: подойдут любые в количестве двух штук.
  • фототранзисторы, тоже любые, но реагирующие только на длину волны ик-лучей
Код прошивки:
/*****************************************************
Прошивка для робота

Тип МК: ATmega16
Тактовая частота: 16,000000 MHz
Если у тебя частота кварца другая, то это нужно указать в настройках среды:
Project -> Configure -> Закладка "C Compiler"
*****************************************************/

#include
#include

Void main(void)
{
//Настраиваем порты на вход
//Через эти порты мы получаем сигналы от датчиков
DDRB=0x00;
//Включаем подтягивающие резисторы
PORTB=0xFF;

//Настраиваем порты на выход
//Через эти порты мы управляем двигателями
DDRC=0xFF;

//Главный цикл программы. Здесь мы считываем значения с датчиков
//и управляем двигателями
while (1)
{
//Едем вперёд
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (!(PINB & (1< {
//Едем назад 1 секунду
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
//Заворачиваем
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
}
if (!(PINB & (1< {
//Едем назад 1 секунду
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms(1000);
//Заворачиваем
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 1;
PORTC.3 = 0;
delay_ms(1000);
}
};
}

О моём роботе

В данный момент мой робот практически завершён.


На нём установлена беспроводная камера, датчик расстояния (и камера и этот датчик установлены на поворотной башне), датчик препятствия, энкодер, приёмник сигналов с пульта и интерфейс RS-232 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).

По пожеланиям выкладываю видео:

UPD. Перезалил фотографии и сделал небольшие поправки в тексте.

Кому не хотелось бы иметь универсального помощника, готового выполнить любое поручение: помыть посуду, закупить продуктов, поменять колесо в автомобиле, да и отвезти детей в сад, а родителей на работу? Идея создания механизированных ассистентов занимает инженерные умы ещё с древних времён. А Карел Чапек даже придумал слово, обозначающее механического слугу – робота, выполняющего обязанности вместо человека.

К счастью, в нынешнем цифровом веке, такие помощники наверняка вскоре станут реальностью. На самом деле, интеллектуальные механизмы уже помогают человеку в выполнении домашних дел: робот-пылесос уберётся, пока хозяева на работе, мультиварка поможет приготовить еду, не хуже скатерти-самобранки, а игривый щенок Айбо радостно принесёт тапочки или мяч. Сложные роботы используются на производстве, в медицине и космосе. Они позволяют частично, а то и полностью, заменить труд человека в сложных или опасных условиях. Андроиды при этом пытаются внешне походить на людей, тогда как промышленные роботы обычно создаются из экономических и технологических соображений и внешний декор у них отнюдь не в приоритете.

Но, оказывается, можно попытаться сделать робота с помощью подручных средств. Так, можно сконструировать оригинальный механизм из телефонной трубки, компьютерной мышки, зубной щётки, старого фотоаппарата или вездесущей пластиковой бутылки. Разместив на платформе несколько датчиков, можно запрограммировать такого робота на выполнение простых операций: регулировку освещённости, подачу сигналов, движение по комнате. Конечно, это далеко не многофункциональный помощник из фантастических фильмов, зато такое занятие развивает изобретательность и творческое инженерное мышление, и безоговорочно вызывает восхищение у тех, кто считает роботостроение абсолютно не кустарным делом.

Киборг из коробки

Одно из самых простых решений на пути к тому, чтобы сделать робота – приобрести готовый набор для робототехники с пошаговым руководством. Этот вариант подойдёт также тем, кто собирается серьёзно заниматься техническим творчеством, ведь в одном пакете находятся все необходимые детали для механики: от электронных плат и специализированных датчиков, до запаса болтиков и наклеек. Вместе с инструкциями, позволяющими создать довольно сложный механизм. Благодаря множеству аксессуаров такой робот может послужить отличной базой для творчества.

Основных школьных знаний по физике и навыков с уроков труда вполне достаточно для сборки первого робота. Разнообразные сенсоры и моторы подчиняются пультам управления, а специальные среды программирования позволяют создать настоящих киборгов, умеющих выполнять команды.

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

Для того чтобы собственноручно созданный робот умел выполнять различные команды, производители предусматривают возможность его программирования. Составив алгоритм поведения робота в различных условиях, следует создать код взаимодействия датчиков с окружающим миром. Это осуществимо благодаря наличию микрокомпьютера, являющегося мозговым центром такого механического робота.

Мобильный механизм собственного изготовления

Даже без специализированных, и обычно дорогостоящих, наборов, вполне возможно сделать механический манипулятор подручными средствами. Итак, загоревшись замыслом создания робота, следует внимательно проанализировать запасы домашних закромов на предмет наличия невостребованных запчастей, которые могут быть использованы в этой творческой затее. В ход пойдут:

  • моторчик (например, от старой игрушки);
  • колёса от игрушечных автомобилей;
  • детали конструкторов;
  • картонные коробки;
  • стержни авторучек;
  • скотч разных видов;
  • клей;
  • пуговицы, бусинки;
  • винтики, гайки, скрепки;
  • всевозможные провода;
  • лампочки;
  • батарейка (подходящая моторчику по напряжению).

Совет: «Нелишним навыком при создании робота будет умение обращаться с паяльником, ведь он поможет надёжно скрепить механизм, в особенности электрические компоненты».

С помощью этих общедоступных составляющих можно сотворить настоящее техническое чудо.

Итак, для того чтобы сделать собственного робота из доступных в домашних условиях материалов, следует:

  1. подготовить найденные детали для механизма, проверить их работоспособность;
  2. нарисовать макет будущего робота, учитывая наличное оборудование;
  3. сложить корпус для робота из конструктора или картонных деталей;
  4. приклеить или спаять запчасти, отвечающие за движение механизма (например, скрепить моторчик робота с колёсной базой);
  5. обеспечить электропитание мотора, присоединив его проводником к соответствующим контактам батарейки;
  6. дополнить тематический декор прибора.

Совет: «Бусинки глаз для робота, декоративные рожки-усики из проволоки, ножки-пружинки, диодные лампочки помогут одушевить даже самый скучный механизм. Эти элементы можно крепить при помощи клея или скотча».

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

Известные умные автоматы

Милый робот Валл-И располагает к себе зрителя одноимённого фильма, заставляя сопереживать его драматическим приключениям, тогда как Терминатор демонстрирует мощь бездушной непобедимой машины. Персонажи Звёздных войн – верные дроиды R2D2 и C3PO, сопровождают в путешествиях по далёкой-далёкой Галактике, а романтический Вертер даже жертвует собой в схватке с космическими пиратами.

За пределами кинематографа также существуют механические роботы. Так, мир восхищается умениями робота-гуманоида Асимо, который умеет ходить по лестнице, играть в футбол, подавать напитки и вежливо здороваться. Марсоходы Спирит и Кьюриосити оборудованы автономными химическими лабораториями, позволившими сделать анализ образцов марсианских почв. Беспилотные автомобили-роботы могут передвигаться без участия человека, даже по сложным городским улицам с высокими рисками непредвиденных событий.

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

Обычно мы рассказываем о роботах, созданных различными научно-исследовательскими центрами или компаниями. Однако роботов с разной степенью успеха по всему миру собирают обычные люди. Итак, сегодня мы представляем вам десять самодельных роботов.

Адам

Немецкий студент-нейробиолог собрал андроида по имени Адам. Его имя расшифровывается как Advanced Dual Arm Manipulator или «усовершенствованный двуручный манипулятор». Руки робота обладают пятью степенями свободы. Их приводят в действие суставы Robolink немецкой компании Igus. Для вращения суставов Адама используются внешние тросы. Кроме того, на голове Адама установлено две видеокамеры, громкоговоритель, синтезатор речи, а также ЖК-панель, имитирующая движения губ робота.

MPR-1

Робот MPR-1 примечателен тем, что он сконструирован не из железа или пластика, как большинство его собратьев, а из бумаги. Как утверждает создатель робота художник Kikousya, материалы для MPR-1 – бумага, несколько дюбелей и пара резиновых лент. При этом робот уверенно двигается, хотя его механические элементы также сделаны из бумаги. Кривошипно-шатунный механизм обеспечивает движение ног робота, а его ступни созданы так, что их поверхность всегда находится параллельно полу.

Робот-папарацци Boxie

Робот Boxie создан американским инженером Александром Ребеном из Массачусетского технологического института. Boxie, похожий чем-то на героя известного всем мультфильма Валл-И, должен помочь сотрудникам средств массовой информации. Маленький и юркий папарацци полностью сделан из картона, передвигается он при помощи гусениц, а ориентируется на улице посредством ультразвука, что помогает ему преодолевать разнообразные препятствия. Интервью робот берет забавным детским голосом, а респондент в любой момент может прервать беседу, нажав на специальную кнопку. Boxie может записать около шести часов видео и отправить снятое своему хозяину, используя ближайшую точку Wi-Fi.

Morphex

Норвежский инженер Каре Халворсен создал шестиногого робота Morphex, который умеет превращаться в мяч и обратно. Кроме того, робот способен передвигаться. Движение робота происходит за счет двигателей, толкающих его вперед. Робот движется по дуге, а не по прямой линии. В силу своего дизайна Morphex не может самостоятельно исправить траекторию своего движения. В данный момент Халворсен работает над тем, чтобы решить данный вопрос. Ожидается любопытное обновление: создатель робота хочет добавить 36 светодиодов, которые позволили бы Morphex менять цвета.

Truckbot

Американцы Тим Хис и Райан Хикмен решили создать небольшого робота, в основе которого находится телефон Android. Созданный ими робот Truckbot довольно прост в плане его конструкции: телефон HTC G1 находится на верхушке робота, являясь его «мозгом». На данный момент робот умеет передвигаться по плоской поверхности, выбирать направления движения и сопровождать всяческими фразами столкновения с препятствиями.

Робот-пайщик

Однажды американец Брайан Дори, занимающийся разработкой плат расширения, столкнулся со следующей проблемой: запаивать двухрядную гребенку пинов своими руками очень сложно. Брайану был необходим помощник, поэтому он решил создать робота, который умел бы паять. На разработку робота у Брайана ушло два месяца. Сделанный робот оборудован двумя паяльниками, которые могут запаивать два ряда контактов одновременно. Управлять роботом можно через ПК и планшет.

Mechatronic Tank

В каждой семье есть своё излюбленное хобби. Например, в семье американского инженера Роберта Битти конструируют роботов. Роберту помогают его дочери-подростки, а супруга и новорожденная дочь оказывают им моральную поддержку. Наиболее внушительное их творение – самоходная установка Mechatronic Tank. Благодаря 20-килограммовой броне этот робот-охранник – гроза любого преступника. Восемь эхолокаторов, установленных на башне робота, позволяют ему рассчитать дистанцию до объектов, находящихся в его поле зрения, с точностью до дюйма. Робот ещё стреляет металлическими пулями со скоростью в тысячу выстрелов в минуту.

Робособака

Американец по имени Макс создал мини-копию знаменитого . Несущую конструкцию робота Макс сделал из обрезков пятимиллиметрового акрилового стекла, а для скрепления всех частей воедино им были использованы обычные резьбовые болты. Кроме того, при создании робота были использованы миниатюрные сервоприводы, отвечающие за движение его конечностей, а также детали из набора Arduino Mega, координирующие двигательный процесс механического пса.

Робот-шар

Робот-колобок был сконструирован Джеромом Демерсом, работает он на солнечных батареях. Внутри робота есть конденсатор, который соединен с деталями питания от солнца. Он нужен для накапливания энергии в непогоду. Когда солнечной энергии достаточно, шар начинает катиться вперед.

Роборука

Изначально преподавателем Технологического института Джорджии Джилом Вайнбергом была сконструирована роборука для барабанщика, которому ампутировали руку. Затем Джил создал автоматизированную технологию синхронизации, благодаря которой двурукий барабанщик мог бы пользоваться роборукой в качестве дополнительной руки. Роборука реагирует на манеру игры барабанщика, создавая свой собственный ритм. Также роборука умеет импровизировать, анализируя при этом ритм, в котором играет барабанщик.