Arduino Uno e PN532

Ciao a tutti,
vi espongo il mio problema che mi sta letteralmente facendo impazzire.
Sto cercando di implementare un sistema di apertura porte tramite Rele ed NFC con Arduino.
Attualmente sto usando Arduino Uno R3 con PN532 e modulo relè.
Ho la necessità che con la stesso Tag, venga fatta aprire la Porta 1 piuttosto che la Porta 2, inizialmente ho pensato all'utilizzo di 2 moduli PN532 collegati al medesimo Arduino ma comunque distanziati tra loro, ma non so se sia fattibile. Ho pensato anche all'uso del telefono ma a quanto ho capito non c'è modo in quanto il codice UID cambia costantemente.
C'è soluzione?

Grazie in anticipo

Buonasera e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

Chiedo venia, ho provveduto alla lettura del regolamento e fare la presentazione nell'apposita sezione.
Grazie

Mah ... vedo che il PN532 supporta connessioni sia su bus I2C che su bus SPI ... entrambi sono bus che permettono di gestire più devices sullo stesso bus, purché: con indirizzo univoco, nel caso del I2C, o, con pin di CS/SS differenti, nel caso del SPI ... quindi ... teoricamente dovresti poter collegare più di un modulo al Arduino ... tu che moduli stai utilizzando (metti il link) ?

Guglielmo

ho acquistato questi moduli: RFID PN532 Aideepen, se è possibile collegarne più di uno, c'è quindi la possibilità che in base a quale lettore legga il tag, attivi un uscita differente? (Stesso tag)

Si, se ne colleghi due, nel rispetto delle specifiche del bus scelto (I2C o SPI), potrai poi avere due punti di lettura di TAG e decidere tu cosa fare.

Guglielmo

Ciao
Io resterei su una scheda e diversi tag diverso colore e/o numero stampato, per porta, per persona, l'altra scheda la tieni di scorta
Con una scheda semplifichi collegamenti e riduci consumi

Nel caso servisse :wink:

Ringrazio @Etemenanki per il manuale, sempre utile :kissing_heart:
Dato che quindi ho capito di poterne collegare due contemporaneamente, mi potete " se possibile" aiutare a scrivere il codice? Per lo meno capire come identificare i lettori ed attivare l'uscita corrispondente. Non chiedo il codice completo e funzionante, in quanto non mi piace "la pappa pronta" e poi non imparerei, ma una bozza sulla quale "poter lavorare" e capire il tutto.

... comincia con cercare su Google (pn532 arduino) e troverai dei tutorial e librerie per usare quei moduli ... ci saranno molti esempi da cui prendere spunto e cominciare a scrivere il tuo codice.

Guglielmo

Solo una cosa, io non ne uso, ma sia vedendo il manuale che il datasheet del componente, non mi sembra ci sia modo di cambiare l'indirizzo per il protocollo I2C, quindi per usarne piu di uno collegato allo stesso Arduino servira' probabilmente usare il protocollo SPI, con un pin di selezione diverso per ogni dispositivo, oltre a quelli di comunicazione in comune per tutti.

attualmente sto usando il codice "base" per far funzionare il modulo, ho già effettuato modifiche sui tempi di funzionamento, inserito i codici delle varie tessere ed abbinate ad ogni uscita, mi manca solo da capire come identificare i due lettori a livello di codice e abbinare al lettore la propria uscita

Guarda il datasheet che ho messo al post #4, pagina 50 in cui parla del protocollo I2C, I2CADR ... è memorizzato in un registro ... :roll_eyes:

Guglielmo

Come lo stai usando, in I2C o in SPI?

Guglielmo

attualmente è connesso tramite i 4 pin in modalità HSU, se necessario posso postare il codice che sto utilizzando attualmente.

HSU è una modalità di colloquio seriale ... ovvero NON usa un bus su cui puoi connettere più devices ... potresti usare il collegamento SPI con i pin MISO, MOSI e SCK in comune e il pin CS/SS separato per ciscun modulo ... il problema è che il bus SPI è un bus normalmente molto veloce e NON fatto per essere portato in giro a grandi distanze ... :roll_eyes:

Che libreria hai installato per usare il modulo?

Guglielmo

ci saranno circa 30 cm tra un lettore e l'altro nella peggiore delle ipotesi e circa 50 cm tra lettore ed arduino. Ho installato la libreria PN532 disponibile all'interno della IDE

... che NON mi dice nulla ... mi serve un link alla libreria per poterla leggere ... e l'IDE, se chiedi i dettagli, ti porta a tale link.

Tu sai se la libreria che usi permette il collegamento via SPI?

Guglielmo

Libreria PN532 questa è la libreria che sto attualmente utilizzando, supporta sia SPI che I2C

HSU è seriale

Usare due seriali software non va bene, non si possono usare contemporaneamente

Ho idea che i demo di quella libreria siano un po poveri e non prevedano seriali soft
E nemmeno cambi di indirizzi iic o l'uso di spi, danno in dotazione solo 4 cavi

Vedremo dalla libreria

Al limite però uno hsu e uno iic si dovrebbe potere, senza impazzire troppo