#include <Thread.h>
int greenPin1 = 12;
int yellowPin1 = 11;
int redPin1 = 10;
int greenPin2 = 9;
int yellowPin2 = 8;
int redPin2 = 7;
//My simple Thread
Thread myThread1 = Thread();
Thread myThread2 = Thread();
// callback for myThread
void light1(){
digitalWrite(redPin1, LOW);
digitalWrite(yellowPin1, LOW);
digitalWrite(greenPin1, HIGH);
int time1 = millis();
while (millis()-time1 < 3000) {
}
digitalWrite(redPin1, LOW);
digitalWrite(yellowPin1, HIGH);
digitalWrite(greenPin1, LOW);
int time2 = millis();
while (millis()-time2 < 1000) {
}
digitalWrite(redPin1, HIGH);
digitalWrite(yellowPin1, LOW);
digitalWrite(greenPin1, LOW);
Serial.print("Светофор 1: ");
Serial.println(millis()/1000);
}
void light2(){
}
void setup(){
Serial.begin(9600);
pinMode(greenPin1, OUTPUT);
pinMode(redPin1, OUTPUT);
pinMode(yellowPin1, OUTPUT);
pinMode(greenPin2, OUTPUT);
pinMode(redPin2, OUTPUT);
pinMode(yellowPin2, OUTPUT);
myThread1.onRun(light1);
myThread1.setInterval(7000);
myThread2.onRun(light2);
myThread2.setInterval(5000);
}
void loop(){
// checks if thread should run
if(myThread1.shouldRun())
myThread1.run();
if(myThread2.shouldRun())
myThread2.run();
// Other code...
}