Buongiorno,
vi scrivo perchè ormai da ore non riesco a risolvere un problema.
Ho una scheda NFC Elechouse Module V3 (quella rossa per intenderci), collegata via SPI ad Arduino Uno (ma ho provato anche in HSU sui pin RX e TX).
Tutto funziona con gli esempi inclusi nella libreria, arduino comunica con la scheda NFC e mi legge le carte NFC mostrandomi i risultati nella console di arduino studio. Questo succede sia via SPI che via HSU.
Il problema è quando io cerco di usare libnfc sul computer per inviare comandi alla scheda. Libnfc cerca di comunicare (si accendono i led tx e rx su arduino) ma mi da sempre:
error libnfc.driver.pn532_uart pn53x_check_communication error
Trova 1 dispositivo NFC ma poi non riesce a comunicarci.
Secondo me è il codice sorgente che uso su arduino che non va bene. Uso questo:
#include <SPI.h>
#include <PN532_SPI.h>
#include <PN532.h>
PN532_SPI pn532spi(SPI, 10);
PN532 nfc(pn532spi);
void setup(void) {
Serial.begin(115200);
Serial.flush();
nfc.begin();
}
void loop(void) {
}
Le librerie incluse sono quelle di Elechouse: GitHub - elechouse/PN532: NFC library for Arduino using PN532
I PIN li ho fatti come consigliato dal pdf di Elechouse:
SCK > Pin 13
MISO > Pin 12
MOSI > Pin 11
SS > Pin 10
VCC > VCC arduino (ho provato sia 5 che 3v)
GND > GND arduino (ho provato con tutti i GND)
Il problema è che secondo me quando arriva un comando ad arduino questo non capisce che deve inoltrarlo alla schedina NFC e poi rispondere. Però non ho trovato nessun codice che faccia questa cosa.
Ho provato un sacco di modifiche al codice, questo è quello che funziona "meglio" perchè almeno libnfc trova 1 dispositivo.
Sapete darmi qualche dritta?
Cordiali saluti.