• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino plus kilka RFID
#1
Witam,

posiadam arduino uno i czytniki RFID RC-522 i mam pytanie czy da się podpiąć więcej niż 1 czytnik RFID do jednego Arduino czy może jeśli chciałbym robić taki projekt, w którym potrzebne są 2 czytniki RFID to potrzebuję połączyć 2 Arduino ze sobą? A może są jakieś lepsze rozwiązania/czytniki/wersje Arduino do mojego projektu? Ktoś coś pomoże?
 
Odpowiedź
#2
Gdyby udało Ci się podpiąć taki czujnik pod I2C, wtedy możesz podłączyć ich kilka. Nigdy tego nie robiłem, ale powinno zadziałać. Z drugiej strony, jeśli potrzebujesz tylko dwa takie czujniki, to pinów powinno Ci wystarczyć.
 
Odpowiedź
#3
Nikt tu nie jest tak bogaty by sprawdzać takie rzeczy, w życiu wystarcza jeden czytnik RFID. Oba interfejsy I2C i SPI są teoretycznie dostępne w tych czytnikach, jednak SPI jest szybszy, co będzie miło znaczenie przy dwóch podłączonych do jednego mastera. Oba interfejsy działają podobnie, Master pyta Slavy, to on inicjuje połączenie przy wysyłaniu rozkazów jak i przy zbieraniu danych z magistrali. Dlatego potrzebne są piny którymi Slave "podniesie rękę", że ma coś do powiedzenia.  Na IC2 działałoby podobnie, mniej pinów, wolniej i konieczna ingerencja w czytniki by wymusić na nich tryb pracy w IC2 oraz jakoś je poadresować. W SPI wskazuje się pytanego stanem pinu SS, można ich definiować wiele, dla każdego Slava na magistrali osobny.  Oba interfejsy są wewnątrz pudełkowe, do kilkudziesięciu cm kabelków, rozumiem, że mają być z dwóch stron ściany - może zadziałać.  Trzeba mieć bibliotekę, która pozwala na tworzenie obiektów, stworzyć obiekt 1 z przypisanymi pinami do komunikacji z modułem 1, potem obiekt2 do komunikacji z modułem 2 i na zmianę z nimi rozmawiać.
Np. to mi się kompiluje, czy działa nie wiem:
Kod:
/*
  --------------------------------------------------------------------------------------------------------------------
  Example sketch/program showing An Arduino Door Access Control featuring RFID, EEPROM, Relay
  --------------------------------------------------------------------------------------------------------------------
  This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid

 

  Typical pin layout used:
  -----------------------------------------------------------------------------------------
              MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
              Reader/PCD   Uno/101       Mega      Nano v3    Leonardo/Micro   Pro Micro
  Signal      Pin          Pin           Pin       Pin        Pin              Pin
  -----------------------------------------------------------------------------------------
  RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
  SPI SS      SDA(SS)      10            53        D10        10               10
  SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
  SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
  SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
*/


#include <SPI.h>        // RC522 Module uses SPI protocol
#include <MFRC522.h>  // Library for Mifare RC522 Devices


// Create MFRC522 instance.
#define SS_PIN 10
#define RST_PIN 9
#define SS_PIN2 8
#define RST_PIN2 2
MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522 mfrc522b(SS_PIN2, RST_PIN2);
///////////////////////////////////////// Setup ///////////////////////////////////
void setup() {
 //Arduino Pin Configuration
 
 SPI.begin();           // MFRC522 Hardware uses SPI protocol
 mfrc522.PCD_Init();    // Initialize MFRC522 Hardware
 mfrc522b.PCD_Init();    // Initialize MFRC522 Hardware
 
}


///////////////////////////////////////// Main Loop ///////////////////////////////////
void loop () {
 mfrc522.PICC_IsNewCardPresent(); // i inne takie co tam robicie z kartami RFID
 mfrc522b.PICC_IsNewCardPresent();
}
Powinno być przerwanie (w UNO piny 2 i 3) wywoływane gdy jakaś karta zbliży się do danego czytnika i dla niej wywoływane funkcje do jej obsługi.
Podejrzewam, że działa, ten ktoś używa tej samej biblioteki:
https://www.youtube.com/watch?v=HmGmFknAIqc
 
Odpowiedź
#4
Dzięki za odpowiedzi. Udało się to zrobić poprzez połączenie wszystkich MISO, MOSI itd. i faktycznie robi się mastera a resztę się wyzwala poprzez wysokie/niskie napięcie żeby dany czytnik wiedział, że to do niego się "mówi".
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości