Делаем собственный аналог ардуино уно своими руками

veroduino: самодельный дешевый Arduino

Можно сделать клон Arduino на простейшей отладочной плате с отверстиями (stripboard, veroboard), который называется veroduino. Вместе с переходником USB — COM TTL он будет работать точно так же, как и дорогой фирменный Arduino.

Как только проект проходит стадию отладки и опытного образца, то уже не нужно использовать полную версию Arduino. Даже с учетом падающей стоимости Arduino-совместимых плат, таких как Arduino Nano и Arduino Mini, часто бывает излишне дорого использовать заводскую плату Arduino.

К счастью, можно очень просто создать собственную схему на микроконтроллере ATmega, которая будет работать как аналог Arduino, и она обойдется очень дешево.

В память микроконтроллера ATmega нужно прошить Arduino-загрузчик, и после этого Ваша плата будет работать в среде Arduino IDE точно так же, как и оригинальный Arduino.

[Используемые детали для veroduino]

В этом примере базовый Arduino собирается на маленьком куске стрипбоарда (квадрат примерно 5 на 5 см), и все что Вам понадобится — несколько недорогих радиодеталей и немного времени. В таблице перечислены используемые детали (цены указаны приблизительные, на момент публикации статьи).

Наименование Шт. Цена, руб.
Кусочек stripboard/veroboard 1 ?
Atmel ATmega328P-PU 1 120
Сокет 28 pin DIL 1 17
Кварц 16 MHz, усеченный корпус 1 6
Линейный стабилизатор LM7805 1 6
Электролитический конденсатор 100uF 25V 2 3
Конденсатор 22pF керамический дисковый 2 0.5
Конденсатор 100nF керамический дисковый 1 0.6
Диод 1N4001 (ставить необязательно) 1 0.6
Кнопка (ставить необязательно) 1 0.8
Резистор 10K 0.25W (ставить необязательно) 1 0.2
Коннектор папа 6 pin (ставить необязательно) 1 0.3
Медный одножильный луженый провод ?

Плата stripboard (veroboard) представляет из себя обычно просто кусок односторонне фольгированного текстолита, в котором насверлены отверстия 0.9 мм со стандартным шагом 2.54 мм (100 mil).

Фольга стрипбоард разделена на прямолинейные дорожки, из которых путем разрезания полосок и установок перемычек формируется электронная схема. Имеется даже специальное программное обеспечение, которое позволяет разработать конфигурацию монтажа схемы на стрипбоард [6].

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

Схему можно слегка упростить/урезать, если кое-что на ней Вам не нужно. Например, если не нужна возможность программирования прямо на плате, то тогда можно выкинуть из схемы соответствующий 6 pin коннектор (JP1 FTDI) и конденсатор на 100 нФ.

Если Вам не нужна кнопка сброса и сброс от FTDI, то можно выкинуть также и резистор на 10 кОм. Может быть также не нужен диод 1N4001, который защищает от ошибочной обратной полярности питания.

Часто можно выбросить из схемы конденсаторы на 22 пФ, которые подключены к кварцу и на землю — кварцевый генератор микроконтроллера заработает и без них, однако выбрасывать эти конденсаторы в общем случае не рекомендуется.

Частота используемого кварцевого резонатора может отличаться от 16 МГц, однако для того, чтобы правильно работал бутлоадер, он должен быть скомпилирован на нужную частоту кварца.

Кроме того, чтобы точно вычислялись интервалы времени в скетчах (программах микроконтроллера) Arduino IDE, нужно правильно выставить частоту кварцевого резонатора в проекте.

В качестве микроконтроллера можно использовать либо ATmega168A, ATmega168PA (у него память Flash/EEPROM/SRAM в два раза меньше по размеру, чем у ATmega328P) либо ATmega328P (что предпочтительнее, так как часть FLASH памяти программ будет занята загрузчиком Arduino).

[Сборка veroduino]

На рис. 2 показано размещение на stripboard деталей нашего Arduino, и нужные соединения. Для монтажа Вам понадобится стрипбоард 20 X 19 отверстий (20 отверстий на каждой из 19 полосок фольги).

Если не нужна кнопка для сброса и коннектор FTDI для программирования через среду Arduino IDE, то можно обойтись платой stripboard меньшего размера, 14 X 19 отверстий (14 отверстий на каждой из 19 полосок фольги).

Рис. 1 — принципиальная схема veroduino

Рис. 2 — монтажная схема veroduino

Красными крестиками помечены места, где нужно разрезать полоски фольги на стрипбоард. Черными перемычками показана шина земли (GND), а красными перемычками шина питания VCC (+5V). Разрежьте монтажным ножом дорожки на стрипбоард в местах, помеченных красными крестиками, и сделайте монтаж в соответствии с рис. 2.

Если Вы не дружите с паяльником, и не знаете, как делать монтаж на стрипбоард, то почитайте [6]. Убедитесь, что установленный сокет для микроконтроллера ориентирован правильно, его выемка, соответствующая 1 выводу, должна быть сверху, напротив стабилизатора LM7805.

Правильно установите диод — его конец, помеченный полоской (катод) должен быть сверху (ориентирован к краю платы). Соблюдайте также полярность электролитических конденсаторов 100 мкФ. Положительный вывод конденсатора 100 мкФ (на рис. 2 помечен символом +) обычно не имеет метки на бочонке конденсатора, а отрицательный вывод помечен белой полоской.

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

[Подключение питания к veroduino]

Вы можете подключить плюс источника постоянного напряжения 7..9V к точке VIN, а отрицательный к точке GND (см. рис. 2). Можно использовать либо стабилизированный, либо нестабилизированный источник питания. В качестве нестабилизированного источника питания может служить трансформатор, диодный мост и конденсатор на 1000..2200 мкФ 16 вольт.

Можно также использовать напряжение выше 9V (например, 12V), но тогда для стабилизатора LM7805 может понадобиться охлаждающий радиатор. Можно также подать питание через переходник FTDI USB-TTL RS232 (от шины 5V USB), но тогда нужно убедиться, что Вы отключили от VIN другой источник питания.

Если хотите иметь подключенными одновременно и внешнее питание на VIN, и переходник FTDI, то нужно убрать синюю перемычку возле коннектора FTDI (см. рис. 2).

[Подключение к портам I/O микроконтроллера]

Цифровые и аналоговые линии показаны на рис. 2, это сигналы D0..D13 и A0..A5 соответственно.

Имейте в виду, что расположение физическое расположение коннекторов и разводка сигналов отличается от оригинального Arduino, однако их все равно можно использовать в скетчах Arduino IDE.

В списке деталей эти коннекторы не указаны, так как в готовом проекте Вы можете захотеть напрямую подключиться (припаять нужные провода) прямо к ножкам микроконтроллера (или к соответствующим полоскам фольги stripboard).

[Arduino bootloader, FTDI connector]

Чтобы платка veroduino полноценно работала в среде Arduino IDE как оригинальная плата Arduino, (т. е. чтобы загружались в платку программы-скетчи, можно было видеть отладочный вывод через последовательный порт), Вам понадобятся две вещи:

1. Прошить в память микроконтроллера бутлоадер Arduino (загрузчик Arduino) [5].
2. Подключить к 6-pin коннектору FTDI переходник, который преобразовывает TTL сигналы (с уровнями 5 вольт) RXD и TXD последовательного порта микроконтроллера в виртуальный COM-порт на компьютере (через подключение по USB, класс USB CDC).

Для того, чтобы прошить бутлоадер в память Вашего микроконтроллера ATmega328P (или ATmega168), понадобится программатор AVR [4]. В качестве программатора может также работать готовая платка Arduino с соответствующим шилдом.

Готовые прошивки бутлоадера на разные микроконтроллеры можно взять в архиве [5] (см. в архиве папку Arduino-bootloader, файлы с расширением HEX).

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

Фьюзы также прописываются с помощью программатора, нужные значения фьюзов можно посмотреть в файле readme.txt архива. Если у Вас нет программатора, и Вам его лень делать самому, можно попросить запрограммировать микроконтроллер на радиорынке.

Переходник USB TTL COM-port (он подключается с одной стороны к 6-pin коннектору FTDI, а с другой стороны к компьютеру по USB) лучше купить готовый. Обычно такой переходник сделан по простейшей схеме на основе чипа FT232 (компания FTDI) или CP210x (компания Silicon Labs).

Драйвер для переходника можно скачать с сайта соответствующей компании или взять в архиве [5]. Кроме того, в качестве такого переходника можно использовать макетную плату AVR-USB162 или AVR-USB162MU [3].

Хорошие переходники USB to TTL Serial Cable FTDI (или на чипе CP210x) можно купить на eBay, dealextreme или aliexpress [7], есть даже предложения с бесплатной доставкой. При покупке выбирайте 5V версию (иногда бывают версии на 3.3V). Самый лучший вариант – когда можно выбрать перемычкой рабочие уровни порта TTL RS-232 (3.

3V или 5V). Если уровни сигналов на переходнике USB to TTL и на veroduino не совпадают, то понадобятся последовательно включенные резисторы номиналом около 1…2 кОм.

[Программирование veroduino в среде разработки Arduino IDE]

Запустите Arduino IDE, подключите платку veroduino к компьютеру через переходник FTDI, проверьте, что Вы правильно подали питание на veroduino. Нажмите кнопку сброса veroduino, и загрузите скетч в память микроконтроллера стандартным образом (для загрузки скетча используется бутлоадер Arduino, заранее прописанный в память микроконтроллера).

[Ссылки]

1. Veroduino site:nathan.chantrell.net — материал на английском языке, который взят за основу статьи.
3. AVR: отладочный вывод через UART (RS232 debug).
4. Программаторы для AVR.
5.

Arduino bootloader source code (исходный код различных бутлоадеров Arduino), готовые прошивки бутлоадеров Arduino, драйверы для переходников FTDI (VCP, Virtual COM Port на основе чипов FT232 и CP210x).
6. Что такое макетная плата stripboard, как её использовать.

7. USB to TTL 5V Serial Cable site:ebay.co.uk (FTDI-FT232 for Arduino UNO mini duemilanove Mega), USB 2.0 to TTL UART 6PIN CP2102 Module Serial Connector Converter Adaptor Cable site:ebay.co.uk, CP2102 USB to TTL Converter Module — Red site:dx.

com, 1Mbps USB To TTL/COM Converter Module buildin-in CP2102-10000066 site:aliexpress.com.

Читайте также:  Выбор квадрокоптера в 2017 - arduino+

Источник: http://microsin.net/programming/AVR/veroduino.html

Клонируем Arduino своими руками

Что если купив контроллер мы понимаем, что плата у нас одна, а задумок много. Что же делать?

Правильный ответ — нужно клонировать Ардуино своими руками!

Шаг 1: Собираем все необходимое

Для ускорения процесса воспользуемся макетной платой. Как известно из технических параметров контроллера ATmega 328 IC, для его запуска в минимальной конфигурации нам потребуются:

  • контролер Arduino Duemilanove (будет использован как программатор);
  • микросхема ATmega 328 IC ;
  • кварцевый резонатор на 16 Мгц;
  • резисторы 100 Ом 3 шт.;
  • конденсаторы 22pF 2 шт.;
  • светодиоды 3 шт с красным, зеленым, .и желтым цветом свечения;
  • стабилизатор напряжения  на 5 Вольт например 7805;
  • любая 9 батарея с разъемом для подключения;
  • кабель USB;
  • компьютер или ноутбук с установленным пакетом программ Arduino IDE;
  • макетная плата и провода.

Шаг 2: Начинаем макетировать

Размещаем на макетной плате микросхему контроллера.

Шаг 3: Монтируем стабилизатор напряжения и цепи питания

Устанавливаем на плату стабилизатор напряжения L7805. Назначение выводов микросхемы 1-вход (7-20 Вольт), 2-корпус, 3-выход (5 Вольт). C помощью монтажных проводов подключаем стабилизатор к источнику питания и контроллеру, как показано на фотографиях.

Шаг 4: Подключаем питание к контроллеру

В соответствии с нумерацией выводов контроллера соединяем его монтажными проводами с выходом стабилизатора напряжения и общим проводом.

Совет: Монтажные провода имеют разный цвет изоляции, старайтесь использовать провода одного цвета для каждой цепи.

Шаг 5: Подключаем кварцевый резонатор

Располагаем на плате резонатор и конденсаторы колебательного контура.

Порядок монтажа следующий:

  • конденсатор 22pF ставим между землёй и 9 ножкой контроллера;
  • конденсатор 22pF ставим между землёй и 10 ножкой контроллера;
  • резонатор включаем между ногами 9 и 10 контроллера;
  • резистор 10 kOm включаем между 1 ногой контроллера и +5В (шунтируем сигнал «Сброс»).

Шаг 6: Добавляем индикаторы состояния контроллера

Светодиоды включаем последовательно с резисторами 100 Ом, между землёй и нашим программатором.

Шаг 7: Соединяем макет с платой программатора

Подключаем собранный макет к плате Arduino Duemilanove следующим образом:

  • вывод жёлтого светодиода соединяем с 9 выводом на разъёме программатора, его пульсация покажет нам, что программатор работает;
  • вывод красного светодиода соединяем с 8 выводом на разъёме программатора, он сигнализирует о возможных ошибках;
  • вывод зелёного светодиода соединяем с 7 выводом на разъёме программатора, его свечение сигнализирует об обмене данными между программатором и микроконтроллером.

Соединяем наши платы между собой остальными проводами как показано на рисунке, не забыв соединить провода питания + 5 В и корпус между ними.

Шаг 8: Превращаем плату Arduino Duemilanove в программатор

Для того что в загрузить в микроконтроллер ATmega 328 IC бутлоадер необходимо превратить наш Arduino Duemilanove в программатор.

Подключаем нашу сборку к компьютеру с помощью USB кабеля. Открываем среду программирования AndurinoIDE, выбираем в нем скетч (программу) AndurinoISP и загружаем его в Arduino Duemilanove.

По миганию жёлтого светодиода убеждаемся, что скетч загрузился в наш программатор.

Шаг 9: Загружаем бутлоадер

В AndurinoISP (пункт меню «Tools») выбираем нужный нам тип контроллера (ATmega 328 IC).

Даём команду на загрузку бутлоадера «Burn bootloader».

Следим за сообщениями AndurinoIDE, после окончания загрузки бутлоадера «Done Burning bootloader» наш микроконтроллер готов к записи скетча проекта нашей новой самоделки.

Шаг 10: Возможные проблемы и их решение

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

Эта статья не претендует на полноценное описание программирования «с нуля» микроконтроллера, но показывает как с помощью минимального набора элементов можно начать изготовление «своего» Ардуино.

Источник: http://MegaGvozd.ru/kloniruem-arduino-svoimi-rukami

Изготавливаем самодельную плату Arduino своими руками

Перевёл alexlevchenko для mozgochiny.ru

Доброго времени суток. В сегодняшней статье, поговорим о том, как изготовить самодельную плату Arduino своими руками.

На МозгоЧинах уже выкладывалась похожая статья, кто заинтересовался прошу сюда.

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

Шаг 1: Необходимые радиодетали и инструменты

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

Радиодетали:

  • ATmega328;
  • 2 электролитических конденсатора ёмкостью 10 uf (микрофарад);
  • 2 конденсатора в круглом керамическом корпусе ёмкостью 22 pf (пикофарада);
  • регулятор напряжения L7805;
  • кварцевый резонатор 16 MГц;
  • тактовая кнопка;
  • светодиоды;
  • панелька для микросхемы;
  • регулятор напряжения LM1117T-3.3 (по желанию);
  • 2 танталовых конденсатора ёмкостью 10 uf (микрофарад) (по желанию).

Инструменты:

Шаг 2: Описание

После того, как приобрели все радиодетали, пришло время произвести монтаж, но перед этим нужно сказать пару слов насчёт atmega328. Существуют два типа микросхем: с boot-loader (бутлоударом, он же загрузчик) и без него.

Разница в цене микросхем не значительная, но если приобретёте «микруху» с бутлоударом, то сможете проскочить несколько шагов из данной статьи.

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

Загрузчик необходим для загрузки кода с Arduino IDE в микросхему.

Шаг 3: Загружаем «загрузчик»

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

Настроим плату Аrduino UNO, как ISP. Это нужно сделать для того, чтобы плата прошила микроконтроллер ATmega, а не саму себя. Не подключайте ATmega, пока идёт загрузка кода.

  • Подключим Arduino к ПК;
  • Откроем Arduino IDE;
  • Откроем > Примеры > Arduino ISP;
  • Загрузим прошивку.

Шаг 4:

После того, как все элементы схемы соединены воедино, открываем IDE.

  • Выбираем Arduino328 из Tools > Board
  • Выбираем Arduino, как ISP из Tools > Programmer
  • Выбираем Burn Bootloader

После успешной записи, вы получите «Done burning bootloader».

Шаг 5: Добавляем 5В регулятор

После прошивки загрузчика, завершим изготовлении платы. Регулятор напряжения L7805 – это важная деталь схемы. Распиновка следующая (смотрим на лицевую сторону): крайняя левая нога – вход, центральная нога – земля, а крайняя правая нога – выход.

Следуя схеме присоединим регулятор напряжения к arduino.

Шаг 6: 3.3 В регулятор напряжения

Данный шаг выполняется по желанию. Регулятор используется только для питания внешних шилдов/модулей, которым нужно 3.3В.

Шаг 7: Первая прошивка

Как только завершим сбоку, пришло время загрузить первый код. Для прошивки удалим родной микроконтроллер ATmega 328 с платы UNO и заменим его новой микрухой. Как только загрузим код, поменяем микросхемы местами.

На этом всё! Спасибо за внимание!

(A-z Source)

Источник: http://mozgochiny.ru/electronics-2/izgotavlivaem-samodelnuyu-platu-arduino-svoimi-rukami/

Как сделать Arduino c USB своими руками?

Официальную версию Arduino можно купить примерно за 27 евро. Есть отечественные аналоги (например Freeduino) и китайские копии которые стоят немного дешевле. Но зачем покупать? Ведь можно сделать Arduino своими руками.

Плата подключается к компьютеру и прошивается через USB благодаря микросхеме FT232RL на борту. С помощью джампера можно выбрать от какого источника будет питаться Arduino: USB порт компьютера (позиция «int») или от разъема блока питания (позиция «ext»).  Так же присутствует джампер разрешения автоматической перезагрузки (auto reset enable).

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

Данный проект разработан в P-CAD. Вот скриншот электрической схемы:

А вот вид печатной платы самодельной Arduino:

Ну и расположение компонентов на схеме:

Советую электролитические конденсаторы уложить на бок (имеются ввиду C7 и C8).

После того как сделаете данную плату, не забудьте прошить контроллер Atmega8 (прошивка как и файлы печатной платы можно скачать по ссылке в конце статьи). ВНИМАНИЕ: обязательно выставьте корректные фьюзы!

Младший байт: BODLEVEL   1  BODEN      1  SUT1       0  SUT0       1  CKSEL3     1  CKSEL2     1  CKSEL1     1 

CKSEL0     1 

Старший байт: RSTDISBL   1  WDTON      1  SPIEN      0  CKOPT      0  EESAVE     1  BOOTSZ1    0  BOOTSZ0    1 

BOOTRST    0

После того как вы прошили свою самодельную плату Arduino нужно установить драйвер FTDI (скачать можно на официальном сайте)

Теперь запускаем Arduino IDE и начинаем творить. Только не забудьте предварительно выбрать используемую плату:  Сервис -> Платы -> Arduino NG or older w/ATmega8.

Вот и все. Итак, для того чтобы сделать Arduino своими руками вам нужно скачать этот архив. Там вы найдете файлы P-CAD  с печатной платой и схемой, прошивку для ATMega8, список деталей для покупки с примерной стоимостью, а также даташит на AVR контроллер ATMega8. Ну и напоследок хочу сказать что плата совместима абсолютно со всеми Arduino шилдами.

Печатная плата Arduino, разведенная в Sprint-Layout 5.0

Вы можете скачать печатную плату USB Arduino разработанную в Sprint-Layout 5. Данная программа более популярна среди радиолюбителей, нежели P-CAD. За разведенную плату огромное спасибо Дмитрию Ефремову. Печатная плата проверена, ошибок нет.

Фото готового устройства

Вид сверху

Вид снизу

Руководство пользователя

Так же Николай Вахрушев составил небольшое руководство пользователя — семи страничная шпаргалка по самодельной USB Arduino.

В руководстве вы увидите фотографии Ардуино с подписанными разъемами, джамперами, кнопками, индикаторами и выводами. Также дано детальное описание и назначение каждого элемента на плате.

Последние три страницы: перечень необходимых компонентов, печатная плата (можно сразу печатать  для ЛУТ) и электрическая схема.

Скачать руководство (PDF, 960 кБ)

Источник: http://easymcu.ucoz.ru/publ/12-1-0-120

Arduino своими руками

Часть III

(окончание, см. начало — Часть I и Часть II)

Читайте также:  Esp32 метеостанция: создание своими руками на основе микроконтроллера

Итак, микроконтроллер заработал, но нам этого мало: теперь надо сделать интерфейс для COM-порта, чтобы Arduino мог общаться с PC, в первую очередь для заливания sketch-ей.

Глядим в схему, подбираем детали:

  • Разъем DRB9F на плату, угловой — 12,5 руб.
  • Транзистор T1 — BC547 — 3,8 руб.
  • Транзистор T2 — BC557 — 3,5 руб.
  • Два диода D2,D3 1N4148 — 2 x 2,5 = 5 руб.
  • Два светодиода LED0, LED1 — 2 x 3,3 = 6,6 руб.
  • Резисторы 10K — R5,R8,R7,R10 — 4 x 0,95 = 3,8 руб.
  • Резистор 4К7 R9 — 0,95 руб.
  • Резисторы 1K R1,R2,R6 — 3 x 0,95 = 2,85 руб.
  • Неполярный электролит C9 10 мкФ — 3 руб.
  • Штыревой соединитель PLS40 (из него кусачками отделяется три пина для джампера выключения порта, остальные 37 обязательно пригодятся 😉 — 13 руб.
  • Джамперы (стоит поискать на старых материнках, и только если нет под рукой — покупать) — 8,5 руб.

Итого: 63,5 руб.Самая сложная деталь в оригинальной схеме — это неполярный электролит в выводном исполнении. Вместо него у меня заработал и обычный, как только будет возможность — поменяю.

Придется достать сверло на 4..5 мм и просверлить пару дырок для креплений разъема COM-порта (если только вы не купили чудо-макетку с посадочным местом под разъем DRB9F).

Как говорит автор схемы, «иногда поступающая по COM-порту от PC информация может препятствовать запуску скетча», поэтому предусмотрен джампер JP0. У него три положения — «COM-порт работает» — к VСС, «COM-порт блокирован» — к GND и, если снять его вовсе — получили 2 свободных цифровых входа.

Завершающий штрих: подключение внешнего источника питания, например батарейки «Крона». Продолжаем подбирать компоненты:

Итого: 86 руб.

Как и в случае с DRB9F, в плате надо сверлить дополнительные дырки для разъема питания («плюс» обычно делают в центре). Если подключить выход 7805 к ранее запланированному джамперу (см.

Часть II, сборка узла микроконтроллера), то можно переключаться между питанием от батарейки и от USB. Внешний источник может выдавать от +7В до +20В, но больше +16В не рекомендуется, а еще лучше +9В, чтобы не очень сильно грелся собственно стабилизатор.

Вот и все, готово.

Перед тем, как приступить к написанию собственных sketch-ей,  осуществим финальную проверку:

File -> Sketchbook -> Examples -> Digital -> Blink

Дальше — Verify/Compile (Ctrl-R), после окончания жмите на кнопку сброса на Arduino, затем File -> Upload to I/O board (Ctrl-U). Полюбуйтесь, как весело перемигиваются светодиоды Rx и Tx, подождите 6 секунд и наблюдайте мигание LED13.

Что еще добавить?

  1. Бюджет разработки, включая программатор не превышает 500 рублей. Цены имеют свойство меняться со временем — может быт, что-то будет дороже, что-то дешевле (некоторые компоненты вообще могут оказаться под рукой или аккуратно демонтированы с ненужных устройств);
  2. Если мало 8К памяти программ, используйте ATmega168-20PU. Микроконтроллеры имеют различный объем Flash и SRAM, но полностью совместимы по корпусам. Тип платы надо будет переставить на Tools -> Board -> Ardiono NG or older w/ATmega168, прошить соответствующий bootloader. С корректно установленным типом платы ArduinoIDE будет правильно учитывать тип МК при компиляции, а текст скетча при этом никак не изменится. Правда, по стоимости будет чуть дороже;
  3. Можно попробовать подключить схему автосброса — Arduino умеет ненадолго устанавливать сигнал DTR перед заливанием sketch-а, и если он соединен со схемой сброса, отпадает необходимость нажимать Reset перед каждой загрузкой скетча. Функция имеет побочный эффект — Arduino может быть сброшен в любой момент программой, которая дергает DTR и даже при отключении или подключении кабеля к COM-порту.
  4. Можно добавить гребенку для непосредственного подключения USB/Serial Converter, если оно у вас есть:

Источник: http://mk90.blogspot.com/2008/11/arduino_28.html

Системный интегратор

В нашем самодельном Arduino микроконтроллер ATmega328P-PU работает на частоте 16 МГц, есть USB интерфейс, кнопка сброса и схема сброса в начале загрузки скетчей. И самое главное, в микроконтроллер зашит bootloader (загрузчик) Arduino Uno.

Таким образом, наш самодельный Arduino максимально совместим с Arduino UNO, но благодаря тому, что наш Arduino собран на макетной плате Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм., он получился более удобным в эксплуатации.

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

Например, этот самодельный Arduino можно успешно использовать для программирования микроконтроллеров в DIP-8, DIP-14, DIP-16, DIP-20 и DIP-24 корпусах. Если удалить схему сброса и сместить микроконтроллер ATmega328P-PU к краю макетной платы, можно будет программировать и микроконтроллеры в DIP-28 корпусах, и тиражировать Arduino.

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

Кроме того, цена комплекта для самодельного Arduino, Uno совместимого, существенно ниже чем у готовых моделей.

Ниже приводим монтажную схему самодельного Arduino, UNO совместимого, на микроконтроллере ATmega328P-PU.

Принципиальная схема самодельного Arduino, UNO совместимого, на микроконтроллере ATmega328P-PU:

Обратите внимание, в цепи DTR установлен конденсатор емкостью 2 мкФ. На линии DTR со стороны преобразователя USB-UART (микросхема CP2101 и т.п.) на время передачи устанавливается сигнал низкого уровня.

В момент отрицательного перепада сигнала на линии DTR, RC цепочкой (10 кОм и 2 мкФ) на 1 ножке микроконтроллера формируется короткий отрицательный импульс RESET.

Это позволяет по инициативе IDE ARDUNO сбрасывать микроконтроллер и запускать на нем, программу bootloader (загрузчик) перед передачей скетчей (прошивок).

Замечание,  когда Вы будете использовать Ваш Arduino в качестве ISP программатора других микроконтроллеров, разрывайте цепь DTR, вынимая конденсатор 2 мкФ. Это предотвратит запуск на Вашем Arduino программы bootloader. Ваш Arduino должен работать в качестве ISP программатора под управлением скетча ArduinoISP из примеров к программе Arduino IDE.

Микроконтроллер ATmega328 имеет

  • 14 входов/выходов 6 из которых могут использоваться как выходы ШИМ (с широтно импульсной модуляцией);
  • 6 аналоговых входов.

Каждый из 14 цифровых входов/выходов Arduino может быть настроен как вход или выход, используя функции pinMode(), digitalWrite() и digitalRead() на языке C в программе Arduino IDE. Цифровые входы/выходы работают при напряжении 5 В.

На принципиальной электрической  схеме самодельного Arduino синим цветом нанесены надписи в точности повторяющие маркировку на разъемах оригинального Arduino UNO R3.

Reset Низкий уровень сигнала на выводе перезагружает микроконтроллер.

0 … 13 Входы/выходы. Из них:

~3, ~5, ~6, ~9, ~10, и ~11. Выходы с ШИМ с разрешением 8 бит. Управление скважностью сигнала на выходе при помощи функции analogWrite().

A0 … A5 Аналоговые входы каждый разрешением 10 бит. Диапазон измеряемых напряжений 0 … 5 В.

AREF Опорное напряжение для аналоговых входов. Позволяет изменить верхний предел измеряемого напряжения на входах A0 … A5. Используется с функцией analogReference(). Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.

С программным обеспечением некоторые выводы имеют специальное назначение:

0 (RX) и 1 (TX) для передачи данных по UART (порт последовательной передачи данных). Используется программой bootloader.

2 и 3 Инициализация внешнего прерывания. Используется с функцией attachInterrupt().

10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Для обмена данными по протоколу SPI, для чего используется библиотека SPI.

4 (SDA) и 5 (SCL) Для осуществления связи по протоколу I2C (TWI). Используется библиотека Wire.

Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino

В современных сотовых телефонах микросхема USB-UART встроена в телефон и кабель от них нам не подходит. В старых телефонах, для связи телефона с компьютером по USB интерфейсу использовался USB-DATA кабель, в который была встроена микросхема USB-UART, такой кабель нам и нужен.

Убедиться, что мы нашли или купили подходящий кабель можно следующим образом:

  • Под Windows, при подключении кабеля к USB интерфейсу компьютера, в операционной системе появится новое устройство.
  • Под Linux, необходимо подключить USB кабель к компьютеру и выполнить команду lsusb

lsusb Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305 Bus 001 Device 003: ID 10ab:10c5 USI Co., Ltd Sony-Ericsson / Samsung DataCable

Обратите внимание на последнюю строку. В системе появился Sony-Ericsson / Samsung DataCable. Отличная новость! Но, чтобы развеять сомнения, запустим программу Arduino. Под Windows, возможно, предварительно необходимо будет установить драйвер для кабеля.

В программе Arduino установите / / на который подключился Ваш USB-DATA кабель. Запустите / . Соедините на кабеле провода RXD с TXD. В моем кабеле оказалось 5 проводов.

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

Из них RXD и TXD можно вычислить с помощью Монитора порта, поочередно соединяя по 2 провода из трех (3 комбинации).

В Мониторе порта в верхней строке наберите какое нибудь сообщение и нажмите кнопку послать:

Сообщение вернулось, значит мы нашли провода RXD и TXD:

С USB-DATA кабеля срежьте разъем «К телефону». Припаяйте к проводам кабеля коннекторы. Я, например, взял соединительные провода папа-папа, разрезал их пополам и припаял к проводам USB-DATA кабеля.

Читайте также:  Arduino: дополнительные модули, расширяющие возможности - arduino+

Переходник USB-UART сделанный из USB-DATA кабеля от телефона Sony-Ericsson.

Еще один USB-DATA кабель подходит на роль USB-UART интерфейса:

lsusb Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device

Это кабель китайского производства для телефона Nokia. По середине кабеля установлена пластмассовая коробочка с микросхемой CP2101 на маленькой плате.

К этой плате я и припаял выводы +5V GND RXD TXD и DTR.

Переходник USB-UART сделанный из USB-DATA кабеля от телефона Nokia.

Конечно же, можно воспользоваться и готовым интерфейсом USB-UART, например, на микросхеме CP2102.

Но у него свои недостатки — не распаяна линия DTR и вместе с кабелями, он более громоздкий, +2 лишних разъемных соединения. Но есть и + 3 светодиода на борту (сомнительный +).

Источник: http://integrator.adior.ru/index.php/arduino/414-samodelnyj-arduino-uno-sovmestimyj-na-maketke-i-s-usb-data-kabelem

Arduino. Что купить новичку?

Резюмируем всё сказанное выше: мой выбор – NANO, несколько макетных breadboard и связка проводов папа-папа.

Теперь поговорим о датчиках, ведь зачем нам Ардуино без датчиков? (на самом деле можно придумать тысячу проектов, где датчики не используются). Всё, что подключается к Arduino, можно условно разбить на «рассыпуху» и «модули».

Рассыпуха: кнопки, резисторы, светодиоды, фотодиоды, фототранзисторы, фоторезисторы, потенциометры, ЛЮБЫЕ резистивные датчики, герконы, датчики холла, термисторы, и так далее. Все эти компоненты объединяет то, что они имеют «какие-то» выходы, которые никак не подписаны.

Модули: любой датчик, который распаян НА ПЛАТЕ и имеет подписанные пины питания и обмена данными. В то же время модули можно разбить на простые и сложные.

Простые модули это всё та же «рассыпуха», но распаянная на плате, которая имеет 3 выхода: два на  питание и третий сигнальный. С сигнального тупо выходит сигнал 0 или 5 вольт при срабатывании датчика.

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

Есть стартовый кит «37 простых датчиков», и вот даже в нём чего-то не хватало, как мне показалось.

Сложные модули в основном имеют гораздо больше выходов для обмена данными. Основное отличие в том, что информация отправляется по различным протоколам связи с Ардуино, а не тупо 0 / 1, есть сигнал / нет сигнала, там всё гораздо интереснее. Для работы с такими модулями используются библиотеки. Или бубен и даташит, кому как больше нравится.

Модули понятное дело подключаются к питанию и к выводам Ардуино. Итак, что же нам в итоге нужно? Очевидно, что немного того, немного этого, и парочку вот таких… Конкретика? Конкретики не существует, она строго субъективна. С чем хочется научиться работать, то и покупаем. Либо можно подумать наперёд, какой проект хотелось бы попробовать сделать, и взять всё для него.

Но давайте вернёмся к стартовым наборам для новичков.

Вот самый крутой набор (ссылка), в нём есть всё я бы сказал самое интересное, «самый сок» из модулей и рассыпухи. Плата классически UNO, в комплекте большой breadboard и большая связка джамперов.

Рассыпуха здесь вся самая нужная, даже RGB светодиод есть! Резисторы 10к и 220 – самые ходовые, всё остальное – реально самые интересные и полезные модули. Есть даже дистанционный ИК пульт, считыватель RFID меток, шаговый мотор….

. Шикарно.

Что я бы докупил к этому набору:

  • Несколько NANO
  • Парочку макетных breadboard’ов СРЕДНЕГО размера (дешевле взять большой и распилить его на 2-3 части)и провода к ним
  • Пару мосфетов для управления яркостью светодиодных лент и скоростью моторчиков (любых обычных моторчиков из игрушек)
  • Пачку потенциометров 10 кОм с колпачками
  • I2C переходник для дисплея, а лучше ещё пару таких же дисплеев (1602 LCD) с переходниками.

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

Я хочу дать некоторый «свой» список железа, который ОБЯЗАТЕЛЬНО должен быть у вас, если это хобби вам нравится и хочется много всего делать и изобретать. К этому списку докупаются любые модули и датчики со страницы с модулями, которые вам интересны, или которые нужны для проекта.

Основной список НЕОБХОДИМОГО ДЛЯ РАБОТЫ железа, которого обычно не хватает в китах. Полный список модулей можно найти ЗДЕСЬ:

  • Несколько Arduino NANO. Объясню:
    • Можно работать одновременно с несколькими проектами (у меня в работе всегда не менее трёх)
    • Нано компактная, готовый проект может смело переезжать в корпус
    • NANO дешевле, её не так жалко спалить
    • Pro Mini дешевле NANO! Да, но у NANO более удобная разводка пинов для втыкания в breadboard, ну и конечно, подключать штекер USB проще, чем программатор
  • Несколько макетных breadboard’ов СРЕДНЕГО размера. Зачем? Читаем первый пункт
  • Связку МАКЕТНЫХ джамперов (проводочки с разъёмами) ПАПА-ПАПА для развлечений на макетке
  • Набор джамперов ПАПА-МАМА (соединение модуль – макетка) и МАМА-МАМА (соединение модуль – arduino NANO)
  • Пару мосфетов (самых ходовых IRF3205) для управления яркостью светодиодных лент и скоростью моторчиков (любых обычных моторчиков из игрушек). Пачка 10 штук стоит 100р.
  • Пачку потенциометров 10 кОм с колпачками. Не понимаю, почему их нет в китах, постоянно использую при отладке и в готовых проектах. Пачка 10 штук стоит тоже как бутылка пива.
  • Несколько дисплеев:
    • 7 сегментник на TM1637 или/и на 74HC595. Яркие, компактные, жутко дешёвые.
    • В обязательном порядке LCD 1602 (символьный, 2 строки по 16 символов) или LCD 2004 (4 строки по 20 символов) с переходником на I2C. Почему? Они дешёвые, большие и яркие, а самое главное – на них очень просто и удобно выводить данные. Даже на русском языке! Зачем нужен переходник? «Голый» дисплей требует около 6 пинов для подключения, с переходником – 2, причём подключается он на шину I2C, что позволяет закинуть туда же например акселерометр, барометр, и прочие I2C модули
  • Советую взять парочку энкодеров – великолепная замена кнопкам и потенциометрам! Я проникся к ним особой любовью с тех пор, как написал для них свою библиотеку
  • Пачку резисторов 220 Ом (для подключения светодиодов)
  • Пачку резисторов 10 кОм (подтяжка фоторезисторов и МОСФЕТов)
  • Пачку резисторов 100 Ом (ограничение тока на пин от для МОСФЕТов, если с ними работаете)
  • Пару обычных «макеток», на которых можно распаять готовое устройство
  • Само собой всё для пайки: паяло, припой, все дела

Далее просто берём модули, с которыми интересно научиться работать (банально вывод показаний на дисплей: температура,  влажность, время, напряжение, параметры работы системы…), и начинаем обучаться по информации из гугла.

Также рекомендую открывать заголовочные (расширение .h) файлы библиотек и смотреть полный список методов, который эта библиотека предоставляет.

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

Рекомендую взять почти все «простые» модули, и сделать пару проектов «по условию» срабатывания, в самый раз для новичка. По возможности брать с аналоговым выходом (они 4х пиновые), так как они гораздо интереснее и позволят делать более интересные системы в будущем (оцифровка аналогового сигнала с датчика – штука очень интересная!).

Что касается механизмов, то очень часто используется сервопривод, как простой «всё-в-одном». Обычные моторчики (двухконтактные, коллекторные) из игрушек и принтеров подключаются через мосфет транзистор или драйвер.

Драйвер позволяет помимо скорости управлять ещё и направлением вращения, что важно для машинок и роботов. Очень интересные вещи можно делать с шаговым мотором, для начала хватит дешёвого 28ybj-48 с драйвером (стоит как сервопривод, около 100р).

На двух таких штуках уже можно спокойно сделать ЧПУ рисовалку или лазерный гравёр. Вообще без проблем!!!

Дистанционное управление. Проще всего конечно ИК пульт, так как сам пульт уже готов. Следующий по простоте – Bluetooth модуль, который может принимать команды с телефона, отправляемые одним из многочисленных приложений-джойстиков, либо конструкторов типа RemoyeXY или Blynk. Если нужно управлять на большом расстоянии, берём nrf24L01 и начинаем колхозить пульт управления.

Для готовых проектов люто рекомендую брать корпуса 60х100х25, очень удобные. Не мажоры используют коробки от губок для обуви и распределительные коробки для проводов.

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

В качестве источника питания годится любой БП на 5 вольт (зарядник от смартфона), либо аккумулятор с повышающим модулем. Также можно воткнуть 4 АА никелевых аккумулятора.

Итог. Рекомендую всё таки начать со стартового набора, и докупать к нему остальное по мере необходимости, как минимум у вас уже будет некоторая «база» интересного железа, которая сама будет подталкивать к изучению имеющихся модулей и датчиков, а также немного рассыпухи, которая продаётся отдельно только «мелким китайским оптом» от 50 штук.

Не имея опыта работы и покупая по 2-3 железки, вы потратите кучу времени на ожидание посылок, так как будет постоянно не хватать какой-то мелочёвки, особенно с ростом опыта и появлением кучи идей. А покупать в России вас банально задушит жаба. И самое главное, что всё это (стартовый кит) придёт в одной коробочке, которую и подарить не стыдно.

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

Источник: https://alexgyver.ru/arduino-for-newibes/

Ссылка на основную публикацию