24.12.2014 19:58 Количество просмотров материала 3418 Время на чтение ~3 мин
Увеличить | Уменьшить Распечатать страницу

Программируем Arduino с нуля

 Перевел Scrtvr для mozgochiny.ru

 Мозгокурс молодого бойца по программированию Ардуино или с чего все-таки начать знакомство с этой платформой.
programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-01-800x600

"— С чего начинать, Ваше Величество? — спросил он. — Начни с начала, — важно ответил Король,..." (C) Льюис Керрол Алиса в стране чудес

Шаг 1: Начинаем с самого начала или как было бы хорошо, если бы Ардуино была бесплатной

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-39-800x600

 

Перечитав тонны учебников по Ардуино, придумав кучу полезных применений этой штуки в быту, начиная с автоматизации кормления рыбок в аквариуме заканчивая роботом-сеятелем для личного газона мы понимаем --- без Ардуино нам не обойтись!

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

Нужно клонировать Ардуино своими руками!

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-22-800x600

 

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

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-12-800x600
programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-33-800x600

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-34-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-36-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-06-800x600

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-04-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-13-800x600

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

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-09-800x600
programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-10-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-11-800x600

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

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

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-15-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-19-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-20-800x600

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-23-800x600

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-25-800x600
Подключаем собранный макет к плате Arduino Duemilanove следующим образом:

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

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-26-800x600

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

 

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-27-800x600

 

В AndurinoISP (пункт меню «Tools») выбираем нужный нам тип контроллера (ATmega 328 IC). Даём команду на загрузку бутлоадера «Burn bootloader». Следим за сообщениями AndurinoIDE, после окончания загрузки бутлоадера «Done Burning bootloader» наш микроконтроллер готов к записи скетча проекта нашей новой самоделки.

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

 

programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-28-800x600 programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-29-800x600 programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-30-800x600 programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-31-800x600 programmiruem-arduino-s-nolya-mozgochiny.ru-by-Scrtvr-32-800x600
Возможные ошибки при записи бутлоадера и способы их устранения приведены на скриншотах отладчика выше.

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

( Специально для МозгоЧинов #How-to-make-an-Arduino-from-scratch" target="_blank">)

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]


Вверх