Raspberry Pi GPIO und RFID Modul steuern?

Moin Moin,

ich würde gerne mit einem Raspberry Pi und einem RFID Modul, ein paar Relais steuern, die ich per GPIO angeschlossen habe. Nur habe ich das Problem, das sich das Python Skript nach einer Zeit aufhängt und er immer erst nach dem starten eines anderen Skriptes, das RFID Modul lesen kann.

Skript mit dem RFID Modul und den Relais:

import time
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

GPIO.setmode(GPIO.BCM)
GPIO.setup(5,GPIO.OUT) # Strom_5_1 Relai
GPIO.setup(6,GPIO.OUT) # Strom_5_2 Relai
GPIO.setup(20,GPIO.OUT) # Strom_1 Relai

GPIO.output(20,GPIO.IN) # Strom_1 Relai "AUS"
GPIO.output(5,GPIO.IN) # Strom_5_1 Relai "AUS"
GPIO.output(6,GPIO.IN) # Strom_5_2 Relai "AUS"

reader = SimpleMFRC522()


while True:
    print(time.strftime("%d.%m"+" "+"%H:%M")
    print("Part 1")
    id, text = reader.read()
    print(id)
    print(text)

    if (id) == 1000000000000: # BLUE RFID KEY (LED)
        print("BLUE RFID KEY")
        if GPIO.input(5) == GPIO.HIGH:
            GPIO.output(5,GPIO.LOW) # Strom_5_1 Relai "AN"
            GPIO.output(6,GPIO.LOW) # Strom_5_2 Relai "AN"
            time.sleep(0.5)
        else:
            GPIO.output(5,GPIO.HIGH) # Strom_5_1 Relai "AUS"
            GPIO.output(6,GPIO.HIGH) # Strom_5_2 Relai "AUS"
            time.sleep(0.5)

    if (id) == 20000000000:
        print("Systemabschaltung")
        GPIO.output(20,GPIO.HIGH) # Strom_5_2 Relai "AN"
        time.sleep(0.5)
    
    print("Ende")
    print(time.strftime("%d.%m"+" "+"%H:%M"))

Das Skript, was ich davor einmal gestaltet haben muss, damit das erste Skript überhaupt das Modul lesen kann:

import time
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

GPIO.setmode(GPIO.BCM)
GPIO.setup(5,GPIO.OUT)
GPIO.setup(6,GPIO.OUT)
GPIO.setup(20,GPIO.OUT)

GPIO.output(20,GPIO.IN)
GPIO.output(5,GPIO.IN)
GPIO.output(6,GPIO.IN)

reader = SimpleMFRC522()

while True:
    id, text = reader.read()
    print(id)
    print(text)
    if (id) == 80000000000:
        print("Hello World")
        time.sleep(0.5)

Die ID's sind nicht echt, im richtigen Skript habe ich dort natürlich die richtigen ID's.

Ich habe gelesen, dass das RFID Modul "GPIO BOARD" braucht, ich aber anderseits für die GPIO's des Raspberry Pi's "GPIO BCM" brauche. Außer ich nehme andere GPIO Pins, was aber nicht geht, da ich noch mehr Relais und Temperatur Sensoren etc. angeschlossen habe. Somit bin ich mit den Pins des Raspberry Pi's an der Grenze.

Habt ihr Erfahrungen mit Python und könnt mir helfen?

Grüße, Nioy

Computer, Technik, Programmieren, Board, Python, Technologie, Raspberry Pi, gpio
0 Antworten
Welche Daten werden bei Motor Kabeln übertragen?

Z.Bsp Servos haben 3 adrige Kabel und ich wollte wissen welche Informationen bei der 3. Leitung übertragen werden (Vcc und Ground ist mir klar).

Mein Plan ist es ein Fahrzeug zu bauen (entweder Ketten oder Räder) und den mit einem Raspberry Pi zu steuern. Zusätzlich wollte ich noch verschieden Sensoren hinzufügen wie z.Bsp.: Lidar, Point Cloud Kameras, Ultraschall Sensoren und sonstige Spielereien. Mit der Programmierung von Sensoren hatte ich bis jetzt nie Probleme. Allerdings kenne ich mich mit Motoren nicht wirklich.

Also folgende Fragen

  1. Welche Daten empfängt/überträgt ein Servo mit dem 3. Kabel (PWN, High/Low, etc)
  2. Welche Motor Daten kann ich dem Pi empfangen und Senden lassen
  3. Welche Daten sind Sinnvoll
  4. Welche Sensoren/PCBs wie z.Bsp. Esc oder sowas sind nötig und welche sind zusätzlich zwar nicht nötig aber sehr hilfreich oder bieten erweiterungsmöglichkeiten
  5. Gibt es Motoren die mehrere Data Outputs und Inputs haben
  6. Wird mein Raspberry Pi 4 genug Rechenleistung haben (für z.Bsp.: Object Detection, Object Avoidance und sonstige aufwendige Tasks)
  7. Ist ein Kettenfahrzeug besser oder eins mit Rädern (wenn mit rädern lohnen sich omni-directional Räder?)

Links zu Produkten wären sehr hilfreich. Allerdings möglichst billig. Aliexpress und co gehen klar solange das Shipping nicht so teuer ist. Shipping Dauer ist egal. Der Gesamtpreis sollte nicht über 100€ gehen.

Computer, Auto, Technik, Programmieren, elektromotor, Kabel, Daten, Fahrzeug, Motor, arduino, Coding, Datenübertragung, Panzer, PCB, RC, Sensoren, Technologie, Servo, Raspberry, gpio
2 Antworten
Wie kann man mit billiger Hardware testen ob spannung (230v) auf einem Kabel besteht und diesen boolischen wert an einen Raspberry Pi weitergeben?

Hallo alle zusammen!

Ich arbeite gerade an einem sehr coolen Projekt. - Ich möchte meine Wohnung smart machen, und habe dafür einen eigenen Alexa skill geschrieben. Dieser skill triggert eine Lambda Node.js funktion welche wiederum ein https request an den Raspberry Pi sendet, welcher in meinem LAN steht.

Am Raspberry Pi hängt ein 8 teiliges Relay set. Jeweil eines dieser Relays (3 port relay [NO,C,NC]) hängt in einem Stromkreis des Raum Lichtes und bildet mit den normalen Lichtschaltern eine Wechsel Schaltung. Der nachteil ist - ich kann zwar jederzeit über Alexa mein licht entweder aus oder einschalten, nur weiß der Pi nie ob das licht gerade brennt oder nicht! Das heißt alles was der pi kann ist "den status des lichtes zu ändern". Nun brauche ich dafür eure Hilfe! - eine Idee wäre, einen Voltmeter am L1 an der lampe zu montieren, welcher dann dem Pi einen !Boolischen! wert, in dem fall, "lampe hat strom" und "lampe hat keinen strom" per GPIO mitteilen soll. ( hab so etwas aber nirgends gefunden!) Ich weiß zwar nicht ob das so gescheit ist... - Wie würdet ihr das Lösen?

Liebe Grüße aus Wien! Danke im vorraus!

Oliver M/16

Der "*" auf meiner vorstellungs-Zeichnung stellt diesen spannungsmesser dar.

Die gestrichelten linien stellen nur den Datenverkehr zwischen RBP und Hardware dar.

Computer, Technik, Hardware, Strom, Energie, Spannung, Elektriker, Elektrizität, Technologie, alexa, Relais, schwierig, Stromkreis, voltmeter, Raspberry Pi, smart home, gpio
3 Antworten

Meistgelesene Fragen zum Thema Gpio