Comprar en EE. UU. | Comprar en el Reino Unido | Comprar en Alemania | Comprar en Italia | Comprar en Francia | Comprar en España | ここでご購入を! |
Un lector RFID es un dispositivo muy popular en los sistemas de seguridad. Puede leer la identificación de una tarjeta RFID y enviarla a un sistema informático.
En esta lección, utilizaremos el lector RFID OSOYOO para crear un sistema de verificación de seguridad simple. Este lector RFID utilizará un nuevo protocolo de comunicación llamado SPI para enviar datos al Pico. Después de completar esta lección, habrás aprendido sobre tres tipos de protocolos de comunicación: SPI, I2C y Serial (RS232). La comparación de velocidad entre estos tres métodos es la siguiente: SPI > I2C > Serial.
Dado que utilizaremos muchos pines en este proyecto, hemos incluido el mapa de pines del Pico aquí para ayudar a los usuarios a localizar los pines adecuados.
En el gráfico del circuito anterior, se puede ver que:
Pico Pins | Pins RFID |
GP5 | SDA |
GP6 | SCK |
GP7 | MOSI |
GP4 | MISO |
IRQ | |
GND | GND |
GP18 | RST |
3.3V | 3.3V |
Pico Pins | Dispositivos |
GP14 | LED rojo a través de una resistencia de 220 ohmios |
GP15 | LED verde a través de una resistencia de 220 ohmios |
GP16 | Clavija de E/S del zumbador |
Puedes descargar el código Python de la lección 7 desde https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zip.
Luego, puedes usar Thonny para abrir pico-lesson7.py y cargarlo en el Pico.
Aquí está el código completo con comentarios.
import time from machine import I2C, Pin, SPI #import I2C,Pin,SPI library from mfrc522 import MFRC522 #import RFID reader library buzzer= Pin(16, Pin.OUT) #set buzzer to GP16 buzzer.value(1) true = Pin(15, Pin.OUT) #set Green LED to GP15 false = Pin(14, Pin.OUT) #set Red LED to GP14 sck = Pin(6, Pin.OUT) #set RFID sck to GP6 mosi = Pin(7, Pin.OUT) #set RFID mosi to GP7 miso = Pin(4, Pin.OUT) #set RFID miso to GP4 sda = Pin(5, Pin.OUT) #set RFID sda to GP5 rst = Pin(18, Pin.OUT) #set RFID rst to GP18 spi = SPI(0, baudrate=100000, polarity=0, phase=0, sck=sck, mosi=mosi, miso=miso) #initial SPI card1 = "0xe58a6223" #change this value to match your testing RFID card 1 card2 = "0xf765bd60" #change this value to match your testing RFID card 2 while True: rdr = MFRC522(spi, sda, rst) #initialize reader (stat, tag_type) = rdr.request(rdr.REQIDL) #read card ud if stat == rdr.OK: (stat, raw_uid) = rdr.anticoll() if stat == rdr.OK: uid = ("0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])) print(uid) if uid == card1: #if ID matches card 1, buzzer beep once, turn on Green LED print("card 1 detected!") buzzer.value(0) time.sleep(0.3) buzzer.value(1) true.value(1) time.sleep(1) true.value(0) time.sleep(1) elif uid == card2: print("card 2 detected!") #if ID matches card 2, buzzer beep twice, turn on Green LED buzzer.value(0) time.sleep(0.3) buzzer.value(1) time.sleep(0.3) buzzer.value(0) time.sleep(0.3) buzzer.value(1) true.value(1) time.sleep(1) true.value(0) time.sleep(1) else: #if ID doesn't match any card, long beep, turn on Red LED print("invalid card!") buzzer.value(0) time.sleep(2) buzzer.value(1) false.value(1) time.sleep(0.1) false.value(0) time.sleep(0.1) false.value(1) time.sleep(0.1) false.value(0) time.sleep(0.1) false.value(1) time.sleep(0.1) false.value(0) time.sleep(1)
Paso 1: Conecta la placa Pico a uno de los puertos USB de tu PC.
Paso 2: Si no has instalado el software Thonny o no sabes cómo usar el entorno de desarrollo Thonny, lee la lección 1.
Paso 3: Ahora abre el entorno de desarrollo Thonny Python y haz clic en “Run” para seleccionar MicroPython para Raspberry Pi Pico como intérprete.
Además, selecciona el puerto COM al que está conectada tu placa Pico.
Después, haz clic en “OK” para guardar la configuración.
Paso 4: Descarga el código desde https://osoyoo.com/driver/pico/lesson7/pico-lesson7.zip, guárdalo en tu PC local y descomprime el archivo. Encontrarás dos archivos: mfrc522.py y pico-lesson7.py. Usa Thonny para abrir el archivo de la biblioteca mfrc522.py.
Paso 5: Luego haz clic en “File” -> “Save as”.
Paso 6: Selecciona “Raspberry Pi Pico” como destino.
Paso 7: Escribe el nombre del archivo como “mfrc522.py”. Después, haz clic en “OK” para guardar la configuración.
Luego usa Thonny para abrir otro archivo, pico-lesson7.py, haz clic en el botón ► para ejecutar el código Python. Necesitarás preparar tres tarjetas RFID diferentes.
Toca cada tarjeta en el lector y verás su ID, como “0xd71d9a52” y “invalid card”, en la ventana de la consola. Además, el LED rojo se encenderá y el zumbador emitirá un pitido largo. Esto se debe a que los IDs de tus tarjetas actuales no coinciden con los IDs en las líneas 14 y 15. Cambia las líneas 14 y 15 por los IDs de tu tarjeta 1 y tarjeta 2, luego haz clic en el botón ► para ejecutar de nuevo.
Ahora verás que cuando pongas la tarjeta 1 en el lector, se activará el mensaje “tarjeta 1 detectada”, un pitido corto y una luz verde. Cuando pongas la tarjeta 2 en el lector, la ventana de la consola mostrará “tarjeta 2 detectada”, dos pitidos cortos y una luz verde.
Después de que se complete la operación, presiona Ctrl+C para finalizar el comando.
DownLoad Url osoyoo.com