8.16.2010

Arduino на atmega48 и atmega88

Начну цикл статей с пособия, как программировать на Arduino-платформе, но в качестве микроконтроллера использовать atmega48 (да-да, это возможно). Основывается это на том факте, что различия atmega48 от atmega328 только лишь в количестве ОЗУ и ПЗУ

На самом деле, это очень просто.

Порядок действий:


1) откройте файл arduino-0018/hardware/arduino/boards.txt и добавьте в его конец что-то вроде этого:

######################################################

atmega48.name=ATMega48
atmega48.upload.using=avrisp
atmega48.upload.maximum_size=4094
atmega48.upload.speed=38400

atmega48.bootloader.low_fuses=0xE2
atmega48.bootloader.high_fuses=0xDF
atmega48.bootloader.extended_fuses=0xFF
atmega48.bootloader.path=atmega
atmega48.bootloader.file=atmega48.hex
atmega48.bootloader.unlock_bits=0x3F
atmega48.bootloader.lock_bits=0x0F

atmega48.build.mcu=atmega48
atmega48.build.f_cpu=8000000L
atmega48.build.core=arduino


2) Подсоедините AVCC микроконтроллера к плюсу питания (используется для analogRead как analog reference)
3) Поставьте конденсатор примерно в 0,1мкФ между AREF и землёй
4) enjoy!


А теперь о плохом %)
доступно тока 4кб памяти, что накладывает сильные ограничения на размер скетча (при использовании bootloader-а - всего 2кб), так что, скорей всего, грузить скетчи на плату вам придёться с помощью программатора (либо, имея под рукой другую arduino, можно прошить микроконтроллер с помощью ICSP, благо, в интернете более чем достаточно статей об этом)




Как получить .hex файл из скетча для заливки на МК, я описал в отдельной статье:
http://bsideup.blogspot.com/2010/08/hex-arduino.html