1
#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 删除标签后扫描标签不起作用时运行。请提供一些代码帮助

4

0 回答 0