// MACRO-START * MACRO-START * MACRO-START * MACRO-START * MACRO-START * MACRO-START *
// Take it for granted at the moment scroll down to void setup
// start of macros dbg and dbgi
#define dbg(myFixedText, variableName) \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName);
// usage: dbg("1:my fixed text",myVariable);
// myVariable can be any variable or expression that is defined in scope
#define dbgi(myFixedText, variableName,timeInterval) \
do { \
static unsigned long intervalStartTime; \
if ( millis() - intervalStartTime >= timeInterval ){ \
intervalStartTime = millis(); \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName); \
} \
} while (false);
// usage: dbgi("2:my fixed text",myVariable,1000);
// myVariable can be any variable or expression that is defined in scope
// third parameter is the time in milliseconds that must pass by until the next time a
// Serial.print is executed
// end of macros dbg and dbgi
// MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END *
const byte ButtonStart = 10;
const byte Button1 = 2;
const byte Button2 = 4;
const byte Button3 = 8;
const byte Button4 = 11;
const byte repeatButton = 12;
const byte WhatIsThis = 5;
const byte Relay1 = 1;
const byte Relay2 = 3;
const byte Relay3 = 6;
const byte Relay4 = 9;
const unsigned long DelayTime = 10;
void setup()
{
Serial.begin(115200); // make sure to adjust the serial monitor to 115200 baud
Serial.print( F("\n Setup-Start \n") );
pinMode(ButtonStart, INPUT);
pinMode(Button1, INPUT);
pinMode(Button2, INPUT);
pinMode(Button3, INPUT);
pinMode(Button4, INPUT);
pinMode(Relay1, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(Relay3, OUTPUT);
pinMode(Relay4, OUTPUT);
pinMode(WhatIsThis, INPUT);
}
int count = 0;
void loop(){
dbgi("0:top of loop",count,1000); // once every second print
int count = digitalRead(ButtonStart); // digitalRead(ButtonStart) start butonu
dbgi("1:",digitalRead(ButtonStart),1000); // once every second print
if (digitalRead(repeatButton) == 1) // digitalRead(repeatButton) 4 tekrar butonu
{
count = 2;
}
switch (count) {
case 1:
dbgi("case 1:",count,1000); // once every second print
digitalWrite(Relay1, HIGH);
delay(DelayTime);
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
if (digitalRead(Button1) == 1) //1. swich
{
dbgi("1. swich:",digitalRead(Button1),1000); // once every second print
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay2, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button2) == 1) // 2. swich
{
dbgi("2. swich:",digitalRead(Button2),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button3) == 1) // 3.swich
{
dbgi("3. swich:",digitalRead(Button3),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button4) == 1) //4.swich
{
dbgi("4. swich:",digitalRead(Button4),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
}
break;
case 2:
dbgi("case 2:",count,1000); // once every second print
digitalWrite(Relay1, HIGH);
delay(DelayTime);
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
if (digitalRead(Button1) == 1 ) //1. swich
{
dbgi("1. swich:",digitalRead(Button1),1000); // once every second print
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay2, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button2) == 1) // 2. swich
{
dbgi("2. swich:",digitalRead(Button2),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button3) == 1) // 3.swich
{
dbgi("3. swich:",digitalRead(Button3),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button4) == 1) //4.swich başa dön
{
dbgi("4. swich:",digitalRead(Button4),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, HIGH);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
}
else if (digitalRead(Button1) == 1) //1. swich
{
dbgi("else if 1. swich:",digitalRead(Button1),1000); // once every second print
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay2, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button2) == 1) // 2. swich
{
dbgi("else if 2. swich:",digitalRead(Button2),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button3) == 1) // 3.swich
{
dbgi("else if 3. swich:",digitalRead(Button3),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button4) == 1) //4.swich başa dön
{
dbgi("else if 4. swich:",digitalRead(Button4),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, HIGH);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
}
else if (digitalRead(Button1) == 1) //1. swich
{
dbgi("else if 1. swich:",digitalRead(Button1),1000); // once every second print
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay2, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button2) == 1) // 2. swich
{
dbgi("else if 2. swich:",digitalRead(Button2),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button3) == 1) // 3.swich
{
dbgi("else if 3. swich:",digitalRead(Button3),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, HIGH);
delay(DelayTime);
}
else if (digitalRead(Button4) == 1) //4.swich durdur
{
dbgi("else if 4. swich:",digitalRead(Button4),1000); // once every second print
digitalWrite(Relay2, LOW);
delay(DelayTime);
digitalWrite(Relay1, LOW);
delay(DelayTime);
digitalWrite(Relay4, LOW);
delay(DelayTime);
digitalWrite(Relay3, LOW);
delay(DelayTime);
}
break;
}
}