INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
RFID-Reader stört Keypad
07.02.2020, 21:36
Beitrag #1
RFID-Reader stört Keypad
Ich habe vor meine Zimmertür mit einem Schloss zu verschließen ,dass sowohl per Code als auch mit Karte geöffnet werden kann. Zu diesem Zweck habe ich ein Keypad und einen RFID-Reader angeschlossen die getrennt wunderbar funktionieren.

Ich habe folgendes Problem:
Keypad und RFID-Reader funktionieren getrennt einwandfrei, sobald in einem Sketch aber beide Module immer abwechselnd abgefragt werden ist das Keypad scheinbar in keinem definierten Zustand mehr.
Es gibt also zufällige Tasten aus (sehr schnell) obwohl diese nicht gedrückt sind. Daraus schließe ich das von dem MFRC-Modul Störsignale ausgehen, weiß aber nicht wie ich dieses Problem umgehe.

Bisher ausprobiert/ festgestellt:
Als Code habe ich die 2 einzelnen(den funktionierenden des Keypads und den des RFID-Reader) zusammengesetzt, sobald aber im Setup Bereich "mfrc522.PCD_Init();" ausgeführt wird und danach das Keypad abgefragt wird, ohne das weitere Aktionen mit dem RFID-Reader programmiert sind
spuckt das Keypad willkürliche Tasten aus.
Das muss bedeuten das ab dem Setup das Keypad aktiv ist und von diesem Zeitpunkt an Störsignale davon ausgehen.
Ich kann übrigens trotz der Störung Karten auslesen.

Vielen Dank für alle Antworten!!
Ich hoffe ich habe das Problem verständlich erklären können.

Hier noch der Sketch:

Code:
#include "Adafruit_Keypad.h"
#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN   9     // SPI Reset Pin
#define SS_PIN    10    // SPI Slave Select Pin

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Instanz des MFRC522 erzeugen
String tagUID = "7d31fd9";
String card_name;

const byte ROWS = 4; // rows
const byte COLS = 4; // columns

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {6, 7, 8, 9}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {2,3,4,5}; //connect to the column pinouts of the keypad

char key;

char code[4]={'3','2','7','3'};

char p1 = code[0];
char p2 = code[1];
char p3 = code[2];
char p4 = code[3];

char t1 = '-';
char t2 = '-';
char t3 = '-';
char t4 = '-';


Adafruit_Keypad customKeypad = Adafruit_Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  Serial.begin(9600);
  customKeypad.begin();
  SPI.begin();         // Initialisiere SPI Kommunikation
  mfrc522.PCD_Init();  // Initialisiere MFRC522 Lesemodul
}

void loop()
{
  customKeypad.tick();
  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial() )
  {
    card_lesen();
  }
  else
  {
    while(customKeypad.available())
    {
      keypadEvent e = customKeypad.read();
    
      if(e.bit.EVENT == KEY_JUST_RELEASED)
      {
        key = (char)e.bit.KEY;
        code_uberprufen(key);
      }  
    }
    
  }
}


void card_lesen()
{
  Serial.print("Gelesene UID:");
  for (byte i = 0; i < mfrc522.uid.size; i++) {
      String card_byte = String(mfrc522.uid.uidByte[i], HEX);
      card_name = card_name + card_byte;
  }
  Serial.println(card_name);
  card_uberprufen(card_name);
  Serial.println();

    // Versetzt die gelesene Karte in einen Ruhemodus, um nach anderen Karten suchen zu können.
  mfrc522.PICC_HaltA();
  delay(1000);

}

void card_uberprufen(String name_card)
{
  if(name_card == tagUID)
  {
    Serial.println("card right");
  }
  else
  {
    Serial.println("card wrong");
  }
  card_name = "";
}


void code_uberprufen(char key)
{
  if(key != '*')
  {
    t1 = t2;
    t2 = t3;
    t3 = t4;
    t4 = key;
    Serial.print(t1);Serial.print(t2);Serial.print(t3);Serial.println(t4);
    delay(100);
  }
  else
  {
     if(p1 == t1&&p2 == t2&&p3 == t3&&p4 == t4)
     {
       code_richtig();
     }
     else
     {
        code_falsch();        
     }
  }
    
}

void code_richtig()
{
  Serial.println("correct");
  t1 = '-';
  t2 = '-';
  t3 = '-';
  t4 = '-';
}

void code_falsch()
{
  Serial.println("incorrect");
  t1 = '-';
  t2 = '-';
  t3 = '-';
  t4 = '-';
}

LG louard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2020, 21:52
Beitrag #2
RE: RFID-Reader stört Keypad
Dein Problem ist der doppelt belegter Pin D9, einmal als Reset für das Display und für die Tastatur. Das wird nicht funktionieren.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.02.2020, 22:46
Beitrag #3
RE: RFID-Reader stört Keypad
(07.02.2020 21:52)hotsystems schrieb:  Dein Problem ist der doppelt belegter Pin D9, einmal als Reset für das Display und für die Tastatur. Das wird nicht funktionieren.

Danke für die sehr schnelle Antwort und vorallem große Hilfe
ja das war das Problem habe das nicht bemerkt, da ich den RST Pin nicht benötige und nicht angeschlossen habe, ich weiß nicht mal für was der benötigt wird. Ich habe den RST Pin jetzt einfach auf A0 umbenannt und alles funktioniert.

LG louard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2020, 11:50
Beitrag #4
RE: RFID-Reader stört Keypad
Gerne....
Den brauchst du nur, wenn du aus dem Sketch heraus den RFID resetten willst.
Und danke für die Rückmeldung.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Keypad Eingabe in Arrays speichern Simon_St 5 321 02.02.2021 20:11
Letzter Beitrag: Simon_St
  RFID 125kHz am MEGA 2560 Alexander307 16 739 29.12.2020 22:19
Letzter Beitrag: hotsystems
  RFID RC522 erkennt keine TAGs (Transponder) Christian_Moba-Arduino 4 466 03.11.2020 20:22
Letzter Beitrag: hotsystems
  Arduino Nano und RFID RC522 Bb007 11 1.098 25.09.2020 18:57
Letzter Beitrag: Bb007
  MPU650 + RTC DS3231 + SD card reader Kawaci 8 781 21.09.2020 12:54
Letzter Beitrag: Tommy56
  Kleines Projekt mit RFID Stefu1987 31 3.199 11.05.2020 20:24
Letzter Beitrag: Retian
  RFID AgentMulder 14 1.903 24.04.2020 15:23
Letzter Beitrag: Corvus
  RFID (134,2 KHZ) Lese-Gerät Wiaz 1 760 19.03.2020 11:29
Letzter Beitrag: hotsystems
Question Zugangskontrolle per RFID -Christoph- 17 3.828 29.11.2019 06:45
Letzter Beitrag: -Christoph-
  RFID Banksystem und das Displaymenü BastelKlug 4 1.255 15.09.2019 07:50
Letzter Beitrag: Fips

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste