สงใสทำไม แตะการ์ด RFID สั่ง Servo เปิด-ปิด แบบประตูปีกผีเสื้อ แต่ วงจรการทำงานมันเปิดอย่างเดียวไม่ปิดให้

เป็นโค๊ดที่เขียนขึ้นมา
อยากทราบว่าต้องแก้ไขตรงไหนมอเตอร์ถึงจะเปิดแล้วปิดให้

#include<Servo.h>
#include <SPI.h>
#include <RFID.h>

#define SS_PIN 10
#define RST_PIN 9

RFID rfid(SS_PIN, RST_PIN);

int buzzPin = 3;
// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;
Servo myservo;
Servo myservo1;
void setup()
{
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
  myservo.attach(3);
  myservo1.attach(5);
  myservo.write(90);
  myservo1.write(90);

}

void loop()
{

  if (rfid.isCard()) {
    if (rfid.readCardSerial()) {
      /* With a new cardnumber, show it. */
      Serial.println(" ");
      Serial.println("Card found");
      serNum0 = rfid.serNum[0];
      serNum1 = rfid.serNum[1];
      serNum2 = rfid.serNum[2];
      serNum3 = rfid.serNum[3];
      serNum4 = rfid.serNum[4];

      //Serial.println(" ");
      Serial.println("Cardnumber:");
      Serial.print("Dec: ");
      Serial.print(rfid.serNum[0], DEC);
      Serial.print(", ");
      Serial.print(rfid.serNum[1], DEC);
      Serial.print(", ");
      Serial.print(rfid.serNum[2], DEC);
      Serial.print(", ");
      Serial.print(rfid.serNum[3], DEC);
      Serial.print(", ");
      Serial.print(rfid.serNum[4], DEC);
      Serial.println(" ");

      Serial.print("Hex: ");
      Serial.print(rfid.serNum[0], HEX);
      Serial.print(", ");
      Serial.print(rfid.serNum[1], HEX);
      Serial.print(", ");
      Serial.print(rfid.serNum[2], HEX);
      Serial.print(", ");
      Serial.print(rfid.serNum[3], HEX);
      Serial.print(", ");
      Serial.print(rfid.serNum[4], HEX);
      Serial.println(" ");
      //buzzer
      analogWrite(3, 20);
      delay(500);
      analogWrite(3, 0);
    }
    if (rfid.serNum[0] == 182 && rfid.serNum[1] == 7 && rfid.serNum[2] == 177 && rfid.serNum[3] == 29 && rfid.serNum[4] == 29) {
      myservo.write(90); 
      //delay(1000); 
      myservo1.write(180);
      //delay(1000);
    }
    else {
      myservo.write(0);
      //delay(1000);
      myservo1.write(180);       
      //delay(1000);
    }
  }
  rfid.halt();
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่