Created
February 19, 2017 17:24
-
-
Save mbeloshitsky/b0d3fde9be1e98f789f2fd274fcc1804 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* КПТшечка */ | |
#include <pt.h> | |
#define PT_SLEEP(interval) timestamp=millis();PT_WAIT_UNTIL(pt, millis()-timestamp>=interval) | |
int RELAY_1 = 8; | |
int RELAY_2 = 9; | |
int RELAY_3 = 10; | |
int RELAY_4 = 11; | |
static int kod_kzh(struct pt * pt) { | |
static int timestamp; | |
PT_BEGIN(pt); | |
while(1) { | |
digitalWrite(RELAY_1, HIGH); | |
PT_SLEEP(230); | |
digitalWrite(RELAY_1, LOW); | |
PT_SLEEP(570); | |
} | |
PT_END(pt); | |
} | |
static int kod_zh(struct pt * pt) { | |
static int timestamp; | |
PT_BEGIN(pt); | |
while(1) { | |
digitalWrite(RELAY_2, HIGH); | |
PT_SLEEP(380); | |
digitalWrite(RELAY_2, LOW); | |
PT_SLEEP(120); | |
digitalWrite(RELAY_2, HIGH); | |
PT_SLEEP(380); | |
digitalWrite(RELAY_2, LOW); | |
PT_SLEEP(720); | |
} | |
PT_END(pt); | |
} | |
static int kod_z(struct pt * pt) { | |
static int timestamp; | |
PT_BEGIN(pt); | |
while(1) { | |
digitalWrite(RELAY_3, HIGH); | |
PT_SLEEP(350); | |
digitalWrite(RELAY_3, LOW); | |
PT_SLEEP(120); | |
digitalWrite(RELAY_3, HIGH); | |
PT_SLEEP(220); | |
digitalWrite(RELAY_3, LOW); | |
PT_SLEEP(120); | |
digitalWrite(RELAY_3, HIGH); | |
PT_SLEEP(220); | |
digitalWrite(RELAY_3, LOW); | |
PT_SLEEP(570); | |
} | |
PT_END(pt); | |
} | |
static int kod_mig(struct pt * pt) { | |
static int timestamp; | |
PT_BEGIN(pt); | |
while(1) { | |
digitalWrite(RELAY_4, HIGH); | |
PT_SLEEP(750); | |
digitalWrite(RELAY_4, LOW); | |
PT_SLEEP(750); | |
} | |
PT_END(pt); | |
} | |
static struct pt pts[4]; | |
void setup() { | |
pinMode(RELAY_1, OUTPUT); | |
pinMode(RELAY_2, OUTPUT); | |
pinMode(RELAY_3, OUTPUT); | |
pinMode(RELAY_4, OUTPUT); | |
PT_INIT(&pts[0]); | |
PT_INIT(&pts[1]); | |
PT_INIT(&pts[2]); | |
PT_INIT(&pts[3]); | |
} | |
void loop() { | |
kod_kzh(&pts[0]); | |
kod_zh(&pts[1]); | |
kod_z(&pts[2]); | |
kod_mig(&pts[3]); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment