Записи с тегом «Arduino»
Настройки Arduino IDE для ATmega8(A) с optiboot
В платах от проекта Arduino начиная с платы Arduino Uno используется новый бутлоадер optiboot (занимает всего 512 б флеш-памяти, прошивка на скорости 115200). С недавних версий этого бутлоадера появилась поддержка контроллера ATmega8 с внешним кварцем на 16 МГц. Для того, чтобы воспользоваться ею из среды Arduino 1.0 достаточно добавить в файл \hardware\arduino\boards.txt следующее (необходимые скомпилированные файлы бутлоадера уже есть в комплекте):
############################################################## atmega8optiboot.name=ATmega8 (optiboot, 16Mhz XTAL) atmega8optiboot.upload.protocol=arduino atmega8optiboot.upload.maximum_size=7680 atmega8optiboot.upload.speed=115200 atmega8optiboot.bootloader.low_fuses=0xBF atmega8optiboot.bootloader.high_fuses=0xCC atmega8optiboot.bootloader.path=optiboot atmega8optiboot.bootloader.file=optiboot_atmega8.hex atmega8optiboot.bootloader.unlock_bits=0x3F atmega8optiboot.bootloader.lock_bits=0x0F atmega8optiboot.build.mcu=atmega8 atmega8optiboot.build.f_cpu=16000000L atmega8optiboot.build.core=arduino atmega8optiboot.build.variant=standard
Командная строка avrdude (для прошивки без Arduino IDE, номер COM-порта нужно заменить):
avrdude -v -p atmega8 -c arduino -P COM2 -b 115200
Минимальный клон Arduino на ATmega8A с модифицированным bootloader'ом
Snippet отсюда опубликован в Arduino-блоге Ильи Данилова. Его статьи мне очень сильно помогли в самом начале освоения Arduino (никто не говорит, что оно завершено :)), эта заметка — попытка внести свой вклад и отблагодарить его за труды.
Использование NetBeans с WinAVR
Для PHP-проектов с недавних пор использую NetBeans, поэтому для проектов на C под WinAVR возникла идея использовать эту же IDE. Оказалось, что для программирования для AVR-платформы NetBeans мало кто использует, но после небольшой доработки напильником почти всё получилось :).
Использование Arduino-платы с WinAVR
Обновлено 13.12.2010: Добавлен архив с исходниками
IDE проекта Arduino использует для компиляции программ WinAVR, поэтому для того, чтобы перейти на программирование с использованием «чистого» AVR-GCC на удобной аппаратной платформе Arduino нужно немного.
В качестве примера будет использован аналог скетча-примера Blink. Для компиляции и прошивки программы в контроллер понадобится:
- Установленная копия WinAVR
- Любая Arduino-совместимая плата или отдельный контроллер с Arduino-загрузчиком
- Два файла:
main.c(с основным кодом программы) иMakefile(необходим для сборки программы)
Параметры ниже подходят для платы Arduino Duemilanove с контроллером ATmega328P, для других их нужно незначительно изменить.
Преимущества такого подхода:
- Можно использовать как Arduino IDE так и любые другие средства разработки
- Удобные функции Arduino-плат (загрузчик, автоматический сброс перед загрузкой прошивки) продолжают работать
- Этот способ можно использовать и для купленных отдельно чипов, предварительно прошив в них bootloader (например, с помощью ArduinoISP).
Включение детальных сообщений компилятора и avrdude в Arduino IDE
Для того, чтобы увидеть вывод компилятора и avrdude при работе в Arduino IDE можно удерживать клавишу shift при нажатии на соответствующую кнопку в IDE. К сожалению, для шорткатов этот способ не работает.
Зато можно включить этот режим в конфигурационном файле (в моём случае под Windows 7 это C:\Users\<username>\AppData\Roaming\Arduino\preferences.txt) с помощью добавления следующих параметров:
build.verbose = true upload.verbose = true
Спонсор Arduino-тематики — компания Geeetech.com.
Вывод всей таблицы символов LCD-дисплея на чипе HD44780 под Arduino
Arduino — это удобный набор из платы на микроконтроллере семейства ATmega AVR, утилит и IDE. Cимвольный дисплей на контроллере HD44780 — одно из популярнейших средств вывода для микроконтроллеров.
Набор символов, которые можно использовать на дисплее определяется прошивкой знакогенератора, например, оригинальный набор символов выглядит так.
Для того, чтобы проверить, какая таблица символов используется в конкретном экземпляре дисплея можно воспользоваться приведённым кодом (в терминологии Arduino — «скетчем»)
