void setup() {
//nastavenie A49
DDRB |= 1<<2;
DDRB |= 1<<3;
PORTB |= 1<<2; //smer vpravo
//nastavenie rgb
DDRD |= 1<<3;
DDRD |= 1<<4;
DDRD |= 1<<5;
Serial.begin(9600);
Serial.println("Start");
}
int input = 0;
int curStep = 0;
bool setUp = true;
bool unlockAttemp = false;
bool wrongAttemp = false;
void loop() {
if(setUp)
{
for(int i = 0; i < 2; i++)
{
PORTB |= 1<<3;
PORTB &= ~(1<<3);
}
setUp = false;
}
if(Serial.available())
{
input = Serial.parseInt();
if(input == 123) unlockAttemp = true;
else wrongAttemp = true;
while(Serial.available())
{
Serial.read();
}
}
if(unlockAttemp)
{
//otocenie step do 90
while( curStep < 90)
{
PORTB |= 1<<3;
delay(10);
PORTB &= ~(1<<3);
delay(10);
curStep++;
}
//zasvietenie led na 5 sec
Green();
//vratnie naspat
PORTB &= ~(1<<2); //smer vlavo
while( curStep > 0)
{
PORTB |= 1<<3;
delay(10);
PORTB &= ~(1<<3);
delay(10);
curStep--;
}
unlockAttemp = false;
}
if(wrongAttemp)
{
Red();
wrongAttemp = false;
}
}
void Green()
{
PORTD |= 1<<3;
PORTD &= ~(1<<4);
PORTD |= 1<<5;
delay(5000);
PORTD |= 1<<3;
PORTD |= 1<<4;
PORTD |= 1<<5;
}
void Red()
{
PORTD |= 1<<3;
PORTD |= 1<<4;
PORTD &= ~(1<<5);
delay(5000);
PORTD |= 1<<3;
PORTD |= 1<<4;
PORTD |= 1<<5;
}