From 8bfb620e421b4a74a7144a81d2878d502856dc4b Mon Sep 17 00:00:00 2001 From: Henri de Jong Date: Sun, 27 Jan 2013 18:11:28 +0100 Subject: [PATCH] Added extra example to show serial on lcd display --- examples/cardDisplay/cardDisplay.ino | 126 +++++++++++++++++++++++++++ examples/cardRead/cardRead.ino | 6 +- 2 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 examples/cardDisplay/cardDisplay.ino diff --git a/examples/cardDisplay/cardDisplay.ino b/examples/cardDisplay/cardDisplay.ino new file mode 100644 index 0000000..7fb22f3 --- /dev/null +++ b/examples/cardDisplay/cardDisplay.ino @@ -0,0 +1,126 @@ +/** +* Read a card using a mfrc522 reader on your SPI interface +* Pin layout should be as follows (on Arduino Uno): +* MOSI: Pin 11 / ICSP-4 +* MISO: Pin 12 / ICSP-1 +* SCK: Pin 13 / ISCP-3 +* SS: Pin 10 +* RST: Pin 9 +* +* Script is based on the script of Miguel Balboa. +* Serial number is shown on a HD44780 compatible display +* +* The circuit: +* LCD RS pin to digital pin (7) +* LCD Enable pin to digital pin (6) +* LCD D4 pin to digital pin 5 +* LCD D5 pin to digital pin 4 +* LCD D6 pin to digital pin 3 +* LCD D7 pin to digital pin 2 +* LCD R/W pin to ground +* 10K resistor: +* ends to +5V and ground +* wiper to LCD VO pin (pin 3) +* +* @version 0.1 +* @author Henri de Jong +* @since 27-01-2013 +*/ + +#include +#include +#include + +#define SS_PIN 10 +#define RST_PIN 9 + +RFID rfid(SS_PIN, RST_PIN); + +LiquidCrystal lcd(7, 6, 5, 4, 3, 2); + +// Setup variables: + int serNum0; + int serNum1; + int serNum2; + int serNum3; + int serNum4; + +void setup() +{ + Serial.begin(9600); + lcd.begin(16, 2); + SPI.begin(); + rfid.init(); + +} + +void loop() +{ + + if (rfid.isCard()) { + if (rfid.readCardSerial()) { + if (rfid.serNum[0] != serNum0 + && rfid.serNum[1] != serNum1 + && rfid.serNum[2] != serNum2 + && rfid.serNum[3] != serNum3 + && rfid.serNum[4] != serNum4 + ) { + /* With a new cardnumber, show it. */ + Serial.println(" "); + Serial.println("Card found"); + serNum0 = rfid.serNum[0]; + serNum1 = rfid.serNum[1]; + serNum2 = rfid.serNum[2]; + serNum3 = rfid.serNum[3]; + serNum4 = rfid.serNum[4]; + + //Serial.println(" "); + Serial.println("Cardnumber:"); + Serial.print("Dec: "); + Serial.print(rfid.serNum[0],DEC); + Serial.print(", "); + Serial.print(rfid.serNum[1],DEC); + Serial.print(", "); + Serial.print(rfid.serNum[2],DEC); + Serial.print(", "); + Serial.print(rfid.serNum[3],DEC); + Serial.print(", "); + Serial.print(rfid.serNum[4],DEC); + Serial.println(" "); + + Serial.print("Hex: "); + Serial.print(rfid.serNum[0],HEX); + Serial.print(", "); + Serial.print(rfid.serNum[1],HEX); + Serial.print(", "); + Serial.print(rfid.serNum[2],HEX); + Serial.print(", "); + Serial.print(rfid.serNum[3],HEX); + Serial.print(", "); + Serial.print(rfid.serNum[4],HEX); + Serial.println(" "); + + /* Write the HEX code to the display */ + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print("Cardno (hex):"); + lcd.setCursor(0,1); + lcd.print(rfid.serNum[0], HEX); + lcd.print(','); + lcd.print(rfid.serNum[1], HEX); + lcd.print(','); + lcd.print(rfid.serNum[2], HEX); + lcd.print(','); + lcd.print(rfid.serNum[3], HEX); + lcd.print(','); + lcd.print(rfid.serNum[4], HEX); + } else { + /* If we have the same ID, just write a dot. */ + Serial.print("."); + } + } + } + + rfid.halt(); +} + diff --git a/examples/cardRead/cardRead.ino b/examples/cardRead/cardRead.ino index 3c128ac..4a53eca 100644 --- a/examples/cardRead/cardRead.ino +++ b/examples/cardRead/cardRead.ino @@ -5,7 +5,7 @@ * MISO: Pin 12 / ICSP-1 * SCK: Pin 13 / ISCP-3 * SS: Pin 10 -* RST: Pin 5 +* RST: Pin 9 * * Script is based on the script of Miguel Balboa. * New cardnumber is printed when card has changed. Only a dot is printed @@ -20,7 +20,7 @@ #include #define SS_PIN 10 -#define RST_PIN 5 +#define RST_PIN 9 RFID rfid(SS_PIN, RST_PIN); @@ -50,6 +50,7 @@ void loop() && rfid.serNum[3] != serNum3 && rfid.serNum[4] != serNum4 ) { + /* With a new cardnumber, show it. */ Serial.println(" "); Serial.println("Card found"); serNum0 = rfid.serNum[0]; @@ -84,6 +85,7 @@ void loop() Serial.print(rfid.serNum[4],HEX); Serial.println(" "); } else { + /* If we have the same ID, just write a dot. */ Serial.print("."); } }