#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 扫描特定标签时,我想做伺服旋转 0 到 180 度。扫描另一个标签时,旋转 0 到 60 度。但问题是。我想在 rfid 扫描一次时更改伺服位置。上面的程序在 rfid 删除标签后扫描标签不起作用时运行。请提供一些代码帮助