RFID блокирует GPIO - PullRequest
       35

RFID блокирует GPIO

0 голосов
/ 28 марта 2019

Для университетского проекта я занимался программированием с python3 для интерфейса с термопринтером (активируется двумя кнопками) и RFID для открытия аудиофайла. Оба работают в отдельных программах, но когда я включил RFID в код с термопринтером, RFID блокирует контакты GPIO.

Я хочу, чтобы принтер печатал разные сообщения в соответствии с считываемыми разными RFID.

Я пытался поиграть с разными утверждениями в коде без преобладания:

import sys, os, time, signal, serial, adafruit_thermal_printer, threading
import RPi.GPIO as GPIO
import mfrc522
from mfrc522 import SimpleMFRC522


uart = serial.Serial("/dev/serial0", baudrate=19200, timeout=3000)

ThermalPrinter = adafruit_thermal_printer.get_printer_class(2.69)

printer = ThermalPrinter(uart)

reader = SimpleMFRC522()

ButtonA=11
ButtonB=13

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(ButtonA, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(ButtonB, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

while True:



    if GPIO.input(ButtonA) == GPIO.HIGH:
        print ("ButtonA Pushed")
        printer.print("""Le Freak Records

lots of love, Le Freak x
""")
        printer.print("This is an image")
        printer.feed(2)
        time.sleep(1)

    if GPIO.input(ButtonB) == GPIO.HIGH:
        print ("ButtonB Pushed")
        printer.print("Hello World this is B")
        printer.feed(2)
        time.sleep(1)


    (id, text) = reader.read()#reads the rfid card

    if (id == 1003469162337):
        print(id)
        print("Card1 Read")
        os.system('mpg321 /home/pi/bubbling_water_1.mp3 &')


    if (id == 384229004975):
        print ("Card2 Read")
...