Гуляя по просторам интернета под пиво, наткнулся на интересный проект. Там препятствия обнаруживаются за счет емкости между ними и антенной. Как я понял, ребята уже собрали и отладили эту штуку. Схема выдает на выходе импульс длиной тем меньшей, чем более плотные предметы находятся рядом. Т.е. эта штука реагирует на все, что плотнее воздуха.
Удивительно мало написано про такой простой и удобный инструмент, как связь по USART нескольких модулей. Эта тема требует отдельного рассмотрения физической, протокольной и программной части. Поскольку я в конце 2007 года увлекся микроконтроллерами фирмы Atmel, связывать мы будем по их методике. Тут существуют и промышленные решения, к примеру RS-485 или его дуплексные близнецы, но они совершенно не подходят для мобильной робототехники. Там обычно к каждому узлу ставится свой блок, одной стороной подключенный к общей шине, другой к приемопередатчику. Сейчас я хочу описать свой вариант связи нескольких устройств по USART.
Вот и добрался, наконец, до следующего этапа. Тут диплом, заморочки всякие страшные, жизненные трудности и перемены. Времени все не хватало на любимое хобби.
Зато у робота теперь есть имя:) Тимми, как у персонажа Южного парка. Итак, вот, что у меня пока получилось:
Как можно понять из заголовка, сегодня буду рассказывать про контроллер периферии.
Для экспериментов и развлечений с робототехникой очень хорошо обзавестись железом. Конечно можно все смоделировать на ПК. Но это же не так интересно. Хочется, потрогать, полюбоваться. Да и любовь к самодельщине у меня мало что убъет, поздно уже:)
Итак, железо бывает самым разнообразным: ловкие чудо-манипуляторы, летающие мультикоптеры, гусеничные вездеходы, что-то ползающее, гнущееся, кувыркающееся… да даже микроволновку в каком-то смысле можно назвать роботом:)
Я же решил остановиться на самом простом решении — колесной платформе. Платформа может быть простой, а вот установить на нее можно все, что угодно. Тот же PR-2 или Qbo построены на колесных шасси, что нисколько не умаляет их удивительности, лишь ограничивает проходимость.
Ну и это все же робоплатформа, а не грузовимк для гномов. Так что помимо колес и приводов должно быть еще что-то хоть сколько-нибудь автоматическое и интеллектуальное.
Вспомнился мне на днях на Хабре. Забавно. Из почти что ничего получаем классную игрушку. Решил вот сделать в подарок девушке свою версию, только Spring Sun Edition:)
Достался мне тут ноутбук samsung R519. У бедняги обуглившееся пятно на материнской плате. В ремонт хозяева отдавать не хотели, отдали мне на растерзание. Под свою ответственность ставить хозяевам новую мп я не хотел, а оживлять старую — занятие для ну очень прокаченных железных фриков. К тому же схем нет, а на четырехслойной плате дорожки проследить можно разве что с помощью рентгена. А я вот и думаю, чем в нем можно поживиться, помимо легко подключаемых HDD, ODD, и RAM.
Взялся я тут частично перевести документацию на ATmega16, а именно расставить наконец точки над USART. Изначально хотел перевести для себя, чтобы подробней разобраться, но раз перевел, то почему бы не поделиться. Язык корявенький, но суть понять думаю можно. Если бы я еще красиво фразы строил, то за два вечера точно бы не управился.
Если честно, то четыре года назад, когда datasheet на ATmega16 впервые попал на мой жесткий диск, я был в ужасе. 349 страниц текста, еще и на английском. Только читать замучаешься, не то что понять и разобраться. Так что тем, кто сейчас стоит на той же ступеньке, на которой я тогда, перевод, даже кривой, может быть очень кстати. В главах про USART описывается не только работа с контроллером. Там описан и сам протокол и его реализация, и принцип по которому контроллер его обрабатывает.
Желающие могут качать и читать.
Перевод документации ATmega16, страницы с 144 по 171 — глава USART:
При работе с разными контроллерами и цифровой электроникой постоянно приходится сверяться с документацией и справочниками. Совершенно невозможно удержать в голове все константы, форматы и имена функций. И не нужно. Мозг должен заниматься творчеством. Решил собрать в одном месте несколько полезных шпаргалок.