Arduino USB сделай сам (DIY). Самодельный Arduino Что можно сделать с ардуино нано
А теперь переходим к практическим действиям. Превращать в Arduino будем отладочную плату, но все действия спроведливы для простого МК, кварца и пары кондеров. И так, поехали.
На плате расширения по умолчанию установлен кварц на 7,3728МГц. Для Arduino это не пойдет. Значит берем и меняем его на 16МГц.
Далее нам понадобится залить загрузчик в нашу плату. Для этого берем любую плату Arduino. У меня под рукой Arduino UNO. Если у вас еще нет Arduino, то пора ее преобретси. Купить ее можно в магазине Чип Резистор . И так, Arduino UNO у нас есть. кладем перед собой справа на столе Arduino UNO, а слева плату расширения ATmega8A. С правой стороны у этих плат есть разъем ISP с классической Атмеловской распиновкой.
Смело берем проводки и соеденяем эти разъемы один к одному за исключением 5 пина.
Теперь берем проводок и одним концом вставляем в 5-й пин на плате расширения ATmega8A, а второй конец на вывод Arduino UNO Digital 10. Должно получится вот так.
В итоге после всех манипуляций, у нас должен быть вот такой вид.
Если все отлично, то подключаемся к USB компьютера. При правильном подключении должны загорется светодиоды на Arduino UNO и красный светодиод на плате расширения ATmega8A. (К сожелению на фото провода загородили светодиод, но поверьте он горит)
Переходим к программным процедурам. А вот тут всех любителей МК ATmega8 ждет большая подстава от производителей Arduino. На текущий момент версия IDE 1.6.3 не поддерживает эти МК. Точнее конфигурационные файлы и загрузчик есть, но залить его нельзя. Дело в том что Arduino перешли на минимальный МК ATmega328P, а эта зараза имеет Extended Byte Fuse. А порстая восьмерка нет. Из-за этой дряни загрузчик не заливается, а ругается на отсутствия этих битов. Поэтому нужно загрузчик заливать старой версией IDE. У кого ее нет, можете скачать у меня . Это версия 1.0.3 и ее не надо устанавливать. Просто разархивируйте куда-нибудь и все. Далее просто запустите программу из этой папки. А теперь давайте настроим программу для заливки нашего МК. Для начала выбераем из примеров программатор ArduinoISP и заливаем его в Arduino UNO или какую вы сейчас используете.
После заливки, нужно заменить плату Arduino UNO или какая у вас на Arduino NG or older w/ATmega8 .
Все. Можно заливать. Нажимаем Сервис -> Записать загрузчик и ждем окончания записи.
Готово. Arduino родилась. Отключаем все провода, а плату расширения вешаем на отладочную плату GSMBOARD 1.1. Далее берем плату расширения USB-TTL и соединяем проводами GND - GND, RXD - TXD, TXD - RXD и подаем питание. Должен загореться зеленый светодиод.
Если все заработало, выключаем старую прогу и запускаем самцю последнюю версию. На сегодня это 1.6.3 и пишем вот такой код. void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(2000); digitalWrite(2, LOW); while(1); } Собственно что тут происходит. Сначала инициализируем пин 2 на выход. Затем выводим на него единицу, ждем две секунды и прижимаем к нулю. Затем вваливаемся в бесконечный цикл. Дабы было понятно, вот картинка во что превратилась отладочная плата.
Как видно второй пин как раз отвечает за включение и выключение модуля. Теперь самое время залить наш скетч в свежеиспеченную Arduino. Для этого перенастроим IDE выбрав пункты как на картинке ниже. И не забудьте поменять порт на USB-TTL.
Все настроили. Жмем залить скетч. Все бы хорошо да ошибка вылезла. Эх. Вот тут что за грабля заволялась. На Arduino используется виртуальный COM порт для загрузки программ. Работает это так. Сначала IDE компилит проект, затем дергает ножку ресета МК, а так как сначала запускается загрузчик, то IDE увидев его начинает лить программу во флеш. А если после компиляции не дернуть ресет МК, то IDE загрузчика не дождется и вывалит ошибку. Для дерганья ресета на всех Arduino заведена ножка COM порта DTR. На плате расширения USB-TTL этой ноги нет, поэтому когда IDE скомпилит проект и напишет Вгружаем .
Судорожно нажимаем и отпускаем кнопку сброса на плате расширения ATmega8A. IDE подцепит загрузчик и зальет программу во флеш. Все, прога потупит немного и включит GSM модуль. Если все сделали правильно, то должно быть как на картинке.
Для счастливых обладателей переходников USB-RS232 можно вывести ножку DTR из порта (естественно через микросхему MAX3232) на ресет МК. Это пин 5 на разъеме ISP через конденсатор 100нф. То есть DTR - конденсатор - RES. И тогда IDE будет сама дергать ресет. В любом случае должна получится вот такая картина. Программа отработала и включила модуль.
Теперь можно ковыряться с GSM модулем. Если возникнут вопросы, пишите. Попробуем разобраться.
АНОНИМ 02.02.16 22:32
Спасибо за статью. Теперь в своей ардуино уно я могу использовать и мегу 8.
niko19 25.12.16 23:03
Нахрена проделывать все это с платой расширения и получить Ардуину, если на столе уже готовая Ардуина лежит? Вопрос стоит, как сделать самодельную Ардуину, скажем так на макетной плате, из завалявшейся Мега8 и кварца.Что нужно залить в Мегу, буквально по пунктам, а еще лучше готовый файл прошивки, У меня например имеется параллельный программатор, впрочем и последовательный тоже есть, а готовой Ардуины нет...
Алексей 25.12.16 23:40
Ардуино это микроконтроллер фирмы атмел с залитым загрузчиком для работы с IDE от ардуины. Все что нужно так это выстовить фьюзы для загрузчика, из папки прошивок выбрать для своего мк и залить его. Если в краце.
Arduino – это потрясающая электронная платформа для создания радиолюбительских проектов. Она проста в использовании и намного дешевле профессиональных отладочных плат.
Но Arduino можно сделать еще дешевле, не приобретая заводскую плату, а сделав ее самостоятельно. И в этом материале будет рассказано, как сделать Arduino своими руками, используя компоненты из местного радиомагазина.
Шаг 1: компоненты
Для Arduino нам понадобятся:
Микроконтроллер ATmega 168
Плата для прототипирования (440 или 840 контактов)
Провода сечением 22 AWG
Регулятор напряжения 7805
Два светодиода
Два резистора 220 Ом
Один резистор 10 КОм
Два конденсатора 10 мкФ
Осциллятор 16 МГц
Два конденсатора 22 пФ
Кнопка
Штыревой разъем
Конвертор интерфейсов RS232-USB на 3.3 В
Шаг 2: организация цепи питания
В первую очередь нам нужно подвести питание для нашего микроконтроллера. Для этого мы воспользуемся регулятором напряжения 7805 на +5 В. На рисунке показана схема соединения.
Чтобы регулятор работал правильно, входное напряжение должно быть больше +5 В, например, в качестве источника подойдет батарейка +9 В. Питание заводится на красный (+) и черный (-) квадраты. Затем следует конденсатор на 10 мкФ. Поскольку он является электролитическим, то нужно соблюдать полярность. Как правило, вывод анода (+) длиннее вывода катода (-). Также большинство конденсаторов маркируются полосой на стороне катода. Дальше идут два провода, которые «перебрасывают» питание на другую часть платы. Затем следует регулятор напряжения. Здесь также нужно не ошибиться с полярностью. Если смотреть на него с фронтальной стороны, то левый контакт будет входом (Vin), средний землей (GND), а правый выходом (Vout). К выходу также, соблюдая полярность, подключаем конденсатор 10 мкФ.
Для большего удобства использования линии питания «перекинем» ее на левую сторону платы:
Также хорошей идеей является добавление светодиодного индикатора, позволяющего узнать, подключено ли в данный момент питание или нет. Подключение светодиода производится через резистор 220 Ом (на рисунке промаркирован двумя красными и одной коричневой полосами). Резистор соединяем с анодом (обычно длинный вывод) светодиода. Катод заводим на землю.
Шаг 3: выводы Arduino
Теперь нам нужно взять микроконтроллер. В данном случае используется ATmega 168 компании Atmel, но можно взять и ATmega 328. ATmega 328 работает на той же скорости и имеет тоже назначение выводов, но у нее в два раза больше флеш-памяти и памяти EEPROM.
Назначение выводов для Arduino можно наблюдать на следующем рисунке:
Шаг 4: подключаем компоненты
Подключение рассмотрим сначала относительно одной стороны микроконтроллера, затем другой стороны. Схема для стороны выводов 15-28:
Заведите землю на вывод 22. Затем питание на вывод 21 (аналоговое опорное напряжение для АЦП) и вывод 20 (питание для АЦП). На оригинальной плате Arduino вывод для светодиода обозначается как Pin 13, но по отношению к микроконтроллеру это будет вывод 19. Поэтому на 19-й вывод заводим анод светодиода, а его катод через резистор 220 Ом подключаем на землю. При программировании следует помнить, что для зажигания светодиода нужно ссылаться на 13-й вывод (Pin 13).
Теперь перейдем к противоположной стороне (выводы 1-14):
К выводу 1 подключите кнопку. Она будет использоваться для сброса микроконтроллера. Прежде чем записывать новый скетч в Arduino, нужно будет нажимать на кнопку сброса. От соединения кнопки с выводом 1 должен быть подключен резистор 10 КОм на питание. А второй контакт кнопки должен быть заземлен. Вывод 8 (GND) также должен быть заземлен, а вывод 7 (VCC) должен быть подключен к питанию. Осциллятор 16 МГц подключается к выводам 9 и 10. От него также идут конденсаторы 22 пФ на землю.
С левой стороны изображения присутствует разъем для программирования. Функционал выводов, начиная с крайнего левого следующий: GND, NC, 5V, TX, RX, NC. NC значит никуда не подключен. Вывод RX подключаем ко второму выводу контроллера, а TX к третьему. Теперь можно программировать эту самодельную плату Arduino.
Шаг 5: Программирование
Теперь нам понадобится плата конвертера интерфейсов USB-TTL. В качестве конвертера может выступать, например, FT232RL. После подключения данного переходника к выводам TX и RX, а также линии питания +5В нужно запустить среду разработки Arduino IDE и выбрать пример (раздел Example sketch files) Blink из подраздела Digital. Теперь нужно выбрать активный COM-порт USB-переходника, например, COM1 или COM9. Далее в зависимости от используемого микроконтроллера нужно выбрать плату (раздел Tools/Board): Arduino Decimila, Duemilanove or Nano w/ATmega128 или Arduino Duemilanove w/ATmega328.
Arduino своими руками
Ну вот и настало время освоить платформу для duino самостоятельно. Для начала разберемся, что нам может потребоваться. Для начал было бы не плохо определиться, на базе чего мы будем делать наш экземпляр отладочной платы. Чтобы упростить изначальную задачу, я предлагаю использовать USB-(UART)TTL адаптер для загрузки скетчей. Это упростит нам жизнь в разы. лично я буду использовать дешевенький адаптер, заказанный в ныне несуществующем интернет-магазине, но все также рабочий.
При построении нашей Duino будем стараться использовать минимальное количество элементов. По мере освоения будем добавлять необходимые компоненты.
Для ознакомления найдем схемы различных платформ на официальном сайте:
На мой взгляд схемы хорошие, но неплохо было бы посмотреть уже проверенные реализации "самоделок", мне очень понравились 3 варианта:
Соорудим минимальную обвязку нашему устройству.На первом этапе деталей необходимо минимум:
Собственно сам МК atmega328P (в моем случае, хотя может использоваться и 168 и 8)
Кварц 16 MHz
Конденсатор 22pF x 2шт.
Резистор 10k
Кнопка сброса (любая, кстати не обязательный элемент)
Вот в принципе и все, что минимально необходимо для работы микроконтроллера. Я предлагаю все наши работы иллюстрировать и проектировать в очень не плохой программке Fritzing:
Ну вот, давайте разберемся, зачем нужны данные элементы. Кнопка позволяет перезапустить микроконтроллер, резистор R1 является подтягивающим резистором для кнопки. Кварц, C1 и C2 являются внешним тактовым генератором для контроллера.
Это необходимая и достаточная обвязка, но лично я настоятельно Вам рекомендую установить керамический конденсатор 100nF параллельно основному питанию микросхемы.
Ну вот и готова наша минимальная Duino. Для того, чтобы удобнее было использовать данный отладочный инструмент, я предлагаю наклеивать на корпус подсказку с распиновкой "атмеги". Мой вариант реализован в Corel Draw:
Для начала соберем схему нашей Duino на беспаечной макетной плате, вот что получилось у меня:
Для загрузки скетчей мы будем использовать USB - TTL адаптер, на фото мой уже изрядно потрепавшийся адаптер на базе микросхемы CP2102:
Но перед загрузкой скетчей необходимо залить бутлоадер в МК, иначе, он "не поймет", что мы от него хотим. Есть масса способов, но мы будем использовать простейший. При помощи замечательного программатора USBasp:
Для начала подключим нашу Duino к программатору, это очень просто, достаточно соединить контакты программатора с Duino:
GND - масса (22 нога)
MOSI - MOSI (d11)
5V - питание "+" (7 нога)
Затем Arduino IDE -> Сервис -> "Записать загрузчик":
В процессе записи загрузчика придется подождать около 2 минут. После этого нам могут выпасть разнообразные "warning", типа "can not set SCK period" - не пугаемся и идем дальше.
Ну чтож, вот мы и готовы записать тестовый скетч "Blink" в наш новоиспеченный Duino, но есть один момент, и на нем я хотел бы остановиться. Как мы уже говорили для записи скетчей используется последовательный порт, но в "обычной" жизни МК это цифровые порты 0 и 1. Все очень просто, мы уже залили бутлоадер, он инициализирует запись новой прошивки при включении в течении нескольких секунд, после этого Duino начинает выполнять программу, которая записана у нее в памяти.
Чтобы перевести Duino в режим "приема", необходимо перезагрузить МК, для этого мы сделали специальную кнопку, но нажать ее нужно строго в определенный момент, это совсем не подходит для нас. К счастью на переходниках есть специальный вывод "RST", который достаточно подключить к 1 ноге МК, чтобы автоматически перезагружать Duino перед загрузкой скетча. Подключение очень простое, (переходник - Duino):
GND - масса (22 нога)
RXD - подключить к TXD (3 нога)
TXD - подключить к КXD (2 нога)
5V - питание "+" (7 нога)
Как Вы заметили контакты приема/передачи подключаются перекрестно. И все бы хорошо, но есть одно "но": существует огромное множество переходников, а для автоматической перезагрузки МК необходимо внедрить конденсатор на 100pF в разрыв цепи RST - перезагрузка (1 нога). В некоторых адаптерах он есть, а в некоторых - увы нет. Тут нужно только проверять, в моем экземпляре встроенного конденсатора не оказалось. В итоге схема немного "усложнилась":
Ну что же, теперь можно загрузить скетч в памяти Duino и попробовать провести несколько экспериментов =) (на фото добавлены светодиоды - индикаторы загрузки скетча):
Хочу представить вам свой проект-вариант широко известного контроллера Arduino.
Начну с короткой предыстории. Электроникой и радиотехникой я занимаюсь больше 10 лет. А вот интерес к микроконтроллерам появился не так давно. Изучал язык С, программировал микроконтроллеры от , успех был переменчивым. И как-то, изучая просторы интернета на тему программирования микроконтроллеров, попал на сайт www.arduino.ru . Их контроллеры мне понравились, захотелось такой себе. Поскольку паяльник «в руках держать умею», покупать контроллер отказался и начал искать в интернете информацию по самостоятельному его изготовлению, но ничего подходящего не нашел. Вариант платы, которую собирают на страницах http://robocraft.ru/blog/arduino/19.html сайта, мне не подходит, да и не сильно нравится. Хотелось с USB разъемом.
Скачал файлы схем оригинальных версий контроллера Arduino, даташит на микросхему FT232R, распечатал статью "Ардуино хоум мэйд" (ссылка выше) и думал как это все соединить, чтобы получилось то, что я хотел найти. И получилась вот такая схема:
Используемые в схеме детали:
Резисторы я использовал SMD типоразмером 0805:
- R1, R2, R4, R7 – от 300 Ом до 1 кОм (какие найдете);
- R3 – 10 кОм;
- R5, R6 – 1 кОм.
Конденсаторы:
- С2, С3, С5, С13, С8, С10, С11 – SMD (0805) номиналом 0,1 мкф;
- электролиты С1, С4, С9, С12 – я использовал по 22 мкф*50 В, мне они подошли по высоте. Номинал не особо важен, не ниже 10 мкф на напряжение не ниже 10 В, кроме С9, его напряжение должно быть больше не 20 % напряжения питания внешнего источника;
- С6, С7 – керамика по 22 пф.
Светодиоды любые (форма, габариты, цвет) на ток 15-20 мА. Диод D5 – 1N4007 тоже в SMD корпусе.
Кварц – 16 МГц.
Микросхемы:
- DA1 – L7805 в корпусе ТО220;
- DD1 – FT232RL (хорошая микра, но в большем корпусе не выпускают);
- DD2 – сам наш микроконтроллер, я использовал ATmega168, можно ATmega8, думаю, что и ATmega328 тоже подойдет, главное загрузить соответствующий загрузчик (bootloader).
По итоговой стоимости точно сказать не могу (SMD компоненты не покупались, нашлись в коробочках электронщика-радиолюбителя). А затраты были следующие (г. Ростов-на-Дону): FT232RL – 200 р., ATmega168 – 220 р., L7805 – 15 р., разъемы, предохранитель, гребенки, панелька, кнопка – около 100 р.
При подключении собранного устройства к компьютеру определится новое устройство, нужно установить драйвер, указав путь к директории «FTDI USB Drivers» (в скаченной программе Arduino IDE).
С печатной платой (ПП) были некоторые проблемы, но мне помогла картинка ПП в статье. Все распиновки и расстояния разъемов совпадают с оригинальной платой ардуино, можно будет подсоединять различные arduino-совместимые платы расширения.
Назначение этого контроллера может быть самое различное – от "учебника" по программированию до создания серьезных охранных систем. Информации по его применению в интернете очень много.
Работает контроллер просто. На компьютер устанавливается программа Arduino IDE, скаченная бесплатно с официального сайта www.arduino.cc . В ней Вы пишите свою программу (скетч) для исполнения контроллером. Потом, нажимая кнопку в среде Arduino IDE "загрузить", компьютер компилирует Вашу программу в язык понятный микроконтроллеру и через виртуальный com порт, созданный микросхемой FT232R, передает ее микроконтроллеру. После загрузки программы, она начинает сразу исполняться, если не отключено питание контроллера. Также микросхема FT232R имеет выходной сигнал для автоматического перезапуска микроконтроллера, необходимого при загрузке скетча. Плата контроллера может питаться как от usb, так и от внешнего источника питания (8-25 В) для чего установлен микросхемный стабилизатор L7805. Присутствует на плате предохранитель 500 мА по +5 В от usb, чтобы не повредить usb порт при неполадках в плате контроллера. С помощью разъема ICSP можно программировать микроконтроллер внешним программатором. Кнопка, установленная на плате, сбрасывает работу микроконтроллера, и он начинает исполнение загруженной программы заново. Диод D5 защищает микроконтроллер от переполюсовки питания.
Фото готового контроллера:
Расположение некоторых деталей на фото платы не совпадает с файлом ПП, по причине совершенствования на момент создания статьи. Файл ПП в программе прилагается.
Правильно собранный и прошитый контроллер начинает работать сразу. Отмечу – что после первой (и возможно последующей) загрузки бутлоадера, начинает моргать с небольшой частотой светодиод D3.
Прошить бутлоадер готового устройства несложно. Самая сложность заключается в наличие программатора. Поскольку я имел опыт программировать микроконтроллеры, то у меня уже был собран программатор Prottoss AVR910 . Лошадка рабочая, автору 5 из 5! Далее подключаем программатор к плате ардуино, открываем программу для программирования микроконтроллеров AVR (я использовал ), открываем окно прошивки микроконтроллера, нажимаем load flash, находим наш (для ATmega168) файл прошивки в скаченном дистрибутиве «…arduino-1.0.1\hardware\arduino\bootloaders\atmega\ ATmegaBOOT_168_diecimila.hex. Далее необходимо выставить lock и fuse биты так, как показано на рисунке:
Узнать фьюз- и лок-биты для своего микроконтроллера можно посмотреть в файле: «…arduino-1.0.1\hardware\arduino\boards.txt», использовав калькулятор фьюзов для AVR (можно легко найти в интернете).
Если же у Вас нет программатора, но есть программатор у друга, соседа.., то есть другой, более быстрый и полезный способ прошить загрузчик. Для этого нужно собрать программатор . Схема рабочая и проверенная мной. Простота этого метода заключается в том, что не нужно искать прошивку микроконтроллера, выставлять фьюз и лок-биты. При подключении этого программатора к компьютеру с установленными драйверами и подключенным программируемым МК, Вы, выбрав в программе Arduino IDE порт, на котором «сидит» программатор и свою прошиваемую плату и подключенный программатор, просто нажимаете на кнопку во вкладке сервис «прошить загрузчик» и радуетесь.
Если же у Вас присутствует проблема "яйца и курицы", то я посоветую собрать вот этот программатор (сам его не собирал, но думаю вешь хорошая). Или погуглить интернет на тему AVRISP-mkII. Еще вложу архив с информацией по этому программатору с файлами и описанием.
Про альтернативный метод прошивки бутлоадера можно почитать .
Теперь (с устанвленными драйверами на компьютере, открываете программу Arduino IDE, во вкладке «Сервис» наводим курсор на вкладку «плата» и выбираем свое устройство (в моем варианте это – Arduino Diecimila or Duemilanove w/ ATmega168). Далее, там же, выбираем порт к которому подключен контроллер (можно посмотреть в диспетчере устройств компьютера). Реализуем свои мысли в скетче и радуемся работе контроллера!
Все возникшие вопросы присылайте в личку.
Плату контроллера разработал и успешно использует ростовский радиолюбитель Ананьев Валерий
. Логин на сайте:
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
DD1 | ИС USB интерфейса | 1 | В блокнот | |||
DD2 | МК AVR 8-бит | ATmega168 | 1 | В блокнот | ||
DA1 | Линейный регулятор | L7805AB | 1 | ТО220 | В блокнот | |
D1-D4 | Светодиод | 4 | Любые на ток 15-20 мА | В блокнот | ||
D5 | Выпрямительный диод | 1N4007 | 1 | SMD | В блокнот | |
Q1 | Кварцевый резонатор | 16 МГц | 1 | В блокнот | ||
С1, С4, С9, С12 | Электролитический конденсатор | 22мкФ 50В | 4 | В блокнот | ||
С2, С3, С5, С8, С10, С11, С13 | Конденсатор | 0.1 мкФ | 7 | SMD (0805) | В блокнот | |
С6, С7 | Конденсатор | 22 пФ | 2 | Керамический | В блокнот | |
R1, R2, R4, R7 | Резистор | От 300 Ом до 1 кОм | 4 | SMD (0805) |
Arduino - это универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее.
Из этой статьи вы узнаете, что можно сделать интересного на Ардуино. Какие проекты станут зрелищными, а какие полезными.
Что можно сделать с помощью Arduino
Робот пылесос
Уборка в квартире - рутинное занятие и малопривлекательное, тем более на это нужно время. Сэкономить его можно, если часть хлопот по дому возложить на робота. Этого робота собрал электронщик из г. Сочи - Дмитрий Иванов. Конструктивно он получился достаточно качественным и не уступает в эффективности .
Для его сборки вам понадобятся:
1. Arduino Pro-mini, или любая другая подобная и подходящая по размерам...
2. USB-TTL переходник, если вы используете Pro mini. Если вы выбрали Arduino Nano, то он не нужен. Он уже установлен на плате.
3. Драйвер L298N нужен для управления и реверсирования двигателей постоянного тока.
4. Маленькие двигателя с редуктором и колесами.
5. 6 ИК-датчиков.
6. Двигатель для турбины (побольше).
7. Сама турбина, а вернее крыльчатка от пылесоса.
8. Двигателя для щеток (небольшие).
9. 2 датчика столкновения.
10. 4 аккумулятора 18650.
11. 2 преобразователя постоянного напряжения (повышающий и понижающий).
13. Контроллер для работы (заряда и разряда) аккумуляторов.
Система управления выглядит следующим образом:
А вот система питания:
Подобные уборщики развиваются, модели заводского изготовления обладают сложными интеллектуальными алгоритмами, но вы можете попытаться сделать свою конструкцию, которая не будет уступать по качеству дорогим аналогам.
Способны выдавать световой поток любого цвета, в них обычно используются светодиоды в корпусе которых размещено три кристалла светящиеся разным цветом. Для их управления продаются , их суть заключается в регулировании тока подаваемого на каждый из цветов светодиодной ленты, следовательно - регулируется интенсивность свечения каждого из трёх цветов (отдельно).
Вы можете сделать своими руками RGB-контроллер на Ардуино, даже более того, в этом проекте реализовано управление через Bluetooth.
На фото приведен пример использования одного RGB-светодиода. Для управления лентой потребуется дополнительный блок питания на 12В, тогда будут управлять затворами полевых транзисторов включенных в цепь. Ток заряда затвора ограничен резисторами на 10 кОм, они устанавливаются между пином Ардуино и затвором, последовательно ему.
С помощью микроконтроллера можно сделать универсальный пульт дистанционного управления управляемый с мобильного телефона.
Для этого понадобится:
Arduino любой модели;
ИК-приемник TSOP1138;
ИК-светодиод;
Bluetooth-модуль HC-05 или HC-06.
Проект может считывать коды с заводских пультов и сохранять их значения. После чего вы можете управлять этой самоделкой через Bluetooth.
Веб-камера устанавливается на поворотный механизм. Её подключают к компьютеру, с установленным программным обеспечением. Оно базируется на библиотеке компьютерного зрения - OpenCV (Open Source Computer Vision Library), после обнаружения программой лица, координаты его перемещения передаются через USB-кабель.
Ардуино даёт команду приводу поворотного механизма и позиционирует объектив камеры. Для движения камеры используется пара сервоприводов.
На видео изображена работа этого устройства.
Следите за своими животными!
Идея заключается в следующем - узнать, где гуляет ваше животное, это может вызвать интерес для научных исследований и просто для развлечения. Для этого нужно использовать GPS-маячок. Но чтобы хранить данные о местоположении на каком-нибудь накопителе.
При этом габариты устройства здесь играют решающую роль, поскольку животное не должно ощущать от него дискомфорт. Для записи данных можно использовать для работы с картами памяти формата Micro-SD.
Ниже приведена схема оригинального варианта устройства.
В оригинальной версии проекта использовалась плата TinyDuino и шилды к ней. Если вы не можете найти такую, вполне можно использовать маленькие экземпляры Arduino: mini, micro, nano.
Для питания использовался элемент Li-ion, малой ёмкости. Маленького аккумулятора хватает примерно на 6 часов работы. У автора в итоге все поместилось в обрезанную баночку из-под тик-така. Стоит отметить, что антенна GPS должна смотреть вверх, чтобы получать достоверные показания датчика.
Взломщик кодовых замков
Для взлома кодовых замков с помощью Ардуино понадобятся серво- и шаговый двигатель. Этот проект разработал хакер Samy Kamkar. Это достаточно сложный проект. Работа этого устройства изображена на видео, где автор рассказывает все подробности.
Конечно, для практического применения такое устройство вряд ли подойдет, но это отличный демонстрационный.
Ардуино в музыке
Это скорее не проект, а небольшая демонстрация какое применение нашла эта платформа у музыкантов.
Драм машина на Ардуино. Примечательна тем, что это не обычный перебор записанных сэмплов, а, в принципе, генерация звука с помощью «железных» приспособлений.
Номиналы деталей:
Транзистор NPN-типа, например 2n3904 - 1 шт.
Резистор 1 кОм (R2, R4, R5) - 3 шт.
330 Ом (R6) - 1 шт.
10 кОм (R1) - 1 шт.
100 кОм (R3) - 1 шт.
Электролитический конденсатор 3.3 мкФ - 1 шт.
Для работы проекта потребуется подключение библиотеки для быстрого разложения в ряд Фурье.
Это достаточно простой и интересный проект из разряда «можно похвастаться перед друзьями».
3 проекта роботов
Робототехника - одно из интереснейших направлений для гиков и просто любителей сделать что-нибудь необычное своими руками, я решил сделать подборку из нескольких интересных проектов.
BEAM-робот на Ардуино
Для сборки четырёхногого шагающего робота вам понадобятся:
Для движения ног нужны сервомоторчики, например, Tower Hobbies TS-53;
Кусок медной проволоки средней толщины (чтобы выдерживала вес конструкции и не гнулась, но и не слишком толстой, т.к. не имеет смысла);
Микроконтроллер - AVR ATMega 8 или плата Ардуино любой модели;
Для шасси в проекте указано, что использовалась Рамка Sintra. Это что-то вроде пластика, он сгибается в любую форму при нагревании.
В результате вы получите:
Примечательно то, что этот робот не ездит, а шагает, может перешагивать и заходить на возвышения до 1 см.
Этот проект мне, почему-то, напомнил робота из мультфильма Wall-e. Его особенностью является использование для зарядки аккумуляторов. Он перемещается подобно автомобилю, на 4-х колесах.
Его составляющие детали:
Перемычки мама-папа;
Солнечная панель с выходным напряжением в 6В;
В качестве донора колес, двигателей и других деталей - машинка на радиоуправлении;
Два сервопривода непрерывного вращения;
Два обычных сервопривода (180 градусов);
Держатель для батареек типа АА и для «кроны»;
Датчик столкновений;
Светодиоды, фоторезисторы, постоянные резисторы на 10 кОм - всего по 4 штуки;
Диод 1n4001.
Пластиковая бутылка подходящего размера;
Вот основа - плата Ардуино с прото-шилдом.
Вот так выглядят запчасти от - колеса.
Конструкция почти в сборе, датчики установлены.
Суть работы робота заключается в том, что он едет на свет. Обилие нужно ему для навигации.
Это скорее ЧПУ станок, чем робот, но проект весьма занимательный. Он представляет собой 2-х осевой станок для рисования. Вот перечень основных компонентов, из которых он состоит:
(DVD)CD-приводы - 2 шт;
2 драйвера для шаговых двигателей A498;
сервопривод MG90S;
Ардуино Уно;
Источник питания 12В;
Шариковая ручка, и другие элементы конструкции.
Из привода оптических дисков используется блоки с шаговым двигателем и направляющей штангой, которые позиционировали оптическую головку. Из этих блоков извлекают двигатель, вал и каретку.
Управлять шаговым двигателем без дополнительного оборудования у вас не выйдет, поэтому используют специальные платы-драйверы, лучше, если на них будет установлен радиатор двигателя в момент пуска или смены направления вращения.
Полный процесс сборки и работы показан на этом видео.
Смотрите также 16 лучших Arduino проектов от AlexGyver:
Заключение
В статье рассмотрена лишь малая капля из всего того, что вы можете сделать на этой популярной платформе. На самом деле всё зависит от вашей фантазии и задачи, которую вы ставите перед собой.