เป็นโค๊ดที่เขียนขึ้นมา
อยากทราบว่าต้องแก้ไขตรงไหนมอเตอร์ถึงจะเปิดแล้วปิดให้
#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();
}
สงใสทำไม แตะการ์ด 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();
}