#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7
#define LED_B 8
#define LED_G 9
#define LED_R 10
#define BUTTON_1 11
#define BUTTON_2 12
short int timeStep = 2;
short int ledDelay = 200;
void setup()
{
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(LED_B, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
}
void loop()
{
for(int i=0;i<30;i++)
{
digitalWrite(LED_G, HIGH);
delay(ledDelay);
digitalWrite(LED_G, LOW);
delay(ledDelay);
}
while((digitalRead(BUTTON_1)==1) && (digitalRead(BUTTON_2)==0) )
{
//Acende LED RGB NA COR ROXA
digitalWrite(LED_R, HIGH);
digitalWrite(LED_G, LOW);
digitalWrite(LED_B, HIGH);
//Aciona motor de passo em sentido horário
digitalWrite(IN1, HIGH);
delay(timeStep);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
delay(timeStep);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
delay(timeStep);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(timeStep);
digitalWrite(IN4, LOW);
}
while(digitalRead(BUTTON_2)==1 && digitalRead(BUTTON_1)==0 )
{
//Acende LED RGB NA COR BRANCA
digitalWrite(LED_R, HIGH);
digitalWrite(LED_G, HIGH);
digitalWrite(LED_B, HIGH);
//Aciona motor de passo em sentido horário
digitalWrite(IN4, HIGH);
delay(timeStep);
digitalWrite(IN4, LOW);
digitalWrite(IN3, HIGH);
delay(timeStep);
digitalWrite(IN3, LOW);
digitalWrite(IN2, HIGH);
delay(timeStep);
digitalWrite(IN2, LOW);
digitalWrite(IN1, HIGH);
delay(timeStep);
digitalWrite(IN1, LOW);
}
//Desligar Vermelho e Azul
digitalWrite(LED_R, LOW);
digitalWrite(LED_B, LOW);
}