Что нужно чтобы создать робота
Как сделать первые шаги в робототехнике?
Роботизация и автоматизация становятся всё востребованнее, и многим хотелось бы научиться создавать подобные системы и устройства. Но с чего начать, как освоить азы? Мы сделали для вас небольшую подборку русскоязычных и англоязычных YouTube-каналов с учебными материалами и методическими пособиями по робототехнике.
AlexGyver
Канал ведет инженер, который рассказывает о своем опыте в конструировании из подручных материалов разных устройств, как правило автоматизированных. Речь идет об электронике, робототехнике, инструментах и прикладных экспериментах. Довольно интересный и доступно изложенный материал, из которого можно почерпнуть для себя что-то новое.
AmperkaRu
Канал довольно популярного магазина «Амперка». Посвящен электронике и робототехнике. Здесь рассказывается о платформах Arduino, Raspberry Pi и Iskra JS, с помощью которых можно создавать роботов и автоматизированные системы (типа «умный дом») даже с минимальным набором знаний.
Универсариум, курс «Робототехника»
Интересный канал, позволяющий получить множество знаний в разных областях от ведущих вузов. В том числе содержит вводные материалы лекций по робототехнике, к которым можно получить доступ в рамках проекта «Универсариум».
EasyTech
На канале представлены доступные уроки по робототехнике, программированию, а также интересные материалы и освещение событий, связанных с роботами. Автор — кандидат физико-математических наук и тренер сборной России по робототехнике.
SERVODROID
Содержит учебные материалы по робототехнике для начинающих. Создание робота своими руками с нуля. От простейших экземпляров до вычислительных машин на процессорах и микроконтроллерах. Каждый материал содержит описание робота, инструкция по его созданию и список необходимых элементов.
HappyBot
На канале вы найдёте обучающие уроки по робототехнике, в частности, по программированию EV3. Первый сезон лекций выложен полностью. Материал подан доступно для начинающих. Планируется 3 сезона.
Robot On
На канале есть множество интересной и полезной информации по созданию роботов, материалы с места событий, выставок и чемпионатов, а также обучающие материалы, в том числе практические задания к курсу по робототехнике.
Канал Владислава Лукьянова
Ряд довольно интересных обучающих и обозревательных материалов по робототехнике от сотрудника Оренбургского президентского кадетского колледжа. Здесь вы можете получить начальные знания, которые пригодятся любому человеку, интересующемуся робототехникой.
Занимательная робототехника
Уроки по робототехнике для начинающих, и не только для детей. Пошаговые доступные инструкции по сборке роботов из LEGO, на основе Arduino и т.д. Содержит также много других интересных материалов по теме.
I Love Robotics
Обучающие материалы по робототехнике, а также видео и новинки из этой области. Автор имеет несколько наград и патентов в этой сфере. Преподает свой собственный курс «Как стать инженером робототехники» для студентов и аспирантов.
Канал Джоша Бонгарда
Очень интересный курс лекций по робототехнике — не для новичков. Охватывает многие интересные аспекты и содержит множество материалов в виде лекций из этой и смежных областей.
Канал Пола Макхортера
Серия обучающих уроков по платформе Arduino. Довольно интересное и несложное изложение материала. Уроки подходят для новичков.
Programming Electronics Academy
Серия обучающих материалов по Arduino и базовому программированию для новичков. Поможет делающим первые шаги познакомиться с платформой и обучиться азам.
DPV TECHNOLOGY
Обучающие уроки по электронике, робототехнике на основе Arduino и многое другое. Содержащие интересные материалы из категории «сделай сам».
Введение в робототехнику
Сборник лекций с говорящим названием от Стэндфордского университета. Не для начинающих.
Хотя сегодня многие интересуются робототехникой, однако полезных обучающих видео в сети на удивление немного. Так что делитесь в комментариях ссылками для дополнения подборки.
Шаг 9. Изготовление робота. Создание основания или каркаса робота.
Изготовление робота
Теперь, вы выбрали все основные компоненты для сборки робота. Изготовление робота начинается со следующего шага — необходимо спроектировать и построить основание или каркас. Каркас держит их всех вместе и придает вашему роботу законченный вид и форму.
сборка робота
Создание каркаса
Нет никакого «идеального» способа создания каркаса. Почти всегда требуется компромисс. Возможно, вам нужен легкий каркас. Но может потребоваться использование дорогостоящих материалов или слишком хрупких материалов.
Вы можете захотеть сделать надежное или большое шасси. Хоты вы понимаете, что это будет дорого, тяжело или сложно в производстве. Ваш «идеальный» каркас или рама может быть очень сложным.Изготовление каркаса робота может потребовать слишком много времени для разработки и создания.
При этом простой каркас может быть не менее хорошим. Идеальная форма встречается редко, но некоторые проекты могут выглядеть более элегантно из-за своей простоты. Возможно другие проекты могут привлечь внимание из-за их сложности.
Материалы
Существует много материалов, которые вы можете использовать для создания основания. Вы используете все множество материалов для создания не только роботов, но и других устройств. Следовательно вы получите хорошее представление о том, что наиболее подходит для данного проекта.
Список предлагаемых строительных материалов, приведенных ниже включает только наиболее распространенные. Как только вы используете некоторые из них, вы сможете поэкспериментировать с теми, которые не входят в список, или объединить их вместе.
Использовать существующие коммерческие продукты
Вероятно, вы видели школьные проекты, которые были основаны на существующих массовых продуктах. В первую очередь таких как бутылки, картонные коробки и т.д. Это, по сути, «повторное использование» продукта.
Оно может либо сэкономить вам много времени и денег. Хотя и может создать дополнительные хлопоты и головную боль. Есть много очень хороших примеров того, как перепрофилировать материалы и сделать из них очень хорошего робота.
Основной строительный материал
Например, изготовление робота из картона. Некоторые из самых основных строительных материалов могут быть использованы для создания отличных каркасов. Одним из самых дешевых и наиболее доступных материалов является картон. Вы часто можете найти картон бесплатно, и его можно легко вырезать, согнуть, склеить и сложить.
робот из картона
Может быть вы можете создать усиленную картонную коробку, которая выглядит намного более красиво. И она соответствует размеру вашего робота. Затем вы можете нанести эпоксидную смолу или клей, чтобы сделать ее более долговечной. В заключение дополнительно можно разукрасить ее.
Плоский материал для конструкции
Один из наиболее распространенных способов сделать раму – это использовать стандартные материалы, такие как лист фанеры, пластика или металла. И просверлить отверстия для подключения всех исполнительных механизмов и электроники. Прочный кусок фанеры может быть довольно толстым и тяжелы. В то самое время как тонкий лист металла может быть слишком гибким.
Например, доску или фанеру из плотной древесины можно легко разрезать с помощью пилы, просверлить (не опасаясь разрушения), покрасить, отшлифовать и т.д. Следовательно вы можете устанавливать устройства с двух сторон. Например, подключить двигатели и колесики колес к нижней части, а электронику и аккумулятор к верхней части. При этом древесина останется неподвижной и твердой.
Лазерная резка, изогнутый пластик или металл
Если вы находитесь на том этапе, когда вам необходим внешний блок, то лучшим вариантом будет высокоточная резка деталей лазером. Любая ошибка в расчетах будет дорогостоящей и приведет к порче материалов. Для изготовления робота нужна собственная мастерская. Возможно нужно найти компанию, производящую такой тип роботов. Может быть она предлагает множество других услуг, включая работы с металлом и покраску.
3D-печать
3D принтер, печатающий раму или каркас, редко бывает наиболее обоснованным решением (потому что он печатает послойно). В результате этого процесса можно создавать очень сложные формы. Такие формы было бы невозможно (или очень сложно) изготовить другими способами.
3D принтер
Отдельная трехмерная печатная деталь может содержать все необходимые монтажные точки для всех электрических и механических компонентов. При этом способе изготовления каркаса сохраняется незначительный вес изделия. Изготовление робота потребует дополнительной обработки и шлифовки.
Поскольку 3D-печать становится более популярной, цена на детали также снижается. Дополнительно преимуществом 3D-печати является не только то, что ваш дизайн легко воспроизводить, но и им легко делиться. При помощи нескольких кликов мышки можно получить все инструкции по дизайну и файлы САПР.
Полиморф
При комнатной температуре полиморф является твердым пластиком. При нагревании (например, в горячей воде) он становится податливым и может быть сформирован в сложные детали. Затем они охлаждаются и затвердевают в прочные пластмассовые детали.
робот из полиформа
Обычно пластиковые детали требуют высоких температур и необходимы различные формы для изготовления. Изготовление робота таким способом делает их недоступными для большинства любителей. Например, вы можете комбинировать различные формы (цилиндры, плоские листы и т.д.).
Так формируются сложные пластмассовые структуры, которые выглядят как сделанные промышленным способом. Вы также можете экспериментировать с различными формами и достичь с помощью этого материала многого.
Изготовление робота
Конструирование и изготовление робота нужно производить с учетом выбранных материалов и методов. Выполните следующие шаги, чтобы создать эстетичную, простую и структурно обоснованную раму робота меньшего размера.
Сборка компонентов робота, из приведенного выше списка заслуживает отдельного рассмотрения.
Сборка компонентов робота
На предыдущих уроках вы выбрали электрические компоненты и исполнительные механизмы. Теперь вам нужно, чтобы они все работали вместе. Как всегда, техническое описание и руководства — это ваши друзья, когда вы понимаете, как должно работать ваше роботизированное оборудование.
Подключение двигателей к контроллерам двигателей
Электродвигатель постоянного тока или линейный привод постоянного тока, скорее всего, имеют два провода: красный и черный. Подключите красный провод к клемме M + на контроллере двигателя постоянного тока, а черный — к M-.
Реверсирование проводов приведет только к вращению двигателя в противоположном направлении. У сервомотора, есть три провода: один черный (GND), красный (от 4,8 до 6 В) и желтый (сигнал положения). Контроллер серводвигателя имеет контакты, соответствующие этим проводам, поэтому сервопривод может быть подключен непосредственно к нему.
Подключение аккумуляторов к контроллеру двигателя или к микроконтроллеру
Изготовление робота включает в себя подключение электропитания. Большинство контроллеров моторов имеют две винтовые клеммы для проводов батареи, обозначенных как B + и B-. Если ваша батарея поставляется с разъемом, а ваш контроллер использует винтовые клеммы, вы можете найти разъем для соединения с проводами.
Провода вы можете подключить к винтовому соединению. Хотя вам может потребоваться найти другой способ подключения аккумулятора к контроллеру двигателя.Возможно, что не все электромеханические устройства, которые вы выбрали для своего робота, могут работать при одинаковом напряжении.
Следовательно, могут потребоваться несколько цепей управления батареями или напряжением. Ниже приведены обычные уровни напряжения, используемые в общих компонентах роботизированных платформ:
Если вы создаёте робота с двигателями постоянного тока, микроконтроллером и, возможно, сервомеханизмом или двумя, то можно легко понять, что одна батарея не может напрямую управлять всем. Прежде всего, мы рекомендуем выбрать батарею, к которой можно напрямую подключать как можно больше устройств.
Батарея с наибольшей емкостью должна быть связана с приводными двигателями. Например, если выбранные вами двигатели рассчитаны на номинальное напряжение 12 В, то ваша основная батарея также должна быть 12 В. Дополнительно вы можете использовать регулятор для питания микроконтроллера на 5 В.
Техника безопасности при работе с аккумуляторами
Внимание: аккумуляторные батареи являются мощными устройствами и могут легко сжечь ваши цепи, если они подключены неправильно. Прежде всегда тройная проверка правильной полярности и возможности работы устройства с энергией, обеспечиваемой батареей.
Если вы не уверены, не «догадывайтесь». Электричество намного быстрее, чем вы, и к тому времени, когда вы поймете, что что-то не так, волшебный синий дым уже пойдет от вашего устройства.
говорящий робот
Подключение контроллеров двигателя к микроконтроллеру
Микроконтроллер может взаимодействовать с контроллерами двигателя различными способами:
Независимо от способа связи логика контроллера двигателя и микроконтроллер должны совместно использовать один и тот же опорный сигнал заземления. Это достигается путем соединения контактов GND (земля) вместе.
В первую очередь нужно соединить контакты одного и того же логического высокого уровня. Этого можно добиться, используя тот же вывод V+ для питания оба устройства. Переключатель логического уровня требуется, если устройства не используют одни и те же логические уровни (например, 3.3V и 5V)
Подключение датчиков к микроконтроллеру
Устройство связи с микроконтроллером
Большинство коммуникационных устройств (например, XBee, Bluetooth) используют последовательную связь. Следовательно требуются те же соединения RX, TX, GND и V+. Важно отметить, что, хотя несколько последовательных подключений могут использоваться совместно на одних и тех же выводах RX и TX, для предотвращения перекрестных помех, ошибок и сбоев в целом требуется надежное управление.
Если у вас очень мало последовательных устройств, часто бывает проще использовать один последовательный порт для каждого из них.
Колеса для двигателей
В идеале, вы выбрали колеса или звездочки, которые предназначены для установки на вал вашего электродвигателя. Возможно, вам придется подгонять отверстия для соединения двигателей, рулевого управления и различных проводов в одну конструкцию.
Электрические компоненты для рамы
При изготовлении робота вы можете смонтировать электронные компоненты на раме робота при помощи множества методов. Прежде всего убедитесь в том, что ваши крепления надежны. Основные методы креплений включают в себя: винты, гайки, двухсторонний скотч, липучки, клей, стяжки и т. д.
Практическая часть
В нашем случае мы будем использовать набор Lego EV3 и для создания каркаса робота нам потребуются только стандартные детали, которые уже входят в состав набора. Изготовление робота на основе набора Лего является прежде всего относительно несложным и достаточно быстрым.
Механические детали набора 45544
Создаем робота в домашних условиях
Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.
Введение
Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) – микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры 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 — их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.
Датчики препятствий
Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор – он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех — от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.
Первый вариант датчиков моего робота
Прошивка робота
Чтобы оживить робота, для него нужно написать прошивку, то есть программу, которая бы снимала показания с датчиков и управляла двигателями. Моя программа наиболее проста, она не содержит сложных конструкций и всем будет понятна. Следующие две строки подключают заголовочные файлы для нашего микроконтроллера и команды для формирования задержек:
Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
Значение 0xFF означает, что на выходе будет лог. «1», а 0x00 – лог. «0».
Следующей конструкцией мы проверяем, есть ли перед роботом препятствие и с какой оно стороны:
Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза – справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.
Заключение
Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер – простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию – уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков – установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.
Список компонентов:
Код прошивки:
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 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).
По пожеланиям выкладываю видео:
UPD. Перезалил фотографии и сделал небольшие поправки в тексте.
Статья была опубликована мною в журнале «Хакер» за август 2009 года.