Hey guys I need some help. Spent the last couple of days trying to find sleep and interrupt library's for my UNO. Any help on where to find the zip files would be greatly appreciated.
Thanks for the response. here is the website i was looking at
http://www.engblaze.com/hush-little-microprocessor-avr-and-arduino-sleep-mode-basics/
#include <avr/interrupt.h>
#include <avr/power.h>
#include <avr/sleep.h>
are the 3 files ive been trying to find.
what version do you have i have 1.6.2.
the only thing i have under
programfiles/arduino/hardware/tools
is listComPorts
Arduino\hardware\tools\avr\avr\include\avr
you did not follow the path
tools\avr\avr\include\avr
hi
You just try to include the header files and run the code on that site
but I have found the following tutorials easier to understand
try to watch three of his videos
all the code can be found ForceTronics: Tutorial
Since I don't have any 10 k resistor (referring to his lesson 1)
I use the following
#include <avr/sleep.h>
int led = 7; //variable for pin that the LED is on
int count = 0; //variable to control how many times LED blinks before sleep
int wakePin = 2;
void setup() {
sleep_enable(); //enable the sleep capability
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //set the type of sleep mode. Default is Idle
pinMode(led, OUTPUT); //set up the LED pin to output
pinMode(wakePin, INPUT_PULLUP);
}
void loop() {
if(count < 4) { //For first four loops blink the LED
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(900); // wait
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(900); // wait
count++; //increment count
}
else { //after blinking LED setup interrupt and then go to sleep. Note that sleep will only happen once since it is disabled in ISR
attachInterrupt(0, interruptFunction, LOW);
sleep_cpu(); //enter sleep mode. Next code that will be executed is the ISR when interrupt wakes Arduino from sleep
count = 0; //Set the count back to zero
}
}
//This is the function called when the interrupt occurs (pin 2 goes LOW)
//this is often referred to as the interrupt service routine or ISR
//This cannot take any input arguments or return anything
void interruptFunction() {
detachInterrupt(0); //this function call will turn the interrupt off
sleep_disable(); //Disable the sleep mode so even if call to sleep is executed again it will be ignored
}
the led on pin 7 flashes four times
and sleep mode is entered when
i hook up a wire to pin 2 on my uno r3 (attachinterrupt 0) to ground (you may use a switch here)
attachInterrupt(0, interruptFunction, LOW);
to wake up my arduino
and it is working
maybe u may try all methods from my provided videos
or test out the code on your website
gl
LO
Thanks for that great response. Is there anyway u know to not completely disable sleep mode instead allow the inturupt to happen then after a time frame enter sleep again
sorry I have only tried waking up arduino with interrupt