1.2.57. fejezet, NFC RC522 + adattovábbítás Ethernet hálózaton
Beküldte pzoli - 2018, szeptember 9 - 9:42de
RC522-es NFC író/olvasó SPI kommunikációval csatlakozik az Arduino-hoz. Ezen módon több eszköz kapcsolható össze, ám ezek a kapcsolatok a OneWire-hez képest különleges vezérlést igényel, mive minden eszközhöz egy SS port (Slave Select) vagy más néven CS (Cable Select) vezeték tartozik. Ezek magas állapotban tiltják, alacsony állapotban aktíválják az eszközöket.
#include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define RC522_SS_PIN 5 void setup() { Serial.begin(9600); while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) Serial.println(F("SPI begin...")); // SET each SPI slave to not listen eachother init message pinMode(RC522_SS_PIN, OUTPUT); digitalWrite(RC522_SS_PIN, HIGH); pinMode(ETH_SS_PIN, OUTPUT); digitalWrite(ETH_SS_PIN, HIGH); pinMode(SD_SS_PIN, OUTPUT); digitalWrite(SD_SS_PIN, HIGH); SPI.begin(); // Init SPI bus //SPI.setClockDivider(SPI_CLOCK_DIV4); //Not required for now //SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE0)); MFRC522 mfrc522(RC522_SS_PIN, RST_PIN); // Create MFRC522 instance Serial.println(F("Init RC522...")); mfrc522.PCD_Init(); // Init MFRC522 mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); //SPI.endTransaction(); } void loop() { if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) { return; } // Dump debug info about the card; PICC_HaltA() is automatically called mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); }
Kapcsolódó hivatkozások
- A hozzászóláshoz be kell jelentkezni