Arduino позволяет быстро и просто начать делать интеллектуальные устройства на микроконтроллерах AVR. В этой статье будет рассмотрена работа с макетной платой metaboard на примере создания простейшего проекта, мигающего светодиодом.
Итак, процесс по шагам (на операционной системе Windows).
1. Если у Вас еще нет среды разработки Arduino, то Вы можете её свободно скачать, см. [1]. Скачанный файл - просто ZIP архив с именем наподобие arduino-0022.zip. Сама система Arduino сделана так, что установки не требуется, нужно просто скопировать из архива папку arduino-0022 (или аналогичную папку с другим именем, в зависимости от релиза) в папку Program Files системы Windows. Запускать нужно файл arduino.exe, можете создать для него ярлык на Рабочем столе или в меню Пуск системы Windows.
2. Чтобы начать работу, Вам нужна Arduino-совместимая плата. В качестве такой можно использовать макетную плату metaboard как дешевую альтернативу "родным" платам Arduino. Плату metaboard можно собрать самому или купить (см. [2, 3]).
3. Поставьте перемычку JP5 на макетной плате metaboard в положение 1-2. В этом положении питание на чип ATmega328P будет подаваться от интерфейса USB. Поставьте также перемычку JP6 Upload и подключите плату к компьютеру по USB.
После подключения платы нажмите кнопку S1 Reset. На компьютере обнаружится новое устройство USBasp, и операционная система Windows запросит для него драйвер. Драйвер скачайте по ссылке [4], или возьмите его в пакете архива [5] - usbasp-windriver.2011-05-28.zip.
4. Нужно настроить IDE Arduino так, чтобы она могла записывать код в плату metaboard через интерфейс USB по протоколу USBasp. Для этого нужно в блокноте (Notepad) или в любом текстовом редакторе открыть файл c:\Program Files\arduino-0022\hardware\arduino\boards.txt, и в конец файла добавить следующие строки для metaboard c чипом ATmega168PA:
##############################################################
metaboard.name=Metaboard ATmega168PA
metaboard.upload.protocol=usbasp metaboard.upload.maximum_size=14336 metaboard.upload.speed=19200
metaboard.build.mcu=atmega168 metaboard.build.f_cpu=16000000L metaboard.build.core=arduino
metaboard.upload.disable_flushing=true
Для metaboard c чипом ATmega328PA нужно добавить в конец файла следующее:
##############################################################
metaboard.name=Metaboard ATmega328P
metaboard.upload.protocol=usbasp metaboard.upload.maximum_size=30720 metaboard.upload.speed=19200
metaboard.build.mcu=atmega328p metaboard.build.f_cpu=16000000L metaboard.build.core=arduino
metaboard.upload.disable_flushing=true
Смысл добавленных строк понятен из содержимого - они описывают metaboard для чипа ATmega168PA или ATmega328P. Здесь также указывается частота кварцевого резонатора (обычно в metaboard используется кварцевый резонатор на 16 МГц, но можно применить кварцы на 12, 15, 16.5, 20 МГц). После того, как эти строки будут добавлены, в Arduino IDE появится в меню Tools -> Board пункт Metaboard ATmega168PA или Metaboard ATmega328P.
5. В нашем примере работы в среде Arduino мы попробуем помигать светодиодом. Для этого его нужно подключить через резистор к порту 13 Arduino.
Для макетной платы metaboard порт 13 Arduino будет соответствовать контакту B5 разъема JP2. Светодиод будет подключен катодом к контакту GND разъема JP2, а анодом через резистор 470 Ом - к контакту B5 разъема JP2. Если на порт 13 Arduino выдать лог. 1, то светодиод загорится, а если 0, то погаснет.
6. Теперь загрузим в Arduino IDE готовый проект мигания светодиодом. Это делается через меню File -> Examples -> 1.Basics -> Blink. Выберите в меню плату metaboard (Tools -> Board -> Metaboard ATmega328P). Выполните компиляцию программы Sketch -> Verify / Compile (можно просто нажать Ctrl+R).
7. Теперь нужно закачать нашу программу в плату metaboard. На этом шаге плата должна быть подключена к компьютеру, бутлоадер активирован и для него установлен драйвер (предполагается, что Вы выполнили все действия шага 3). Загрузите программу в плату (File -> Upload to I/O Board, или нажмите Ctrl+U). Через несколько секунд программа загрузится в память чипа платы metaboard, и светодиод начнет мигать (1 секунда - горит, 1 секунда - погашен).
[Ссылки]
1. Arduino main software site:arduino.cc - среда разработки Arduino, ссылки на закачку. 2. Что такое Metaboard? 3. Макетная плата metaboard (AVR микроконтроллер ATmega168PA или ATmega328P). 4. USBasp site:fischl.de - программатор USBasp, здесь можно взять драйвер для операционной системы Windows. 5. 111105metaboard.zip - разводка печатной платы, принципиальная схема и фотографии внешнего вида metaboard, исходный код и прошивки бутлоадера платы metaboard (USBasp), а также драйвер к нему для операционной системы Windows. 6. USBaspLoader site:obdev.at - USB бутлоадер USBaspLoader на сайте автора. 7. AVR-USB-MEGA16: USB bootloader USBasp для микроконтроллера ATmega32. 8. LibUSB site:sourceforge.net - ссылки на закачку релизов библиотеки libusb. |
Комментарии
microsin: скорее всего принципиальной разницы не должно быть.
Напишите мне на почту (nikishin_v[dog ]mail.ru), пообщаемся, чтобы тут не по теме не писать.
microsin: к сожалению, почти не знаком с LabVIEW и тем более с arduino-тулкитом от LabVIEW, поэтому не могу ответить на вопрос. Мне самому очень интересно.
RSS лента комментариев этой записи