thank you so much~
never worked with actionscript or flash before but from my understanding setInterval performs a certain action after a set amount of time right?
so if I went:
setInterval( getX(), 1000 );
it would call getX() every 1000 milliseconds right?
this would be the Arduino equivalent:
void getX(){
//whatever you want the function to do
}
then inside your setup:
intervaltime=1000;
currenttime=millis();
and in your main loop:
if(millis()>=currenttime+intervaltime)
{
getX();
currenttime=millis();
}
NOTE: this is assuming your loop completes multiple times in a second. This will not work if you want to set an interval at a time smaller than which it takes the program to loop through once. If thats the case you would be looking at interrupts.
thank you so much ![]()
You can also look at MsTimer2 if you want it to happen at a certain interval, and know you'll be busy with other things, or don't want to (or cannot) check otherwise.
http://www.arduino.cc/playground/Main/MsTimer2
!c
If you don't mind the lack of detailed documentation and a precision of one second (setInterval uses 1ms) is ok then there is a library published in this thread that may do what you want: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1217881285/16#16
Here is an example sketch that calls a function at intervals of 5 seconds and 5 minutes.
#include <DateTime.h>
#include <DateTimeAlarms.h>
AlarmID_t myTimer, myTestTimer;
void OnTimer(AlarmID_t Sender){
// add code here to execute when the timer triggers
Serial.print("timer triggered,");
if( Sender == myTimer)
Serial.println("It was the 5 minute timer");
}
void setup(){
Serial.begin(9600);
pinMode(13,OUTPUT); // we will flash the LED on and off each second
myTestTimer = dtAlarms.createTimer( 10, &OnTimer); // create a timer with a period of 10 seconds
myTimer = dtAlarms.createTimer( AlarmHMS(0, 5, 0), &OnTimer); // create a timer with period: 0 hrs, 5 minutes, 0 seconds
DateTime.sync(0); // Start the clock
}
void loop(){
dtAlarms.delay(1000); // call dtAlarms.delay instead of delay so the alarms can be serviced
digitalWrite(13,HIGH);
dtAlarms.delay(1000);
digitalWrite(13,HIGH);
}
By default you can set up 6 different intervals, each calling a different function if you want. The number of intervals is a compile time option if you need more.
The DateTimeAlarms library is use with the DateTime library here: Arduino Playground - DateTime