#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
Servo myservo;
int potpin = 0;
int val;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Arduino RFID");
myservo.attach(3);
myservo.write(0);
}
void loop() {
val = analogRead(potpin);
if (!mfrc522.PICC_IsNewCardPresent()) {
return;
}
if (!mfrc522.PICC_ReadCardSerial()) {
return;
}
String content= "";
for ( byte i = 0; i < mfrc522.uid.size; i++ ) {
content.concat(String(mfrc522.uid.uidByte, HEX));
if( i < mfrc522.uid.size-1 ) content += "-";
}
content.toUpperCase();
Serial.println();
Serial.println("UID tag :'" + content + "'");
Serial.print(content);
if (content == "55-33-2C-83")
val = map(val, 0, 1023, 0, 150);
else if (content == "91-2B-D2-2F")
val = map(val, 0, 1023, 0, 60);
myservo.write(val);
delay(15);
}
这是我的代码。我想让我的伺服器在rfid扫描特定标签时将0to180旋转,而在扫描另一个标签时将0至60旋转。 但是问题是.i要在rfid扫描一次时更改伺服pos。 当rfid删除标签后无法对其进行扫描时,以上程序将运行。请通过提供一些代码来帮助