/*--------------- by JediRick -----------------
boolean (8 bit) - [true/false]
byte (8 bit) - [0-255] unsigned number
char (8 bit) - [-128 to 127] signed number
unsigned char (8 bit) - [-128 to 127] signed number
word (16 bit) - [0-65535] unsigned number
unsigned int (16 bit) - [0-65535] unsigned number
int (16 bit) - [-32768 to 32767] signed number
unsigned long (32 bit) - [0-4,294,967,295] unsigned number usually for millis
long (32 bit) - [-2,147,483,648 to 2,147,483,647] signed number
float (32 bit) - [-3.4028235E38 to 3.4028235E38] signed number
uint8_t (8 bit) - [0-255] unsigned number
int8_t (8 bit) - [-127 - 127] signed number
uint16_t (16 bit) - [0-65,535] unsigned number
int16_t (16 bit) - [-32,768 - 32,767] signed number
uint32_t (32 bit) - [0-4,294,967,295] unsigned number
int32_t (32 bit) - [-2,147,483,648 - 2,147,483,647] signed number
uint64_t (64 bit) - [0-18,446,744,073,709,551,615] unsigned number
int64_t (64 bit) - [−9,223,372,036,854,775,808 - 9,223,372,036,854,775,807] signed number
--------------------------------------------*/
#define led (13)
unsigned long currentMillis;
//------- first timer stuff --------
const unsigned long onTime = 1000;
const unsigned long offTime = 2000;
unsigned long previousMillis = 0;
unsigned long interval = onTime;
boolean triggerState = true;
//------- end first timer stuff --------
void setup() {
delay(2000);
Serial.begin(115200);
pinMode(led, OUTPUT);
}
void loop() {
checkTimer();
}
void checkTimer() {
digitalWrite(led, triggerState);
currentMillis = millis();
if ((unsigned long)(currentMillis - previousMillis) >= interval) {
if (triggerState) {
interval = offTime;
Serial.println("LED1 off");
digitalWrite(led, LOW); // turn the LED on (HIGH is the voltage level)
} else {
interval = onTime;
Serial.println("LED1 on");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
}
triggerState = !(triggerState);
previousMillis = currentMillis;
}
}