NFC/RFID 實驗在Arduino 上其實也很簡單, 這次利用PN532相容板來做實驗, 此塊板子支援 I2C 和 SPI介面, 我就來用 SPI 跟Arduino連接! 參考下圖:
Arduino PN532
D10 ------> SS
D11 ------> MOSI
D12 ------> MISO
D13 ------> SCK
5V -------> 5V
GND ------> GND
Sketch 範例程式:
#include <arduino.h>
#include <PN532.h>
#define SCK 13
#define MOSI 11
#define SS 10
#define MISO 12
PN532 nfc(SCK, MISO, MOSI, SS);
void setup(void) {
Serial.begin(9600);
Serial.println("Hello!");
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
Serial.print("Supports "); Serial.println(versiondata & 0xFF, HEX);
// configure board to read RFID tags and cards
nfc.SAMConfig();
}
void loop(void) {
uint32_t id;
// look for MiFare type cards
id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
if (id != 0) {
Serial.print("Read card #"); Serial.println(id);
}
}
PN532 arduino library 下載點 here.
很簡單! 拿起 NFC tag 感應一下就會跑出 Card id.
看了大大的文章 小弟有個問題想請教一下,我用Motoduino和s4a來做藍芽遙控車,而將s4a的腳位修改成相容Motoduino腳位後,p5 p6腳位可動作但是p7 p8腳位無法做正反轉的動作,想問大大是哪裡出了問題
回覆刪除有參考過這裡?
刪除http://website.mlc.edu.tw/wzd000393/index/page/id/37817
有 我就是參考這裡的修改方式
刪除我想請問一下,當我執行左轉指令(p5設定135pwm p8設定off p6設定135pwm p7設定on)時,板子的LED7跟LED8會同時亮起,是正常嗎? 不因該是p8off p7on?
回覆刪除請問一下,我試著照範例碼上傳板子,但是在畫面上總是顯示找不到PN53X的板子,請問要怎麼解決?
回覆刪除確認是PN532 的NFC? 如果是那應該是接線沒接好
回覆刪除你好 為什麼我的會顯示出 nfc' was not declared in this scope
回覆刪除你好 我把函式庫都用好 為什麼編譯會顯示
回覆刪除no matching function for call to 'PN532::PN532(int, int, int, int)' 是什麼原因
'PN532::PN532(int, int, int, int)' 是什麼原因
回覆刪除