Делаем сами Arduino Uno Mini. Arduino: что можно сделать с его помощью Самодельный ардуино
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.
Начну с короткой предыстории. Электроникой и радиотехникой я занимаюсь больше 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 UNO
При необходимости можно сделать контроллер Arduino UNO своими руками. С этой целью применяются два трансивера и одна обкладка. Конденсаторы разрешается использовать с проводимость от 50 мк. Рабочая частота у элементов находится на уровне 300 Гц. Для установки транзистора применяется регулятор. Фильтры можно припаивать в начале цепи. Довольно часто они устанавливаются переходного типа. В данном случае трансиверы разрешается использовать расширительного типа.
Сборка Arduino UNO R3
Собрать Arduino UNO R3 своими руками довольно просто. С этой целью потребуется заготовить трансивер переходного типа, который работает от переходника. Стабилизатор разрешается использовать с проводимостью от 40 мк. Рабочая частота у контроллера будет составлять около 400 Гц. Специалисты советуют не использовать проводниковые транзисторы, поскольку они не способны работать при волновых помехах. Многие модели делаются с саморегулируемыми трансиверами. Коннекторы у них подключаются с проводимостью от 340 мк. у контроллеров данной серии равняется не менее 200 В.
Сборка модификации Arduino Mega
Сделать Arduino Mega своими руками можно только на базе коллекторного трансивера. Контакторы довольно часто устанавливаются с переходниками, а чувствительность у них равняется не менее 2 мВ. Некоторые специалисты рекомендуют использовать инвертирующие фильтры, однако надо помнить, что они не могут работать при пониженной частоте. Транзисторы используются только проводникового типа. Блок выпрямителя устанавливается в последнюю очередь. При возникновении проблем с проводимостью эксперты рекомендуют проверить номинальное напряжение устройства и поставить емкостные конденсаторы.
Как собрать Arduino Shield?
Собрать контроллер Arduino Shield своими руками довольно просто. С этой целью трансивер можно заготавливать на два переходника. Транзистор разрешается использовать с подкладкой и проводимостью на уровне 40 мк. Рабочая частота у контроллера данной серии равняется не менее 500 Гц. Эксплуатируется элемент при напряжении от 200 В. Регулятор для модификации потребуется на триоде. Преобразователь нужно устанавливать для того, чтобы не перегорел трансивер. Фильтры часто используются переменного типа.
Сборка Arduino Nano
Контроллер Arduino Nano своими руками делается с двумя трансиверами. Для сборки используется стабилизатор полюсного типа. Всего потребуется два конденсатора малой емкости. Транзистор устанавливается с фильтром. Триод в данном случае обязан работать при частоте не менее 400 Гц. Номинальное напряжение контроллеров данной серии составляет 200 В. Если говорить про другие показатели, то стоит отметить, что чувствительность составляет не менее 3 мВ. Реле для сборки потребуется с сеточным фильтром.
Сборка транзисторов SMD
Чтобы сделать с транзистором SMD (Arduino), потребуется только один трансивер. Для поддержания стабильной частоты устанавливаются два конденсатора. Емкость у них обязана составлять не менее 5 пФ. Для установки тиристора применяется обычный проводной переходник. Стабилизаторы в начале цепи устанавливаются на диодной основе. Проводимость у элементов должна составлять не менее 55 мк. Также следует обращать внимание на изоляцию конденсаторов. Для уменьшения количества сбоев в работе системы рекомендуется применять только преобразовательные компараторы с низкой чувствительностью. Также стоит отметить, что существуют волновые аналоги. Показатель чувствительности у них равняется 200 мВ. Регуляторы подходят только дуплексного типа.
Модель на базе DA1
Транзисторы данной серии обладают отличной проводимостью и способны работать с выходными преобразователями разной частоты. Сделать модификацию своими руками пользователь способен на базе проводникового трансивера. Контакты его подключаются напрямую через конденсаторный блок. Также стоит отметить, что регулятор устанавливается за трансивером.
При сборке контроллера рекомендуется применять емкостные триоды с низкими тепловыми потерями. У них высокая чувствительность, а проводимость находится на уровне 55 мк. Если использовать простой стабилизатор переходного типа, то фильтр применяется с обкладкой. Специалисты говорят о том, что тетроды разрешается устанавливать с компаратором. Однако стоит учитывать все риски сбоев в работе конденсаторного блока.
Сборка на транзисторе DD1
Транзисторы DD1 обеспечивают высокую скорость отклика при незначительных тепловых потерях. Чтобы собрать контроллер Arduino своими руками, рекомендуется заготовить трансивер. Целесообразнее применять линейный аналог, у которого высокая проводимость. Также надо отметить, что рынок переполнен однополюсными модификациями, и показатель чувствительности у них находится на уровне 60 мВ. Для качественного контроллера этого явно недостаточно.
Регулятор стандартно устанавливается дуплексного типа. Триод для модели подбирается на диодной основе. Непосредственно компаратор устанавливается в начале цепи. Он обязан работать при сопротивлении не ниже 50 Ом. Номинальное напряжение при этом обязано составлять около 230 В.
Модель на базе DD2
Транзисторы DD2 эксплуатируются при проводимости 300 мк. У них высокая чувствительность, однако они способны работать лишь при высокой частоте. С этой целью на контроллер устанавливается расширительный трансивер. Далее чтобы сделать Arduino своими руками, берется проводниковый коммутатор. Выходные контакты элемента соединяются с реле. Сопротивление у коммутатора обязано составлять не менее 55 Ом.
Дополнительно стоит проверить сопротивление на конденсаторном блоке. Если данный параметр превышает 30 Ом, то фильтр используется с триодом. Тиристор устанавливается с одним стабилизатором. В некоторых случаях за транзисторами припаиваются выпрямители. Данные элементы не только поддерживают стабильность частоты, но и частично решают проблему с проводимостью.
Сборка на транзисторе L7805
Собрать контроллер Arduino своими руками (на базе транзистора L7805) довольно просто. Трансивер для модели потребуется с сеточным фильтром. Проводимость элемента должна составлять не менее 40 мк. Дополнительно стоит отметить, что конденсаторы разрешается использовать двоичного типа. Специалисты говорят о том, что номинальное напряжение не должно составлять выше 200 В. При этом чувствительность зависит от многих факторов. Компаратор чаще всего на контроллер устанавливается с линейным переходником. На выходе припаивается триод на диодной основе. Для стабилизации процесса преобразования применяется однопереходный фильтр.
Модель на базе FT232RL
Чтобы правильно сделать контроллер Arduino своими руками, рекомендуется подобрать высоковольтный трансивер. Проводимость элемента обязана составлять не менее 400 мк при чувствительности 50 мВ. Контакторы в данном случае устанавливаются на выходе цепи. Реле разрешается использовать низкой проводимости, но важно обратить внимание на показатель предельного напряжения, который не должен превышать 210 В. Триод можно устанавливать только за обкладкой.
Также стоит отметить, что для контроллера потребуется один преобразователь. Конденсаторная коробка используется с двумя фильтрами низкой проводимости. Уровень выходного сопротивления элемента зависит от типа компаратора. В основном он используется на дипольном переходнике. Однако есть импульсные аналоги.
Сборка контроллера с транзистором 166НТ1
Транзисторы указанной серии обладают проводимостью в 400 мк, и у них хорошая чувствительность. Чтобы сделать котроллер своими руками, рекомендуется применять дипольный трансивер. Однако фильтры для него подходят только с обмоткой. Специалисты говорят о том, что контактор следует устанавливать с переходником. В данном случае хорошо подойдет линейный компонент, а номинальное напряжение в цепи обязано составлять не менее 200 В. Таким образом, рабочая частота у контроллера не будет опускаться ниже 35 Гц.
Давайте же приступим!
Шаг 1.Введение.
Вопросы,как и что сделать,а вообще зачем оно мне?
После серфа по тоннам информации об Arduino…от изготовления светодиодного кубика,до создания «Умного дома»,до изготовления летающих дронов…
вы,как и я,лихорадочно начали искать более-менее приемлимую инфу об изготовлении этой всемогущей платы.
«Черт возьми,хочу такую!» или «Я хочу сделать это.Прямо сейчас.»И в голове крутятся все возможные применения этого устройства,
руки сами начинают искать детали для платы,заходите в интернет,а там:
АРДУИНО.Всего за 25$.
И все.
Все комбинации выпали из головы.
Безнадега.
Не знаете,как жить дальше.
И тут вы натыкаетесь на этот сайт!
Вы спасены!
Ведь именно сейчас мы с вами соберем ARDUINO-совместимую плату за 15 минут и всего за примерно 300 рублей!
Шаг 2.Приобретите это немедля!
Вам необходимы эти компоненты:
-Макетная плата
-ATMega 328(примечание переводчика: можно использовать также ATMega 8,168)
-Готовая плата Arduino(*и снова переводчик-вместо ардуины можно использовать любой программатор,хоть «5 проводков»)
-1 резонатор на 16мГц
-3 резистора на 100Ом
-1 резистор на 10кОм
-2 конденсатора на 22pF
-3 светодиода(красный,желтый и зеленый)
-1 батарея типа»Крона»(9 вольт) с ответной частью
-USB-кабель
-1 стабилизатор напряжения «КРЕНка»
-Компьютер,ноутбук с установленной Arduino IDE.
И все.
Шаг 3.Начало сборки.
Возьмите макетку и закрепите микроконтроллер так,чтобы его ножки не были замкнуты(он должен стоять над «канавкой»)
Шаг 4.Подключение КРЕНки.
Поместите КРЕНку на макетку рядом с МК.
Распиновка КРЕНки:
-VCC(питание снаружи)
-GND(Земля.Общий контакт)
-Output(Выход)
Подсоедините черный провод к GND.Соедините его другой конец с шиной «GND» на макетке.
VCC подключите к шине питания+ на макетке.
И Output киньте туда,где будет питание чипа.
Шаг 5.Проводим питание к МК.
Хорошенько изучите распиновку
АТМеги.
Соедините Output КРЕНки и GND макетки соответственно с Output(7 и 20 пин) и GND(8 и 22 пин) МК.
Шаг 6.Добавим точности.
Подключите конденсатор на 22pF между GND и 9 пином АТМеги.
И второй конденсатор между 10 пином АТМеги и,опять же,землей.
Добавьте резистор на 10кОм между 5v и RESET(1 пин).
Шаг 7.Добавляем светодиоды.
Воткните провод в любое место платы.
Подключите резистор 100Ом к одному из концов провода(см.картинку)
Длинную ножку диода (+) желтого диода подсоедините к другому концу резистора.
Короткую ножку(-) подключите к земле.
Повторите для красного и зеленого диодов.
Шаг 8.Подключаем все это к ARDUINO.
Далеко зашли мы,однако!
Подключите желтый диод к 9 пину Arduino.
Желтый диод отображает работу программатора.
Подключите красный диод к 8 пину Ардуины.
Он загорается,если что-то пошло не так.
И зеленый диод подключите к 7 пину.
Он показывает статус заливки bootloader’а.
Подсоедините 4 провода(на картинке-3 желтых и зеленый) к пинам АТМеги на макетке(см.рисунок).
А затем эти провода к 10-13 пинам Ардуино.
Не забудьте соединить 5 и GND Ардуины и макетки!
Шаг 9.Программирование.
Фух,добрались и до заливки бутлоадера.
Как,спросите вы?
АК вот так!
1)Запустите Arduino IDE.
2)Выберите Файл-Примеры-Arduino ISP.
3)Скомпилируйте скетч и залейте его в Ардуину.
После заливки скетча Вы увидите,что желтый диод начал мигать.
Теперь добавьте резистор на 100 Ом между землей и Reset Ардуины.
Шаг 10.Собственно заливка загрузчика.
В Arduino IDE выберите:
Tools-Board-Arduino Duemilkanove with AtMega 328(* Если вы используете не АТМегу 328,найдите в списке модель с тем контроллером,который установлен у вас)
Tools-Programmer-Arduino as ISP.
И снова в меню Tools.Зайдите и нажмитье «Burn Bootloader»
Прошивка начнется(займет около минуты)
На экране появится надпеись «Done Burning Bootloader»
Если что-то пойдет не так,загорится красный диод,то не получилось.Обращайтесь в личку или на [email protected] .
Вуаля!У вас есть свой Ардуино!
Счастливой работы!
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 и попробовать провести несколько экспериментов =) (на фото добавлены светодиоды - индикаторы загрузки скетча):