Professional Documents
Culture Documents
void loop()
{
lcd.setCursor(0,1);//cột,dòng
lcd.print("<SCAN YOUR TAG>");
if(digitalRead(NB)==0) //Nếu nhấn nút mở cửa bên trong
{
lcd.setCursor(0,1);
lcd.print(" OPENING... ");
for(goc=myServo.read();goc<=180;goc++) //Mở cửa
{
myServo.write(goc);
delay(10);
if(digitalRead(CB)==0) //Nếu có người đứng giữa cửa
{
for(goc=myServo.read();goc<=180;goc++) //Mở cửa
{
myServo.write(goc);
delay(10);
}
}
while(digitalRead(CB)==0){} //Chờ đến khi người đi qua
}
delay(5000); // Chờ 5s
lcd.setCursor(0,1);
lcd.print(" CLOSING... ");
for(goc=myServo.read();goc>=0;goc--) // Đóng cửa
{
myServo.write(goc);
delay(10);
if (UID[i] == ID1[i] ) //Nếu thẻ đúng
{
lcd.setCursor(0,1);
lcd.print(" OPENING... ");
for(goc=myServo.read();goc<=180;goc++)
{
myServo.write(goc);
delay(10);
if(digitalRead(CB)==0)
{
myServo.write(goc);
delay(10);
for(goc=myServo.read();goc<=180;goc++)
{
myServo.write(goc);
delay(10);
}
}
while(digitalRead(CB)==0){}
}
delay(5000);
lcd.setCursor(0,1);
lcd.print(" CLOSING... ");
for(goc=myServo.read();goc>=0;goc--)
{
myServo.write(goc);
delay(10);
if(digitalRead(CB)==0)
{
myServo.write(goc);
delay(1000);
lcd.setCursor(0,1);
lcd.print(" OPENING... ");
for(goc=myServo.read();goc<=180;goc++)
{
myServo.write(goc);
delay(10);
}
while(digitalRead(CB)==0){}
delay(2000);
lcd.setCursor(0,1);
lcd.print(" CLOSING... ");
}
}
}
else // Nếu thẻ sai
{
lcd.setCursor(0,1);
lcd.print(" WRONG TAG! ");
delay(2000);
}
}