/* Modified heartbeat for ATMEGA1284P Ed nieuwenhuys sep 2016 */ #define PWM_03 3 // PWM pin #define LED_05 5 // digital pin #define LED_07 7 // PWM pin #define LED_10 10 // digital pin #define LED_14 14 // PWM pin #define LED_15 15 // PWM pin #define LED_19 19 // digital pin uint8_t hbval = 128; int8_t hbdelta = 8; void setup() { pinMode(PWM_03, OUTPUT); // initialize pins as output. pinMode(LED_05, OUTPUT); pinMode(LED_07, OUTPUT); pinMode(LED_10, OUTPUT); pinMode(LED_14, OUTPUT); pinMode(LED_15, OUTPUT); pinMode(LED_19, OUTPUT); Serial.begin(9600); // setup the serial port to 9600 baud Serial.println("Heartbeat started"); } // the loop function runs over and over again forever void loop() { heartbeat(); } void heartbeat() { static unsigned long last_time = 0; unsigned long now = millis(); if ((now - last_time) < 40) return; last_time = now; if (hbval > 230 || hbval < 20 ) hbdelta = -hbdelta; hbval += hbdelta; analogWrite(LED_05, hbval); analogWrite(LED_07, hbval); analogWrite(LED_10, hbval); analogWrite(LED_14, hbval/16); analogWrite(LED_15, 235-hbval); analogWrite(LED_19, 255-hbval); analogWrite(PWM_03, hbval); }