Открываем в блокноте файл C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt
Добавляем в него текст
Code: Select all
## Arduino Pro or Pro Mini (3.3V, 16/8 MHz) w/ ATmega328P
## --------------------------------------------------
pro.menu.cpu.168MHzatmega328=ATmega328P (3.3V, 16/8 MHz)
pro.menu.cpu.168MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.168MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.168MHzatmega328.upload.speed=57600
pro.menu.cpu.168MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.168MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.168MHzatmega328.bootloader.extended_fuses=0xFD
pro.menu.cpu.168MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
pro.menu.cpu.168MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.168MHzatmega328.build.f_cpu=8000000L
Обращаю внимание на имя пункта меню - pro.menu.cpu.168MHzatmega328. Оно должно быть уникальным для каждого варианта платы/частоты. Если надо добавить несколько вариантов для разных частот то это имя у них должно различаться.
Запускаем Arduino IDE. Выбираем плату "Arduino Pro or Pro Mini". Добавленные процессоры должны появиться в выпадающем меню "Инструменты"->"Процессор"
В скетче в самом начале добавляем
Code: Select all
#include <avr/power.h>
Code: Select all
8MHz clock_prescale_set(clock_div_2);
4MHz clock_prescale_set(clock_div_4);
2MHz clock_prescale_set(clock_div_8);
1MHz clock_prescale_set(clock_div_16);
500kHz clock_prescale_set(clock_div_32);
250kHz clock_prescale_set(clock_div_64);
125kHz clock_prescale_set(clock_div_128);
Даташитное потребление ATmega329P при разном питании тактовой частоте

На плате кроме смого процессора есть еще светодиоды, которые тоже "кушают". При необходимости их можно демонтировать феном. Со светодиодами потребление платы при 3,3в и разной тактовой частоте
Code: Select all
16MHz 10mA
8MHz 7.7mA
4MHz 6.4mA
2MHz 5.5mA
1MHz 5mA
500kHz 4.75mA
Reference
1. Is there a simple way to reduce clock speed on an UNO?
2. Arduino’s ATMega328 Power Consumption
3. What is the best way to estimate the power consumption of an Atmega328p microcontroller?