В уроке мы покажем вам, как сделать свою собственную плату Arduino Uno своими руками, используя микроконтроллер ATmega328p IC. В итоге вы сможете понимать как в дальнейшем делать аналоги любых плат, плюс создавать свои. Может быть вы даже откроете свою компанию по производству плат и микроконтроллеров.
Так как Ардуино является платформой с открытым исходным кодом, довольно легко узнать о внутренностях и деталях всего того, что делает Arduino тем, чем она является. Таким образом, в этом уроке мы рассмотрим схему Arduino Uno, немного изменим ее в соответствии с нашими потребностями, изготовим под нее печатную плату и припаяем необходимые компоненты для создания финального продукта.
Мы не будем использовать какие-либо SMD-компоненты для создания своей версии Arduino Uno, потому что не у всех есть паяльная станция, а иногда найти SMD-компоненты очень сложно. Кроме того, наш метод в большинстве случаев дешевле, чем компоненты SMD. Для тех кто, только начинает разбираться в электронике — технологию поверхностного монтажа печатных плат также называют ТМП (технология монтажа на поверхность), SMT (англ. surface mount technology) и SMD-технология (от англ. surface mounted device — прибор, монтируемый на поверхность), а компоненты для поверхностного монтажа также называют «чип-компонентами».
Шаг 1. Изменения в оригинальной версии
Прежде всего давайте поговорим об изменениях, которые собираемся внести в оригинальную схему Arduino Uno, которую вы можете увидеть выше или скачать ниже.
Изменения будут следующими:
- Мы не будем использовать какие-либо компоненты SMD. Все элементы будут в формате сквозных отверстий.
- Мы не нашли ни одного чипа FTDI в формате сквозного отверстия, поэтому преобразование USB в TTL не будет выполняться. Для программирования нового Arduino будет использоваться отдельная отладочная плата FTDI.
- Оригинальный Arduino использует компаратор Mosfet, чтобы определить, подключаем ли мы плату с помощью источника питания USB или постоянного тока. Но в нашей версии мы будем вручную переключать это с помощью перемычки.
- Традиционно используется микросхема LP2985 от Texas Instruments, чтобы получить источник питания 3,3 В на борту. Но из-за недоступности платы в формате TH мы будем использовать простой линейный регулятор. Таким образом, LM1117 должен быть очевидным выбором, но чтобы сохранить стоимость изготовления еще ниже, мы будем использовать LM317 с R1 и R2 как 240E и 390E соответственно.
- Последнее, что нужно на плате, — это достаточное количество линий питания и два разъема для каждого порта IO ввода-вывода. Поэтому мы будем размещать ряд разъемов папа и мама вокруг платы, что поможет подключить большее количество устройств непосредственно к Arduino.
Учитывая все изменения, мы можем записать окончательный список компонентов.
Шаг 2. Необходимые компоненты
Компоненты, которые вам нужны для этого проекта. Везде, где количество не указано, считайте его единственным.
- Микроконтроллер Atmel Atmega328p-pu
- 28-контактная база IC
- 16 МГц кварцевый генератор
- конденсатор 22 пФ — 2 шт.
- конденсатор 100 нФ — 4 шт.
- Электролитический конденсатор 100 мкФ — 3 шт.
- 3 мм красный светодиод — 2 шт.
- 330E 1/4W резистор — 2 шт.
- 240E 1/4W резистор — 1 шт.
- 390E 1/4W резистор — 1 шт.
- 10K 1/4W резистор — 1 шт.
- Кнопка для сброса
- Диод общего назначения 1N4007
- Линейный регулятор напряжения 7805
- Линейный регулятор переменного напряжения LM317
- DC разъем мама
- 2-контактный винтовой клеммный блок
- много разъемов «папа» и «мама»
Кроме всего вышеперечисленного для своей собственной Arduino Uno вам также понадобится паяльное оборудование и некоторые аппаратные средства, чтобы облегчить жизнь.
Вам также понадобится программатор USBASP ICSP или конвертер USB в TTL, такой как FTDI для программирования Arduino с вашего компьютера.
Вот проектная спецификация от компании Easyeda:
Собираем все компоненты и переходим к следующему шагу.
Шаг 3. Рисуем окончательную схему
Чтобы нарисовать окончательную схему, использовали Easyeda, набор инструментов EDA на основе веб-технологий. На этом портале очень просто рисовать большие схемы. Также это онлайн сервис. Таким образом, благодаря удобству использования что-то лучшее найти сложно. Рекомендуем вам использовать в своих проектах. Схема, которая разработана может быть скачена по ссылке ниже, PDF документ:
Шаг 4. Создаем печатную плату
Как только схема завершена, пришло время сделать печатную плату. Мы использовали веб-сайт JLCPCB (ссылка), чтобы сделать печатную плату. Эти ребята являются одними из лучших в производстве печатных плат в последние дни.
После завершения проектирования схемы преобразуйте ее в печатную плату и спроектируйте печатную плату на веб-сайте easyEDA (ссылка). Будьте терпеливы. Ошибка на этом шаге испортит вашу печатную плату. Проверьте несколько раз перед генерацией файла gerber. Вы также можете проверить 3d модель вашей платы здесь. Нажмите на создание файла gerber и оттуда вы можете напрямую заказать эту плату через JLCPCB. Загрузите файлы gerber, выберите правильную спецификацию, ничего не меняйте в этом разделе. Оставьте как есть. Это достаточно хорошие настройки для старта. Разместите заказ. Вы получите его через 1-2 недели.
Шаг 5. Пайка компонентов
После того, как вы получили печатную плату, пришло время припаять компоненты на неё, чтобы сделать конечный продукт. В этом нет ничего сложного. Просто держите распечатку схемы перед собой и начинайте размещать компоненты по одному на печатной плате. Убедитесь, что после завершения этого шага нет короткого замыкания по питанию и заземлению.
Одна вещь, которую стоит пояснить, заключается в том, что значения конденсаторов не обязательно должны быть идеальными. Нечто близкое к тем величинам, что мы обсуждали выше, вполне будет работать. То же самое касается резисторов. Но сохраните значения R1 и R2 LM317.
Одна вещь, которую вы можете найти странной, что у arduino, который мы сделали, есть две кнопки сброса. На самом деле, когда разрабатывали макет, использовали четырехконтактную кнопку для справки. Но во время пайки стало понятно, что у нас её нет. Поэтому мы припаяли 2 двухполюсных переключателя сброса на место. Там нет ничего особенного.
Шаг 6. Запуск загрузчика на микроконтроллере
Если вы используете конвертер USB — TTL для программирования микроконтроллера, тогда загрузчик Arduino должен быть установлен в новый чип atmega328p. Об этом мы сделаем следующий большой урок. После этого процесс загрузки кода будет точно таким же, как и в обычной Arduino.
Если вы используете программатор ICSP, то есть программатор USBASP, тогда этот шаг не нужен. Но процесс загрузки кода немного отличается.
Шаг 7. Программируем Ардуино
Подключите коммутационную плату к Arduino и подключите её к компьютеру. Откройте диспетчер устройств и наблюдайте за com-портом конвертера usb — ttl. В Arduino IDE выберите com-порт и плату правильно. Теперь здесь начинается сложная часть.
Если ваша плата FTDI имеет вывод DTR и она подключена для сброса, просто сохраните программу и загрузите ее в Arduino как обычно. Ошибки не будет. Но если у вас нет пина DTR, как у нас, то, прежде чем нажать кнопку загрузки, удерживайте кнопку сброса на плате, а затем нажмите кнопку загрузки. Удерживайте кнопку до тех пор, пока программа не скомпилируется, когда IDE говорит «загрузка», затем отпустите переключатель сброса. Затем код будет загружен.
Шаг 8. Итоговый результат
Здесь вы можете увидеть, что мы загрузили 3-контактный код в новую arduino, и все работает, как и предполагалось. Используя только 3 контакта, мы контролируем 6 светодиодов с промежутком 200 мс между ними. Мы проверяли другие программы, все они работают без нареканий.
17 января 2019 в 17:14
| Обновлено 7 декабря 2019 в 00:07 (редакция)
Опубликовано: Редакция
Уроки
Платформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.
Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.
Контроллеры пришли, как их теперь готовить?
Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp . Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP .
Описываем параметры микроконтроллера в файле c:Program Files (x86)Arduinohardwarearduinoboards.txt
Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)
atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)
atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0Fatmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard
и точная такая же с внешним кварцевым резонатором на 16МГц.
atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)
atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard
Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.
Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер, в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.
В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.
Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.
Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему
Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.
Где это уже работает?
Контроллер управления вентилятором в ванной комнате
Держа в руках оригинальную плату Ардуино, в голове зародилась мысль о сборке её клона. Посидев, подумав над проектом, было решено уместить все на односторонней плате, а для связи с компьютером снабдить плату микросхемой FT232RL. Во избежание вывода из строя USB порта компьютера, из-за превышения потребляемого тока, я решил пожертвовать возможностью питания от USB, но более детально об этом ходе чуть позже.
Итак, дорогие читатели, представляю вашему вниманию нашу версию клона Ардуино. Встречайте Paduino FT232RL
Как уже говорилось выше, плата имеет недостаток — лишена возможности питания от юсби порта. Однако, благодаря использованию микросхемы FT232RL, на плате присутствует выход 3.3В. Также к доп. функционалу хочется отнести наличие джампера автоматической загрузки (ENABLE), а также джампера (JP LED13), позволяющего отключить не всегда используемый светодиод подключенный к пину под номером 13.
Также, вдобавок к уже имеющемуся выходу Vin на Arduino, был добавлен выход VTG INPUT . На мой взгляд, стандартный вывод Vin имеет ряд недостатков, хотя с другой стороны плюсов. К недостаткам можно отнести потерю напряжения на диоде (0.6-0.8 вольта), также при запитывании Arduino не от разъема питания, а непосредственно от гребенок мы теряем защиту от переполюсовки т.к. выход Vin на схеме расположен после защитного диода. На выводе VTG INPUT мы же всегда имеем напряжение равное входному без каких либо потерь, а также при запитывании Arduino через гребенки функционал защиты от переполюсовки сохраняется т.к. на схеме выход расположен перед защитным диодом. К достоинствам вывода Vin можно отнести то, что при правильно поданном питании на нем всегда будет плюс, в противном же не будет ничего, в то время как на VTG INPUT либо минус либо плюс.
Смыслом данной модификации является возможность питания самодельных мотр шилдов представленных на этом сайте и нашего клона Arduino от одного источника питания без каких либо потерь питающего напряжения.
Так, как ФТшка в данной сборке использует только землю и сигнальные линии USB порта, то, полистав даташит, повесим на неё обвязку в следующей конфигурации:
В этот раз все этапы изготовления я пропущу. Из процесса изготовления приложу только фото протравленной и залуженной платы до начала монтажа элементов.
Пару слов об FT232RL. Микросхемка довольно таки мелких размеров. Для того чтобы вы смогли оценить свои силы, привожу фото ФТшки на десятикопеечной монетке.
Приставляем Фтшку к плате, отцентровываем, смачиваем ножки флюсом, берем на жало паяльника припой в очень малом количестве, и быстро проходимся по каждой ножке. Если вы в пайке новичок, и еще не научились паять быстро, в одно касание, советую делать интервал в 10-15 секунд после каждой ножки.
Что касается размеров, то Paduino выходит не на много больше оригинальной Arduino.
Все, с изготовлением разобрались. Для работы в среде Arduino в память контроллера осталось лишь залить bootloader
.
После заливки бутлоадера, нам уже ничто не мешает приступить непосредственно к программированию.
Для начала необходимо скачать среду Arduino. Скачать последнюю версию можно на сайте производителя .
Подключаем наш клон к компьютеру, при наличии интернета устройство должно определиться автоматически.
Если при подключении драйвер на FT232RL не уcтановился в автоматическом режиме, тогда скачаваем драйвер на свою ОС с сайта производителя FTDI.
В комментариях к статье, человек указал на возможность конфликта новых драйверов на FT232RL с сайта производителя. В связи с этим лучше установить драйвер из среды Arduino IDE (arduino-1.0.5-windowsarduino-1.0.5driversFTDI USB Drivers)
Открываем скачанную идешку и выбираем плату. Плата будет отображаться как Arduino NG or older w/ATmega 8 при использовании контроллера ATmega 8, либо как Arduino NG or older w/ATmega 168 при использовании ATmega168.
Затем выбираем COMport к которому подключена плата. У меня кабель определился под девятым номером.
Для проверки работоспособности зальем в контроллер тестовую программку-мигалку, выполнив следующие действия
После успешной загрузки вы должны увидеть следующее
Если все заработало, то поздравляю вас. Вы собственноручно собрали полноценный клон USB Arduino.
В архиве лежит шаблон под ЛУТ и список деталей.
Открываем изображение => Печать => Во всю страницу
Для облегчения распайки smd компонентов с обратной стороны платы, где нет маркировки, приведу картинку.
Хочется отметить, что на smd конденсаторах нет маркировки номиналов, но для облегчения распайки на картинке я их нанес. 104 — 0,1 мкФ, 22 — 22пФ.
На этот раз я поведаю о том, как сделать Ардуино своими руками, да еще и без паяльника. Схема этого простого Ардуино-клона называется Shrimp . Самодельный Shrimp полностью совместим с Arduino IDE, так что можно легко запускать на нем любые скетчи.
Сразу следует отметить, что для создания Shrimp с нуля потребуется рабочая плата Ардуино. Она необходима для установки загрузчика на пустой микроконтроллер. Если под рукой нет Ардуино, то можно приобрести уже прошитый микроконтроллер и сразу прыгнуть к разделу 2.
Для создания Shrimp нам потребуется:
- микроконтроллер ATMEGA328P-PU;
- резистор 10 кОм;
- конденсатор 10-100 мкФ, электролитический;
- конденсатор 22 пФ, керамический — 2 шт;
- конденсатор 100 нФ, керамический — 4 шт;
- кнопка тактовая;
- кварц 16 МГц;
- макетная плата;
- набор перемычек для макетной платы;
- USB — UART конвертер на основе FT232R, CP2102 или CH340.
1. Копирование загрузчика на чистый микроконтроллер
Обычно, чтобы записать программу в микроконтроллер требуется использовать отдельное устройство — программатор. Ардуино же хороша тем, что программатор ей не нужен. Вместо него, используется особая микропрограмма, называемая загрузчиком (bootloader). Этот загрузчик умеет принимать программы из вне и записывать их во флеш-память микроконтроллера.
Так вот, загрузчик записывается в микроконтроллер на заводе. И чтобы заставить наш Shrimp работать, мы должны повторить эту процедуру. Вот здесь-то нам и потребуется другая плата Ардуино, о которой упоминалось в самом начале. Процедура установки загрузчика состоит из трёх шагов.
Шаг 1. Установка на рабочую плату Ардуино специальной программы — OptiLoader
Открытая программа OptiLoader
позволяет прошить загрузчик optiboot в микроконтроллер нашего Shrimp. На момент написания статьи OptiLoader поддерживал микроконтроллеры: ATmega8, ATmega168, ATmega168P, ATmega168PB, ATmega328, ATmega328P, ATmega328PB. Качаем архив по одной из ссылок:
- из официального репозитория: https://github.com/WestfW/OptiLoader
- с нашего сайта:
Распаковываем архив и открываем скетч в Arduino IDE. Загружаем скетч в рабочую плату Ардуино. Отключаем Ардуино от питания USB.
Примечание.
Если скачать программу с github, то нужно будет переименовать папку «optiLoader-master» в просто «optiLoader»
Шаг 2. Подключение чистого микроконтроллера
Соединяем рабочую плату Ардуино с чистым микроконтроллером по приведенной схеме. Здесь все очень просто. Внимательно смотрим на картинку, вставляем проводки, семь раз проверяем.
Принципиальная схема
Внешний вид макета

Теперь подключим Ардуино к питанию через USB. Сразу после включения, программа начнет копирование загрузчика на чистый микроконтроллер. При это будут активно мигать светодиоды RX и TX. Как только светодиоды перестанут мигать — копирование окончено.
Если что-то пошло не так и светодиоды не мигают, можно открыть COM-монитор. OptiLoader отображает весь процесс копирования загрузчика. В случае успеха, отчет о процедуре будет выглядеть следующим образом.
2. Загрузка программ на Shrimp
Итак, теперь у нас есть самодельный Arduino с прошитым загрузчиком. Чтобы залить на него какой-нибудь скетч, нам потребуется частично разобрать предыдущую схему, и дополнить её новыми элементами.В частности, добавляется кнопка сброса, и защитные цепи питания.
Arduino – аппаратная вычислительная платформа, которая используется для проектирования и создания электронных устройств различного уровня сложности.
В основе этого электронного конструктора лежит аппаратная платформа для ввода и вывода, которая программируется на языке Processing/Wiring , созданном на базе C++. Из каких компонентов состоит Arduino, что можно сделать с его помощью и как научиться обращаться с этим умным чипом?
Что такое Arduino
Arduino – один из наиболее распространенных миниатюрных контроллеров с набором входов и выходов, который работает по предварительно написанной программе. Этот универсальный контроллер очень удобен для создания прототипов электронных устройств, что делает его популярным не только среди студентов и любителей со всего мира, но и среди продвинутых проектировщиков и изобретателей.
Arduino подкупает своей универсальностью. Используя специальные расширяющие платы, этот контроллер может взаимодействовать с другими девайсами посредством Bluetooth, Wi-Fi, GPRS, осуществлять и принимать телефонные звонки и СМС.
Контроллер является не простой микросхемой, а платой, где реализована готовая схема питания и интерфейсы для присоединения к ПК, входные и выходные разъемы.
Благодаря широкому ассортименту библиотек протоколов, имеется возможность организовать взаимодействие Arduino с сенсорами и сервоприводами, используемыми в современной робототехнике.
А открытая архитектура дает возможность настраивать Arduino под любые цели. А благодаря упрощенному языку программирования, освоить работу с контроллером будет легко даже новичкам. Особенно удобно работать с Ардуино благодаря платформе, которая дает практически мгновенный отклик на запрограммированные команды.
Что можно сделать с Arduino?
Практически любую оригинальную идею программист, дизайнер или инженер может превратить в рабочий прототип – достаточно лишь приобрести контроллер и дополнительные радиодетали. Также энтузиастов программирования и схемотехники подкупает невысокая стоимость Arduino, которая делает контроллер доступным для широких масс.
Проекты на Arduino: что можно сделать
Рассмотрим несколько оригинальных идей, которые можно реализовать на Arduino. Помимо самой схемы, вам могут понадобиться дополнительные детали, которые выгоднее всего закупать на AliExpress.
Регулятор температуры в доме
Реализовать такой проект можно с использованием нескольких плат Arduino Nano и одной Arduino Uno/Mega, которая будет выступать в роли базы. Связь между модулями можно реализовать с помощью NRF24L01 – модуля радиосвязи, который дает возможность объединять до 6 плат.
В одном корпусе необходимо собрать Arduino Nano, соединенные с датчиками влажности и температуры DHT22, а также модулем NRF24L01. Источником питания может выступать обычная батарейка. Несколько таких устройств необходимо разместить по всем помещениям в доме.
Показатели с Arduino Nano будут передаваться на базу, в роли которой выступает Arduino Mega или Uno. К ней также необходимо присоединить приемник сигнала NRF24L01, источник питания и дисплей LCD для отображения текстовой информации. Располагать «базу» необходимо в непосредственной близости от системы отопления. Принимая и обрабатывая поступающие данные о влажности и температуре, база будет передавать системе отопления команды и повышении или понижении температуры.
ЧПУ-станок
Эта идея является одной из самых сложных в реализации. С помощью Arduino Mega вы сможете реализовать не только ЧПУ-станок, но и 3D принтер. Помимо самой платы, вам необходимы будут драйверы двигателей L298N, а также сами двигатели. Остальная часть работы – это рама и разработка программного кода.
Smart-теплица
Все владельцы огорода или приусадебного участка знают, как много внимания требует к себе теплица и выращиваемая в ней рассада. Необходимо постоянно контролировать влажность почвы, вовремя открывать и закрывать двери и т. д. С помощью Arduino все эти рутинные процессы могут быть автоматизированы.
Используя всего одну плату Arduino Mega и контроллер DHT22, вы сможете фиксировать и выводить на экран информацию о температуре в теплице, а также передавать команды на запуск полива, управление моторами для открытия и закрытия дверей.
Роботы
Роботы – лучшая игрушка не только для детей, но и для взрослых, особенно, когда имеется возможность ими управлять. Используя Arduino и различные подручные материалы, вы сможете сделать робота в любой конфигурации: от наиболее примитивных до сложных моделей.
Например, с помощью ультразвукового дальномера HC-SR04 ваш робот сможет фиксировать расстояние до препятствий и огибать их при движении. Применив драйвер двигателей L293D, вы получите в свое распоряжение 3 сервопривода и 4 двигателя. С помощью модуля HC-06 у вас появится возможность управлять своим детищем по Bluetooth через смартфон.
Конечно, на этом список проектов на Arduino, что можно сделать своими руками, не исчерпывается – возможности здесь ограничены только вашей фантазией и навыками.
Часть № 1. Предисловие
Идея и
направление
проекта
Всем передаю своё огромное приветствие и желаю того, чтобы прочтение моей учебной статьи не потратило ваше драгоценное время впустую. В этой статье (уроке) я хочу предложить каждому читателю один из многих дешёвых способ изготовления своей arduino платформы в домашних условиях своими руками, какими бы они ни были. Также представлю несколько плат дополнений к нашему микроконтроллеру.
Все радиолюбители и профессионалы когда-то начинали учиться паять, мастерить небольшие устройства, читать электрические схемы, ну и другое. Например, я, узнав об arduino и её возможностях, практически сразу же собирался её купить, но, понимая, в какую копеечку мне это обойдётся, я решил приобрести все химические средства и реактивы для изготовления собственной печатной платы, так как она является самой удачной перспективой в данном случае. Собственные печатные платы можно делать быстро, удобно, и за дешёвые стоимость химических компонентов.
Часть № 2. Разработка и проектирование проекта
Способом изготовления печатных плат является в нашем случае (лазерно-утюжная технология изготовления печатных плат). Тем самым необходимо составить список того, чего необходимо:
1) Стеклотекстолит (100×200 мм на все случаи жизни);
2) Флюс для пайки с тонкой кисточкой;
3) Хлорное железо (250 г.);
4) Жидкое олово (100 мл или больше, неважно, его намного хватает);
5) Лазерный принтер (желательно с новым картриджем);
6) Обычная бумага тонкая A4;
7) Сверло для сверления отверстий в плату;
8) Паяльник мощностью 25 — 30 Вт;
9) Утюг, лучше всего, советский.
В целом, все эти компоненты, не считая конечно принтер, будут стоить вам около двухсот рублей, но этих компонентов хватит на 15-20 небольших плат, если, конечно, экономить.
Теперь же необходимо обсудить детали насчет деталей для сборки самого микроконтроллера:
1) — ATmega328P PU;
2) — Светодиоды, кнопки, штырьки на плату (все дешевые) и прочее (для удобства);
3) — Программатор.
Все эти компоненты тоже будут теоретически стоить около 200 — 300 рублей. В итоге, можно сказать, что, чтобы собрать собственный arduino микроконтроллер, надо потратиться примерно в сумме 300-400 рублей (конечно же считая сколько химических компонентов необходимо для изготовления одного микроконтроллера).
Следующим шагом будет являться разработка и проектирование проекта микроконтроллера, то есть такие её стадии, как:
- Подготовка всех компонентов на своём рабочем столе;
- Изготовление шаблона печатной платы и очистка стеклотекстолита очистителем или растворителем;
- Распечатка шаблона печатной платы на стеклотекстолите при помощи лазерного принтера;
- Обработка и травление, собственно, печатной платы;
- Снова же очистка и обработка печатной платы очистителем или растворителем (я использую уайт-спирит);
- Обработка печатной платы в растворе солей олова(лужение дорожек печатной платы необходимо для того, чтобы схема оставалась рабочей на долгое время);
- Сверление отверстий сверлом;
- Установка в отверстия печатной платы электронных компонентов;
- Обработка отверстий флюсом и разогревание паяльника;
- Пайка компонентов;
- И, наконец, подготовка к работе компьютера и микроконтроллера и прошивка arduino ide.
Впрочем, весь процесс может проходить в течении 2-3 часов, смотря на то, какие у кого навыки в изготовлении собственных печатных плат и к пайке электронных компонентов. Итак, пришло время сказать вот такое выражение: » В теории всё понятно, а как на деле». А то мы, радиолюбители и профессионалы, не только ради теорий и знаний занимаемся электроникой.
Часть № 3. Реализация проекта
Все этапы работы я покажу по фото и опишу их с помощью комментариев.
Также необходимо начертить схему для печатной платы.
Кнопка потребуется для сброса системы,светодиод присоединен к выводам 13-ый пин ATmega328P PU и земля для индикации состояния микроконтроллера, кварцевый резонатор нужен именно 16 МГц, так как при меньшей частоте микроконтроллер либо будет работать медленно и даже очень, либо вовсе работать не будет. Пять проводов находящихся на верхней стороне схемы необходимы для программирования через программатор или arduino uno. Питаться схема может по двум проводам либо на дне печатной платы, на двух штырьках, либо два крайних штырька на её поверхности.
Теперь начну подробнее описывать аспекты каждого из этапов.
1) На этом этапе необходимо подготовить все компоненты для создания печатной платы. Ножницы необходимы для того, чтобы разрезать стеклотекстолит. Перчатки, соответственно, для чистоты рук и гигиены. На рисунке также имеется уже готовая печатная плата с необработанной поверхностью. Тряпка нужна для обработки печатной платы (на втором этапе). Стол лучше, конечно, выбрать другой, по ровнее.
2) Уайт-спирит наливаем в контейнер объемом, как крышка, выливаем на тряпку, не ждём, пока она засохнет, и переходим к следующему действию. А затем очищаем и обрабатываем стеклотекстолит, если уж очень грязно, то придётся задействовать шкурку (бумага). Он будет готов к дальнейшей работе только после того, как он станет очищен на 100%. После оставляем будущую печатную плату высыхать, чтобы бумага со схемой не намокла и не испортила нам настроение.
3)
По моему мнению, схема получилась довольно таки красивая. Все аккуратно и четко стоит на своём месте. Для того, чтобы распечатать схему на стеклотекстолите необходимо ровно положить шаблон на очищенный текстолит и начинать утюжить.
Утюг стоит двигать равномерно по всей площади печатной платы, в течение времени равной не менее трёх минут. Надо ждать до того момента, когда абсолютно весь чернильный рисунок расплавит
с
я. И тогда отличный результат будет неизбежен.
После этой процедуры надо дождаться того, пока печатная плата, точней её температура, достигнет комнатной и опустить плату в ёмкость с тёплой или горячей водой. Несколько минут подождать, и потом, держа в ладони печатную плату, только большим пальцем снимать приклеенную бумагу. После очистки надо убрать воду с печатной платы.
4) На этом этапе меньше всего будет хлопот. Потребуется только лишь ваше терпение и время. Опустите печатную плату в пластиковую ёмкость с раствором хлорного железа. Растворить в ёмкости хлорное железо в воде надо в соотношении 12, то есть 100 мл воды теплой и 50 г. хлорного железа.Вылить в плоскую пластмассовую миску. Этим раствором можно будет пользоваться достаточно много. В течение 30-60 минут необходимо ждать, опустив печатную плату в раствор хлорного железа, пока плата протравиться, то есть лишняя медь уйдет с стеклотекстолита. Контролируйте ход травления плату. Вынимать следует при помощи пластмассового пинцета. Если процесс травления идёт долго то можно увеличить температуру раствора до 50-70 градусов, или добавить в раствор ещё хлорного железа.
5) После травления печатной платы стоит протереть её, избавив от остатков раствора и, и снова же обработать и очистить шаблон с платы, так как он нам уже не понадобится. В итоге, должно получится основа стеклотекстолита и медные дорожки, соответствующие дорожкам в нашей схеме.
6) Процесс на этом этапе то не является сложным, так как тут тоже требуется лишь терпение и время. Необходимо просто положить печатную плату в раствор солей олова,но не затягивать, всего лишь держать в растворе 10 минут, если передержать половину дня, то вся схема может просто отшелушится и растворится. Вообще, раствор предназначен для быстрого покрытия оловом печатных плат или медных деталей простым и технологичным способом для предотвращения окисления и подготовки поверхности под пайку в домашних условия. Раствор же использовать при комнатной температуре в полиэтиленовой посуде. Деталь надо предварительно зачистить и обезжирить, и при этом толщина покрытия составит 1 мкм. В одном литре раствора можно залудить до 50 км дм поверхности возможно многократное использование. Не рекомендуется совместное хранение свежего и отработанного раствора. Срок годности состава без ухудшения свойств до двух лет.
7) Отверстия следует делать очень тонким сверлом чтобы умело и точно можно было бы припаивать электронные компоненты. Желательно чаще пользоваться флюсом или канифолью (сосновой) , так как с помощью них можно отлично паять.
8) Только лишь точная установка всех компонентов может с успехом повлиять на удобство пайки компонентов. Необходимо чётко все разместить, чтобы место осталось свободное на печатной плате и к тому же чтобы помочь самому себе, то есть тебе легче будет припаивать компоненты, если будет свободное пространство.
9) Этот пункт нет смысла описывать, так как в нём всё ясно
10) Паяйте как можно аккуратнее, если хотите получить отличный мини аналог Arduino Uno.
11) После всех предыдущих этапов я надеюсь у вас уже есть стоящий прототип и теперь можно приступать к настройке компьютера и программирования микроконтроллера.
Необходимо подключить провода именно так:
Мини аналог RST RX TX +5V GND (считая слева направо на правой картинке.)
Arduino Uno RST RX TX +5V GND
И после этого можно легко программировать микроконтроллер прямо с Arduino IDE ка Arduino Uno.
Часть № 4. Заключение
Микроконтроллерные платы получились я надеюсь у всех читателей отличными. Все эти печатные платы можно использовать для создания и разработки многих устройств или даже роботов.
Тут представлен стабилизатор напряжения на lm7805ct (5 вольт). Если он будет перегреваться, всё тепло будет идти на стеклотекстолит.
Из этого урока можно сделать вывод, что arduino можно сделать и за более дешёвую сумму чем в магазинах и я надеюсь, что эта статья не позволила вам потратить ваше время зря. Всем кто читал — спасибо, а кто будет комментировать и учитывать мои промахи, тем двойное спасибо, так как я буду признавать свои ошибки и, надеюсь, в будущем буду исправлять их.
Список радиоэлементов
| Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
|---|---|---|---|---|---|---|
| МК AVR 8-бит | ATmega328P | 1 | DIP | В блокнот | ||
| Зарубежные | Светодиод | 2 | Зелнный и синий |
Часть № 1. Предисловие
Идея и направление проекта
Всем передаю своё огромное приветствие и желаю того, чтобы прочтение моей учебной статьи не потратило ваше драгоценное время впустую. В этой статье (уроке) я хочу предложить каждому читателю один из многих дешёвых способ изготовления своей arduino платформы в домашних условиях своими руками, какими бы они ни были. Также представлю несколько плат дополнений к нашему микроконтроллеру.
Все радиолюбители и профессионалы когда-то начинали учиться паять, мастерить небольшие устройства, читать электрические схемы, ну и другое. Например, я, узнав об arduino и её возможностях, практически сразу же собирался её купить, но, понимая, в какую копеечку мне это обойдётся, я решил приобрести все химические средства и реактивы для изготовления собственной печатной платы, так как она является самой удачной перспективой в данном случае. Собственные печатные платы можно делать быстро, удобно, и за дешёвые стоимость химических компонентов.
Часть № 2. Разработка и проектирование проекта
Способом изготовления печатных плат является в нашем случае ЛУТ (лазерно-утюжная технология изготовления печатных плат). Тем самым необходимо составить список того, чего необходимо :
1) Стеклотекстолит (100×200 мм на все случаи жизни);
2) Флюс для пайки с тонкой кисточкой;
3) Хлорное железо (250 г.);
4) Жидкое олово (100 мл или больше, неважно , его намного хватает);
5) Лазерный принтер (желательно с новым картриджем);
6) Обычная бумага тонкая A4;
7) Сверло для сверления отверстий в плату;
8) Паяльник мощностью 25 — 30 Вт;
9) Утюг, лучше всего, советский.
В целом, все эти компоненты, не считая конечно принтер, будут стоить вам около двухсот рублей, но этих компонентов хватит на 15-20 небольших плат, если , конечно, экономить.
Теперь же необходимо обсудить детали насчет деталей для сборки самого микроконтроллера:
1) — ATmega328P PU;
2) — Светодиоды, кнопки, штырьки на плату (все дешевые) и прочее (для удобства);
3) — Программатор.
Все эти компоненты тоже будут теоретически стоить около 200 — 300 рублей. В итоге, можно сказать, что, чтобы собрать собственный arduino микроконтроллер, надо потратиться примерно в сумме 300-400 рублей (конечно же считая сколько химических компонентов необходимо для изготовления одного микроконтроллера).
Следующим шагом будет являться разработка и проектирование проекта микроконтроллера, то есть такие её стадии, как:
- Подготовка всех компонентов на своём рабочем столе;
- Изготовление шаблона печатной платы и очистка стеклотекстолита очистителем или растворителем;
- Распечатка шаблона печатной платы на стеклотекстолите при помощи лазерного принтера;
- Обработка и травление, собственно, печатной платы;
- Снова же очистка и обработка печатной платы очистителем или растворителем (я использую уайт-спирит);
- Обработка печатной платы в растворе солей олова(лужение дорожек печатной платы необходимо для того, чтобы схема оставалась рабочей на долгое время);
- Сверление отверстий сверлом;
- Установка в отверстия печатной платы электронных компонентов;
- Обработка отверстий флюсом и разогревание паяльника;
- Пайка компонентов;
- И, наконец, подготовка к работе компьютера и микроконтроллера и прошивка arduino ide.
Впрочем, весь процесс может проходить в течении 2-3 часов, смотря на то, какие у кого навыки в изготовлении собственных печатных плат и к пайке электронных компонентов. Итак, пришло время сказать вот такое выражение: » В теории всё понятно, а как на деле». А то мы, радиолюбители и профессионалы, не только ради теорий и знаний занимаемся электроникой.
Часть № 3. Реализация проекта
Все этапы работы я покажу по фото и опишу их с помощью комментариев.
Также необходимо начертить схему для печатной платы.
Кнопка потребуется для сброса системы,светодиод присоединен к выводам 13-ый пин ATmega328P PU и земля для индикации состояния микроконтроллера, кварцевый резонатор нужен именно 16 МГц, так как при меньшей частоте микроконтроллер либо будет работать медленно и даже очень, либо вовсе работать не будет. Пять проводов находящихся на верхней стороне схемы необходимы для программирования через программатор или arduino uno. Питаться схема может по двум проводам либо на дне печатной платы , на двух штырьках, либо два крайних штырька на её поверхности.
Теперь начну подробнее описывать аспекты каждого из этапов.
1) На этом этапе необходимо подготовить все компоненты для создания печатной платы. Ножницы необходимы для того, чтобы разрезать стеклотекстолит. Перчатки, соответственно, для чистоты рук и гигиены. На рисунке также имеется уже готовая печатная плата с необработанной поверхностью. Тряпка нужна для обработки печатной платы (на втором этапе). Стол лучше, конечно, выбрать другой, по ровнее.
2) Уайт-спирит наливаем в контейнер объемом, как крышка, выливаем на тряпку, не ждём, пока она засохнет, и переходим к следующему действию. А затем очищаем и обрабатываем стеклотекстолит, если уж очень грязно, то придётся задействовать шкурку (бумага). Он будет готов к дальнейшей работе только после того, как он станет очищен на 100%. После оставляем будущую печатную плату высыхать, чтобы бумага со схемой не намокла и не испортила нам настроение.
3) По моему мнению, схема получилась довольно таки красивая. Все аккуратно и четко стоит на своём месте. Для того, чтобы распечатать схему на стеклотекстолите необходимо ровно положить шаблон на очищенный текстолит и начинать утюжить. Утюг стоит двигать равномерно по всей площади печатной платы, в течение времени равной не менее трёх минут. Надо ждать до того момента, когда абсолютно весь чернильный рисунок расплавится. И тогда отличный результат будет неизбежен.
После этой процедуры надо дождаться того, пока печатная плата , точней её температура, достигнет комнатной и опустить плату в ёмкость с тёплой или горячей водой. Несколько минут подождать, и потом, держа в ладони печатную плату, только большим пальцем снимать приклеенную бумагу. После очистки надо убрать воду с печатной платы.
4) На этом этапе меньше всего будет хлопот. Потребуется только лишь ваше терпение и время. Опустите печатную плату в пластиковую ёмкость с раствором хлорного железа. Растворить в ёмкости хлорное железо в воде надо в соотношении 12, то есть 100 мл воды теплой и 50 г. хлорного железа.Вылить в плоскую пластмассовую миску. Этим раствором можно будет пользоваться достаточно много. В течение 30-60 минут необходимо ждать, опустив печатную плату в раствор хлорного железа, пока плата протравиться, то есть лишняя медь уйдет с стеклотекстолита. Контролируйте ход травления плату. Вынимать следует при помощи пластмассового пинцета. Если процесс травления идёт долго то можно увеличить температуру раствора до 50-70 градусов, или добавить в раствор ещё хлорного железа.
5) После травления печатной платы стоит протереть её, избавив от остатков раствора и, и снова же обработать и очистить шаблон с платы, так как он нам уже не понадобится. В итоге, должно получится основа стеклотекстолита и медные дорожки, соответствующие дорожкам в нашей схеме.
6) Процесс на этом этапе то не является сложным, так как тут тоже требуется лишь терпение и время. Необходимо просто положить печатную плату в раствор солей олова,но не затягивать, всего лишь держать в растворе 10 минут, если передержать половину дня, то вся схема может просто отшелушится и растворится. Вообще, раствор предназначен для быстрого покрытия оловом печатных плат или медных деталей простым и технологичным способом для предотвращения окисления и подготовки поверхности под пайку в домашних условия. Раствор же использовать при комнатной температуре в полиэтиленовой посуде. Деталь надо предварительно зачистить и обезжирить, и при этом толщина покрытия составит 1 мкм. В одном литре раствора можно залудить до 50 км дм поверхности возможно многократное использование. Не рекомендуется совместное хранение свежего и отработанного раствора. Срок годности состава без ухудшения свойств до двух лет.
7) Отверстия следует делать очень тонким сверлом чтобы умело и точно можно было бы припаивать электронные компоненты. Желательно чаще пользоваться флюсом или канифолью (сосновой) , так как с помощью них можно отлично паять.
8) Только лишь точная установка всех компонентов может с успехом повлиять на удобство пайки компонентов. Необходимо чётко все разместить , чтобы место осталось свободное на печатной плате и к тому же чтобы помочь самому себе, то есть тебе легче будет припаивать компоненты, если будет свободное пространство.
9) Этот пункт нет смысла описывать, так как в нём всё ясно
10) Паяйте как можно аккуратнее, если хотите получить отличный мини аналог Arduino Uno.
11) После всех предыдущих этапов я надеюсь у вас уже есть стоящий прототип и теперь можно приступать к настройке компьютера и программирования микроконтроллера.

Необходимо подключить провода именно так:
Мини аналог RST RX TX +5V GND (считая слева направо на правой картинке.)
| | | | |
Arduino Uno RST RX TX +5V GND
И после этого можно легко программировать микроконтроллер прямо с Arduino IDE ка Arduino Uno.
Часть № 4. Заключение
Микроконтроллерные платы получились я надеюсь у всех читателей отличными. Все эти печатные платы можно использовать для создания и разработки многих устройств или даже роботов.
Тут представлен стабилизатор напряжения на lm7805ct (5 вольт). Если он будет перегреваться, всё тепло будет идти на стеклотекстолит.
Из этого урока можно сделать вывод, что arduino можно сделать и за более дешёвую сумму чем в магазинах и я надеюсь, что эта статья не позволила вам потратить ваше время зря. Всем кто читал — спасибо, а кто будет комментировать и учитывать мои промахи, тем двойное спасибо, так как я буду признавать свои ошибки и, надеюсь, в будущем буду исправлять их.
Примечание редакции сайта: К сожалению, автор статьи не нашел нужным рассказать про заливку bootloader’а, без чего данный проект не является законченным. Про заливку бутлодера читайте в статье Arduino своими руками с USB портом
Список радиоэлементов
Скачать список элементов (PDF)
Теги:
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:
Заключение
В статье рассмотрена лишь малая капля из всего того, что вы можете сделать на этой популярной платформе. На самом деле всё зависит от вашей фантазии и задачи, которую вы ставите перед собой.
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-контроллера, если уж не самый простой, то уж наверняка
самый доступный для самостоятельного изготовления. В основе — уже ставшая
классической схема Arduino на контроллере ATMega8.
Всего разработано два варианта:
- Модульный
- Одноплатный
Модульный вариант
Этот вариант контроллера состит из трех плат:
Одноплатный вариант
Все тоже самое, только на одной плате:
Плата выполнена из одностороннего фольгированного текстолита и может быть
повторена в домашних условиях с использованием, наприрмер, ЛУТ-технологии.
Размеры платы: 95×62
Программирование микроконтроллера
После сборки платы — необходимо «прошить» контроллер, загрузить в него
«bootloader» — загрузчик. Для этого потребуется программатор. Берем чистый
контроллер типа ATMega8, устанавливаем его в программатор, подключаем
к компьютеру. Я использовал программатор Программатор AVR ISP mkII c адаптером ATMega8-48-88-168 . Программируем с помощью Arduino IDE, она сама
выставит необходимые fuse bits. Последовательность такая:
1. Выбор программатора (Сервис > Программатор > AVRISP mkII). Если этот
программатор используется впервые — необходимо установить драйвер
AVRISP-MKII-libusb-drv.zip . Если используется не AVRISP mkII, а другой
программатор, то из списка нужно выбрать нужный.
2. Выбор платы для микроконтроллера (Сервис > Плата > Arduino NG or older w/ ATmega8).
Если используется не ATmega8, а другой микроконтроллер, то и платку нужно
выбирать соответствующую ему.
3. Запись bootloader (Сервис > Записать загрузчик).
4. Устанавливаем контроллер на плату, и все, Arduino готова к работе.
Микроконтроллеры – отличная основа для большого количества устройств. По сути своей они напоминают компьютер: постоянная память; оперативная память; вычислительное ядро; тактовая частота.
Среди многих семейств и видов МК новички часто выбирают контроллеры AVR Atmega. Однако язык программирования может показаться сложным, поэтому преподаватель из Италии решил разработать простую и удобную плату для обучения.
Родилась Arduino ATmega8, на основе которой можно собрать очень удобное и простое устройство.
С этими платами от Ардуино вы получаете целый ряд преимуществ:
- готовая разведенная печатная плата со всеми необходимыми компонентами и разъёмами;
- микроконтроллеры Atmega;
- возможность программировать без программаторов – через ЮСБ порт;
- питание от любого источника 5-20 вольт;
- простой язык программирования и возможность использования чистой C AVR без переделок платы и прошивки.
- Частота ATmega8: 0-16 МГц
- Напряжение ATmega8: 5 В
- Частота ATmega8L: 0-8 МГц
- Частоат ATmega8A: 0-16 МГц
В реальности почти все микроконтроллеры при рабочем напряжении в 5 вольт работают с частотой 16 мегагерц, если участвует внешний кварцевый резонатор. Если брать внутренний генератор, то частоты составят: 8, 4, 2 и 1 МГц.
Распиновка Arduino ATmega8
Ниже приводим распиновку атмега8, которую можно также найти на официальном сайте производителя:
Добавление устройств АТмега
Есть один нюанс по работе с эти чипом — нам нужно внести некоторые изменений в один файл, чтобы дальше можно было бы программировать микроконтроллеры Arduino ATmega8.
Вносим следующие изменения в файл hardware/arduino/boards.txt
:
Atmega8o.name=ATmega8 (optiboot 16MHz ext)
atmega8o.upload.protocol=arduino
atmega8o.upload.maximum_size=7680
atmega8o.upload.speed=115200
atmega8o.bootloader.low_fuses=0xbf
atmega8o.bootloader.high_fuses=0xdc
atmega8o.bootloader.path=optiboot50
atmega8o.bootloader.file=optiboot_atmega8.hex
atmega8o.bootloader.unlock_bits=0x3F
atmega8o.bootloader.lock_bits=0x0F
atmega8o.build.mcu=atmega8
atmega8o.build.f_cpu=16000000L
atmega8o.build.core=arduino:arduino
atmega8o.build.variant=arduino:standard
##############################################################
a8_8MHz.name=ATmega8 (optiboot 8 MHz int)
a8_8MHz.upload.protocol=arduino
a8_8MHz.upload.maximum_size=7680
a8_8MHz.upload.speed=115200
a8_8MHz.bootloader.low_fuses=0xa4
a8_8MHz.bootloader.high_fuses=0xdc
a8_8MHz.bootloader.path=optiboot
a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex
a8_8MHz.build.mcu=atmega8
a8_8MHz.build.f_cpu=8000000L
a8_8MHz.build.core=arduino
a8_8MHz.build.variant=standard
##############################################################
a8_1MHz.name=ATmega8 (optiboot 1 MHz int)
a8_1MHz.upload.protocol=arduino
a8_1MHz.upload.maximum_size=7680
a8_1MHz.upload.speed=9600
a8_1MHz.bootloader.low_fuses=0xa1
a8_1MHz.bootloader.high_fuses=0xdc
a8_1MHz.bootloader.path=optiboot
a8_1MHz.bootloader.file=a8_1MHz_a1_dc.hex
a8_1MHz.build.mcu=atmega8
a8_1MHz.build.f_cpu=1000000L
a8_1MHz.build.core=arduino
a8_1MHz.build.variant=standard
##############################################################
a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int)
a8noboot_8MHz.upload.maximum_size=8192
a8noboot_8MHz.bootloader.low_fuses=0xa4
a8noboot_8MHz.bootloader.high_fuses=0xdc
a8noboot_8MHz.build.mcu=atmega8
a8noboot_8MHz.build.f_cpu=8000000L
a8noboot_8MHz.build.core=arduino
a8noboot_8MHz.build.variant=standard
Таким образом, если мы перейдем в меню Сервис → Плата
, то увидим устройства:
- ATmega8 (optiboot 16MHz ext)
- ATmega8 (optiboot 8 MHz int)
- ATmega8 (optiboot 1 MHz int)
- ATmega8 (no boot 8 MHz int)
Платы Arduino
Ардуино продаётся во множестве вариантов; главное, что объединяет платы, – это концепция готового изделия. Вам не нужно травить плату и паять все её компоненты, вы получаете готовое к работе изделие. Можно собирать любые устройства, не используя паяльник. Все соединения в базовом варианте выполняются с помощью макетной платы и перемычек.
Сердце платы – микроконтроллер семейства AVR. Изначально был применён микроконтроллер atmega8, но его возможности не безграничны, и плата подвергалась модернизации и изменениям. Стандартная плата, которая наиболее распространена у любителей – это плата версии UNO, существует много её вариаций, а её размеры сравнимы с кредитной карточкой.
Плата – полный аналог большего собрата, но в гораздо меньших размерах, версия arduino atmega168 была самой популярной и недорогой, но её сменила другая модель – arduino atmega328, стоимость которой аналогична, а возможности больше.
Следующей важной деталью является печатная плата. Разведена и запаяна на заводе, позволяет избежать проблем с её созданием, травлением и пайкой. Качество платы зависит от производителя конкретного экземпляра, но, в основном, оно на высоком уровне. Питание платы осуществляется с помощью пары линейных стабилизаторов, типа L7805
, или других LDO стабилизаторов напряжения.
Клеммная колодка – отличный способ сделать надёжное разъёмное соединение и быстро выполнить изменения в схеме прототипов ваших устройств. Для тех, кому не хватает стандартных разъёмов, есть более крупные и мощные платы, например, на atmega2560, у которой доступно полсотни портов для работы с периферией.
На фото изображена плата . На её основе можно собрать довольно сложного робота, систему умного дома или 3d-принтер на ардуино.
Не стоит думать, что младшие версии слабы, например, микроконтроллер atmega328, на котором построены модели Uno, nano, mini и другие, имеет вдвое больше памяти по сравнению с 168 моделью – 2 кб ОЗУ и 32 кб Flash памяти. Это позволяет записывать более сложные программы в память микроконтроллера.
Проекты на основе Arduino ATmega
Микроконтроллер в современной электронике – основа для любого устройства, начиная от простой мигалки на светодиодах, до универсальных измерительных приборов и даже средств автоматизации производства.
Пример 1
Можно сделать тестер с 11 функциями на микроконтроллере atmega32.
Устройство имеет крайне простую схему, в которой использовано немногим более дюжины деталей. Однако вы получаете вполне функциональный прибор, которым можно производить измерения. Вот краткий перечень его возможностей:
- Прозвонка цепи с возможностью измерять падение напряжения на переходе диода.
- Омметр.
- Измеритель ёмкости.
- Измерение активного сопротивления конденсатора или ESR.
- Определение индуктивности.
- Возможность счёта импульсов.
- Измерение частоты – пригодится в диагностике, например, для проверки ШИМ источника питания.
- Генератор импульсов – тоже полезен в ремонте.
- Логический анализатор позволит просмотреть содержимое пачек цифровых сигналов.
- Тестер стабилитронов.
Пример 2
Для радиолюбителей будет полезно иметь качественное оборудование, но станция стоит дорого. Есть возможность собрать паяльную станцию своими руками, для этого нужна плата Arduino, имеющая в своем составе микроконтроллер atmega328.
Пример 3
Для продвинутых радиолюбителей есть возможность собрать более чем бюджетный осциллограф. Мы опубликуем данный урок в дальнейших статьях.
Для этого вам понадобится:
- Arduino uno или atmega
- Tft дисплей 5 дюйма.
- Небольшой набор обвязки.
Или его упрощенный аналог на плате Nano и дисплее от nokia 5110.
Такой осциллографический пробник станет полезным для автоэлектрика и мастера по ремонту радиоэлектронной аппаратуры.
Пример 4
Бывает, что управляемые модули удалены друг от друга или возможностей одной ардуино не хватает – тогда можно собрать целую микроконтроллерную систему. Чтобы обеспечить связь двух микроконтроллеров стоит использовать стандарт RS 485.
На фото приведен пример реализации такой системы и ввода данных с клавиатуры.
Цветомузыка на микроконтроллере Arduino ATmega8
Для школьной дискотеки можно собрать ЦМУ на 6 каналов.
Транзисторы VT1-VT6 нужно подобрать с учетом мощности ваших светодиодов. Это силовые компоненты – они нужны, потому что мощности микроконтроллера не хватит, чтобы запустить мощные лампы или светодиоды.
Если вы хотите коммутировать сетевое напряжение и собрать цветомузыку на лампах накаливания, вместо них нужно установить симисторы и драйвер. Дополнить каждый канал ЦМУ вот такой конструкцией:
Ардуино своими руками
Atmega2560 – хоть и мощный и продвинутый контроллер, но проще и быстрее собрать первую плату на atmega8 или 168.
Левая часть схемы – это модуль связи по USB, иначе говоря, USB-UART/TTL конвертер. Его, вместе с обвязкой, можно выбросить из схемы, для экономии места, собрать на отдельной плате и подключать только для прошивки. Он нужен для преобразования уровней сигнала.
DA1 – это стабилизатор напряжения L7805. В качестве основы можно использовать целый ряд avr микросхем, которые вы найдете, например, серии, arduino atmega32 или собрать arduino atmega16. Для этого нужно использовать разные загрузчики, но для каждого из МК нужно найти свой.
Можно поступить еще проще, и собрать всё на беспаечной макетной плате, как это показано здесь, на примере 328-й атмеги.
Микроконтроллеры – это просто и весело – вы можете сделать кучу приятный и интересных вещей или даже стать выдающимся изобретателем, не имея при этом ни образования, ни знаний о низкоуровневых языках. Ардуино – шаг в электронику с нуля, который позволяет перейти к серьезным проектам и изучению сложных языков, типа C avr и других.
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
| Базовый набор ардуино для начинающих: | Купить |
| Большой набор для обучения и первых проектов: | Купить |
| Набор дополнительных датчиков и модулей: | Купить |
| Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
| Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
| Набор проводов с удобными коннекторами: | Купить |
| Комплект светодиодов: | Купить |
| Комплект резисторов: | Купить |
| Кнопки: | Купить |
| Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на
| Версия | Windows | Mac OS X | Linux |
| 1.8.2 |
Язык программирования Ардуино
Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.
Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:
- После каждой инструкции необходимо ставить знак точки с запятой (;)
- Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
- Так же необходимо указывать тип данных перед объявлением переменной.
- Комментарии обозначаются: // Строчный и /* блочный */
Подробнее о типах данных, функциях, переменных, операторах и языковых конструкциях вы можете узнать на странице по Вам не нужно заучивать и запоминать всю эту информацию. Вы всегда можете зайти в справочник и посмотреть синтаксис той или иной функции.
Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().
Функция setup
Для того что бы все работало, нам надо написать скетч. Давайте сделаем так, что бы светодиод загорался после нажатия на кнопку, а после следующего нажатия гас. Вот наш первый скетч:
// переменные с пинами подключенных устройств
int switchPin = 8;
int ledPin = 11;
// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
// функция для подавления дребезга
boolean debounse(boolean last) {
boolean current = digitalRead(switchPin);
if(last != current) {
delay(5);
current = digitalRead(switchPin);
}
return current;
}
void loop() {
currentButton = debounse(lastButton);
if(lastButton == LOW && currentButton == HIGH) {
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(ledPin, ledOn);
}
| // переменные с пинами подключенных устройств int int // переменные для хранения состояния кнопки и светодиода boolean boolean boolean void pinMode pinMode // функция для подавления дребезга boolean boolean if delay current return void currentButton if ledOn lastButton digitalWrite |
В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть на моем сайте. Обязательно ознакомьтесь с этим материалом.
ШИМ Arduino
Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:
Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.
В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в
Для использования ШИМ в Arduino есть функция Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:
// Светодиод подключен к 11 пину
int ledPin = 11;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int i = 0; i 0; i—) {
analogWrite(ledPin, i);
delay(5);
}
}
| // Светодиод подключен к 11 пину int void pinMode void for analogWrite delay delay for |
21.06.2020
18
3 мин на чтение

Инструменты и материалы:
-Паяльные принадлежности;
-Латунная проволока;
-Маркер;
-Бумага;
Об остальных материалах, дабы ничего не напутать, будет рассказано по ходу статьи.
Шаг первый: понимание схемы Arduino UNO
ATmega328 MCU
ATmega328P PDIP
16 МГц кварцевый генератор
Конденсаторы
Цепь питания
Регулятор от 7-12 В до 5В
Регулятор от 5 В до 3,3 В
USB / входной разъем, схема автоматического выбора
защита от обратного тока
Схема USB-UART
Разъем USB
Чип последовательного преобразователя (ATMEGA8U2-MU) с осциллятором и разделительными конденсаторами
Сигнальные светодиоды
индикатор питания
светодиод по умолчанию (D13)
Светодиоды TX / RX
Шаг второй: ATmega328 MCU и дорожки
Монтаж мастер начинает с микроконтроллера ATmega328 и дорожек цифрового и аналогового ввода / вывода. Arduino UNO имеет продуманную компоновку дорожек, которая хорошо соответствует компоновке 28 контактного DIP-пакета ATMEGA328. Дорожки не пересекаются, а идут параллельно друг другу. Мастер делает бумажный шаблон дорожек с оригинальной платы Ардуино и из проволоки изготавливает дорожки аналогичной формы. Припаивает и к микроконтроллеру.
Единственный внешний компонент для ATmega328, после монтажа которого устройство может работать, — это внешний генератор с частотой 16 МГц. Для его работы нужны два конденсатора 22 пФ. Мастер монтирует детали согласно семы. Минимальное аппаратное обеспечение для ATmega328P готово. Теперь можно сделать первый тест с программатором USBasp через интерфейс AVR ISCP.
Мастер сделал для проекта рамку из монтажной платы, которая удерживает детали на месте, оставляя достаточно места для пайки.
ATmega328 питается от 5В. Arduino UNO имеет два источника питания — 7-12В и 5В через разъем USB. Он также обеспечивает источник питания 3,3 В для внешних компонентов. Т.е на устройстве размещены два регулятора мощности. Сначала нужно преобразовать 7-12 В в 5 В, а затем преобразовать 5 В в 3,3 В. Мастер использовал два регулятора AMS1117 5 В и 3,3 В. В схеме так же присутствуют конденсаторы смонтированные в соответствии с рекомендациями в технических описаниях.
Мастер спаял силовую цепь отдельно, а затем смонтировал ее на устройство. Мастер не устанавливал элементы автоматического выбора, и элементы защиты от обратного тока, чтобы не усложнять сему. При правильном и внимательном подключении устройства к источнику питания, они не нужны.
Эта деталь важна, если вы хотите загружать свои наброски через Arduino IDE. Оригинальный Arduino UNO R3 использует ATMEGA8U2-MU, который хорош, но слишком мал. Я решил установить чип CH340C. Он имеет подходящий пакет SOP-16 и требует только 4 внешних компонента — разделительный конденсатор, конденсатор сброса и два линейных резистора Tx / Rx. Тот факт, что внешний кристалл не нужен, значительно упрощает всю схему.
Мастер устанавливает светодиоды SMD 1206 для сигнализации питания, L, Tx, Rx. Монтаж SMD компонентов достаточно сложен. Сначала мастер припаял к светодиодам резисторы, тоже форм-фактора SMD, а затем установил их на плату.
Сначала он подключил внешний источник питания для проверки светодиодов питания. Все сигнализаторы напряжения были в порядке, и мастер подключил программатор USBasp. Все заработало с первой попытки, значит кварцевый генератор работает и все контакты подключены правильно. Последним шагом было подключение USB-кабеля, и попытка загрузить моргающий эскиз. Результат можно посмотреть на видео.
Шаг шестой: основание
Модуль Freeduino получился довольно красиво, но неустойчивым. Тогда мастер решил сделать для него основание, а чтобы это было красиво, основание будет сделано из эпоксидной смолы.
На 3D-принтере он напечатал форму, установил в форму устройство и залил эпоксидкой. После отверждения смолы он убрал форму и отполировал основание.
Подборки: Ардуино
Мой мир
Вконтакте
Одноклассники
Apr
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. — Альберт Эйнштейн






















































































