Как использовать python для отображения вывода, генерируемого датчиком RFID, подключенным к Arduino Uno - PullRequest
0 голосов
/ 23 января 2020

Мне бы очень хотелось помочь с этим проектом, над которым я работаю. По сути, я создал эскиз Arduino с моим партнером для RFID-ридера. На данный момент у меня есть читаемая карта RFID, которая содержит цифровой код (например, 6647383828 или 36638DG). Я sh хочу написать программу python gui, которая будет отображать номер карты, когда я сканирую карту через RFID-ридер, когда Arduino подключен к моему P C. Позже планируем внести изменения в содержимое внутри карты, чтобы оно могло содержать различные детали, но для целей тестирования мы пока используем номер. Может кто-нибудь сказать мне, как go об этом или с кодом. Мне просто нужна идея или пример кода для печати числа на экране. Я могу анализировать и извлекать уроки из этого и работать с ним для других наших нужд. Просто код для его отображения на терминале также подойдет.

Sketch for RFID                                                                                                                                          #include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
#define LED_G 5 //define green LED pin
#define LED_R 4 //define red LED
#define RELAY 3 //relay pin
#define BUZZER 2 //buzzer pin
#define ACCESS_DELAY 2000
#define DENIED_DELAY 1000
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

void setup() 
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();          // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  pinMode(LED_G, OUTPUT);
  pinMode(LED_R, OUTPUT);
  pinMode(RELAY, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  noTone(BUZZER);
  digitalWrite(RELAY, LOW);
  Serial.println("Put your card to the reader...");
  Serial.println();

}
void loop() 
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  //if (content.substring(1) == "83 23 38 BB") //change here the UID of the card/cards that you want to give access
  if (content.substring(1) == "CB FD 58 89") //change here the UID of the card/cards that you want to give access

  {
    Serial.println("Authorized access");
    Serial.println();
    delay(500);
    digitalWrite(RELAY, HIGH);
    digitalWrite(LED_G, HIGH);
    delay(ACCESS_DELAY);
    digitalWrite(RELAY, LOW);
    digitalWrite(LED_G, LOW);
  }

 else   {
    Serial.println(" Access denied");
    digitalWrite(LED_R, HIGH);
    tone(BUZZER, 300);
    delay(DENIED_DELAY);
    digitalWrite(LED_R, LOW);
    noTone(BUZZER);
  }
}

Кроме того, любой справочный материал или учебные ссылки также будут оценены. Я новичок в этом и смущен информацией, которую я собрал с разных сайтов. Извините за сомнение уровня нуб.

...