Arduino Due + PN532 elechouse
i received pn532 elechouse , wanted test it.
first follow pdf: https://dangerousthings.com/wp-content/uploads/pn532_manual_v3-1.pdf
hardware
pn532: put switch this: i2c 1 / 0 (p3)
i plug show on page 5 :
5v
gnd
pin 20 /sda
pin 21/scl
software
as show on page 5 download this:
pn532
pn532_hsu
pn532_i2c
pn532_spi
from here: https://github.com/elechouse/pn532
ans ndef
then choose example : iso14443a_uid
and change this
hello!
didn't find pn53x board
original code:
i manage detect following code arduino nano friend share me : http://arduino.ru/forum/proekty/chitaem-nomera-rfid-nfc-kart-metok-s-pomoshchyu-modulya-s-chipom-pn532-1356-mhz
but can detect pn532 lib, want test read/write , it's not nano.
first follow pdf: https://dangerousthings.com/wp-content/uploads/pn532_manual_v3-1.pdf
hardware
pn532: put switch this: i2c 1 / 0 (p3)
i plug show on page 5 :
5v
gnd
pin 20 /sda
pin 21/scl
software
as show on page 5 download this:
pn532
pn532_hsu
pn532_i2c
pn532_spi
from here: https://github.com/elechouse/pn532
ans ndef
then choose example : iso14443a_uid
and change this
quote
#if 0to this:
#include <spi.h>
#include <pn532_spi.h>
#include "pn532.h"
pn532_spi pn532spi(spi, 10);
pn532 nfc(pn532spi);
#elif 1
#include <pn532_hsu.h>
#include <pn532.h>
pn532_hsu pn532hsu(serial1);
pn532 nfc(pn532hsu);
#else
#include <wire.h>
#include <pn532_i2c.h>
#include <pn532.h>
#include <nfcadapter.h>
pn532_i2c pn532i2c(wire);
pn532 nfc(pn532i2c);
#endif
quote
#if 0in order test i2c have this:
#include <spi.h>
#include <pn532_spi.h>
#include "pn532.h"
pn532_spi pn532spi(spi, 10);
pn532 nfc(pn532spi);
#elif 0
#include <pn532_hsu.h>
#include <pn532.h>
pn532_hsu pn532hsu(serial1);
pn532 nfc(pn532hsu);
#else
#include <wire.h>
#include <pn532_i2c.h>
#include <pn532.h>
#include <nfcadapter.h>
pn532_i2c pn532i2c(wire);
pn532 nfc(pn532i2c);
#endif
hello!
didn't find pn53x board
original code:
quote
/**************************************************************************/**ps:
/*!
example attempt connect iso14443a
card or tag , retrieve basic information it
can used determine type of card is.
note need baud rate 115200 because need print
out data , read card @ same time!
enable debug message, define debug in pn532/pn532_debug.h
*/
/**************************************************************************/
#if 0
#include <spi.h>
#include <pn532_spi.h>
#include "pn532.h"
pn532_spi pn532spi(spi, 10);
pn532 nfc(pn532spi);
#elif 1
#include <pn532_hsu.h>
#include <pn532.h>
pn532_hsu pn532hsu(serial1);
pn532 nfc(pn532hsu);
#else
#include <wire.h>
#include <pn532_i2c.h>
#include <pn532.h>
#include <nfcadapter.h>
pn532_i2c pn532i2c(wire);
pn532 nfc(pn532i2c);
#endif
void setup(void) {
serial.begin(115200);
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 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>>& 0xff, dec);
// set max number of retry attempts read card
// prevents waiting forever card, is
// default behaviour of pn532.
nfc.setpassiveactivationretries(0xff);
// configure board read rfid tags
nfc.samconfig();
serial.println("waiting iso14443a card");
}
void loop(void) {
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // buffer store returned uid
uint8_t uidlength; // length of uid (4 or 7 bytes depending on iso14443a card type)
// wait iso14443a type cards (mifare, etc.). when 1 found
// 'uid' populated uid, , uidlength indicate
// if uid 4 bytes (mifare classic) or 7 bytes (mifare ultralight)
success = nfc.readpassivetargetid(pn532_mifare_iso14443a, &uid[0], &uidlength);
if (success) {
serial.println("found card!");
serial.print("uid length: ");serial.print(uidlength, dec);serial.println(" bytes");
serial.print("uid value: ");
(uint8_t i=0; < uidlength; i++)
{
serial.print(" 0x");serial.print(uid, hex);
}
serial.println("");
// wait 1 second before continuing
delay(1000);
}
else
{
// pn532 timed out waiting card
serial.println("timed out waiting card");
}
}
i manage detect following code arduino nano friend share me : http://arduino.ru/forum/proekty/chitaem-nomera-rfid-nfc-kart-metok-s-pomoshchyu-modulya-s-chipom-pn532-1356-mhz
but can detect pn532 lib, want test read/write , it's not nano.
if select hsu instead of i2c have lot of error :
http://pastebin.com/rx4hqilu
http://pastebin.com/rx4hqilu
Arduino Forum > Using Arduino > Programming Questions > Arduino Due + PN532 elechouse
arduino
& 0xff, dec);
Comments
Post a Comment