From 419e04e02ee7ce3c935f8526ca7cf91d32e7988e Mon Sep 17 00:00:00 2001 From: julien Lengrand-Lambert Date: Sun, 27 Sep 2015 15:21:28 +0200 Subject: [PATCH] First version of the blinking LEDS with interrupts. Blinks on and off every 10 seconds. Next step is to have day and night cycles --- .../ledCycleInterrupt/ledCycleInterrupt.ino | 48 ++++++++++++++++++ schematics/ledstrip.fzz | Bin 0 -> 3477 bytes 2 files changed, 48 insertions(+) create mode 100644 arduino/ledCycleInterrupt/ledCycleInterrupt.ino create mode 100644 schematics/ledstrip.fzz diff --git a/arduino/ledCycleInterrupt/ledCycleInterrupt.ino b/arduino/ledCycleInterrupt/ledCycleInterrupt.ino new file mode 100644 index 0000000..05475dd --- /dev/null +++ b/arduino/ledCycleInterrupt/ledCycleInterrupt.ino @@ -0,0 +1,48 @@ +// Arduino timer CTC interrupt example +// +// avr-libc library includes +#include +#include +#define LEDPIN 8 + +volatile byte seconds; + +void setup() +{ + pinMode(LEDPIN, OUTPUT); + // initialize Timer1 + cli(); // disable global interrupts + TCCR1A = 0; // set entire TCCR1A register to 0 + TCCR1B = 0; // same for TCCR1B + + // set compare match register to desired timer count: + OCR1A = 15624; + + // turn on CTC mode: + TCCR1B |= (1 << WGM12); + + // Set CS10 and CS12 bits for 1024 prescaler: + TCCR1B |= (1 << CS10); + TCCR1B |= (1 << CS12); + + // enable timer compare interrupt: + TIMSK1 |= (1 << OCIE1A); + + // enable global interrupts: + sei(); +} + +void loop() +{ +// main program +} + +ISR(TIMER1_COMPA_vect) +{ + seconds++; + if(seconds == 10) + { + seconds = 0; + digitalWrite(LEDPIN, !digitalRead(LEDPIN)); + } +} diff --git a/schematics/ledstrip.fzz b/schematics/ledstrip.fzz new file mode 100644 index 0000000000000000000000000000000000000000..2c394a1bdbdd45869bcb2b5b762a7ce5af1d6939 GIT binary patch literal 3477 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 z01E&B0000000961000000001NWn^=7a%pfbW_nOd1qJ{B000310RTAw002e}00000 Ds%)(= literal 0 HcmV?d00001