Так же, как и в авр. http://www.atmel.com/images/Atmel-8...PA-168A-168PA-328-328P_datasheet_Complete.pdf Глава 15 и дальше
У меня такая цель. У меня есть два реле. Одно должно включать насос каждые пять минут и работать 30 сек. Второе реле должно включать лампу которая будет работать 14 часов, а потом 10 часов не работат и так по кругу
Тут скорее модуль RTC нужно использовать. Периодически читать время и смотреть что должно быть включено или выключено.
Так пусть повесит акуммулятор на Ардуину. А перебои в питании не нарушат работу насоса и лампы. Если кому-то интересен мой вариант вот здесь лежит https://yadi.sk/d/b6WQiWac3CzJSK Ну и головной файл Код (C++): /* to_MenKost.ino https://yadi.sk/d/b6WQiWac3CzJSK #1 реле насоса ->2 (relay1_pin) #2 реле лампы 2->3 (relay2_pin) */ // #1 реле насоса const byte relay1_pin = 2; #include "Cl_team_delay.h" Cl_team_delay Team_1; void Team_1_ON() { digitalWrite(relay1_pin, 1); } void Team_1_OFF() { digitalWrite(relay1_pin, 0); } // #2 реле лампы const byte relay2_pin = 3; Cl_team_delay Team_2; void Team_2_ON() { digitalWrite(relay2_pin, 1); } void Team_2_OFF() { digitalWrite(relay2_pin, 0); } void setup() { pinMode(relay1_pin, OUTPUT); Team_1.time_ON = 1000;//задержка вкл 1000 миллисек=1 сек Team_1.time_OFF = 1000;//задержка выкл 300 миллисек Team_1.setup(& Team_1_ON , & Team_1_OFF); // #2 реле 2 pinMode(relay2_pin, OUTPUT); Team_2.time_ON = 1500;//задержка вкл 1500 миллисек=1,5 сек Team_2.time_OFF = 1500;//задержка выкл 1500 миллисек=1,5 сек Team_2.setup(& Team_2_ON , & Team_2_OFF); } void loop() { // #1 реле 1 Team_1.loop(& Team_1_ON , & Team_1_OFF); // #2 реле 2 Team_2.loop(& Team_2_ON , & Team_2_OFF); }