使用rfid

时间:2019-06-21 14:23:26

标签: rfid servo pot

#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删除标签后无法对其进行扫描时,以上程序将运行。请通过提供一些代码来帮助

0 个答案:

没有答案