salve a tutti
Ho provato e riprovato, ma non riesco ad andare oltre, quindi mi arrendo.
Ho cominciato un progetto con arduino uno, display lcd 16x2 e lettore rfid MF522-AN.
L'idea era creare una gettoniera con lettura del credito sia da tag che da gettoniera meccanica, possibilità di caricare il credito dei tag tramite gettoniera meccanica e 2 tipi di costo.
Sapreste indicarmi qualcuno che mi possa creare lo sketch? A pagamento naturalmente.
Tutti gli sketch che ho trovato online, non sono riuscito a modificarli perchè non riesco a capire come leggere e scrivere sui tag.
Gradirei anche sapere dove posso trovare documentazione in italiano per capire come di fa a leggere e scrivere sui tag rfid.
Grazie a tutti
edit by mod: cambiato il titolo con uno più consono
Questo è il codice che ho usato fino ad ora.
Come semplice contatore funziona, ma non riesco ad abbinare il lettore rfid.
Tutti i codici che ho trovato su internet, non riesco ad integrarli. Sicuramente per colpa mia perchè non ho mai studiato queste cose.
Nel codice riportato sotto, mancano i dati relativi alla gettoniera meccanica perchè non la ho ancora comprata, mentre la variabile "a" è il valore di 4 cifre che si dovrà leggere e scrivere sul tag.
#include <LiquidCrystal.h>
#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
RFID rfid(SS_PIN, RST_PIN);
LiquidCrystal lcd(8, 7, 2, 3, 4, 5);
int led=6;
int a = 20; //valore iniziale del contatore
// int a dovrà essere il valore da leggere sul tag
// non sono ancora stati inseriti
// i dati relativi alla gettoniera meccanica (A2)
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.init();
pinMode(led,OUTPUT);
lcd.begin(16, 2);
lcd.print(" Tigiemme ");
delay(3000); lcd.clear();
digitalWrite(led, LOW);
analogRead(A0);
analogRead(A1);
analogRead(A2);
}
void loop()
{
if (analogRead(A0) == 1023)
{lcd.setCursor(0,0);
lcd.print(" Tigiemme ");
lcd.setCursor(0,1);
lcd.print(" Inserire Card ");
digitalWrite(led, LOW);}
if (a >= 1 && analogRead(A0) == 0)
{
lcd.setCursor(0, 0);
lcd.print("Credito: ");
lcd.setCursor(0,1);
lcd.print("Copie = ");
digitalWrite(led, HIGH);
if (analogRead(A1)== 0){a=a-1;delay(300);}
if (analogRead(A1)== 89){a=a-4;delay(300);}
lcd.setCursor(8, 1);
lcd.print(a);
{
if (a <= 0 && analogRead(A0)== 0)
{digitalWrite(led, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Credito Esaurito");
lcd.setCursor(0,1);
lcd.print(" RICARICARE ");
}}
}}
PS
Questo è il mio primo codice, prima di adesso non ho mai avuto a che fare con queste cose, ai miei tempi si usavano solo porte AND, OR, NOT , NAND e oscillatori NE555.
quel modulo dovrebbe essere un RFID Reader e ... NON Writer, quindi ... i TAG NON li puoi scrivere, puoi solo leggere il loro codice impostato in fabbrica (leggiti il datasheet allegato).
Ti suggerisco QUESTA libreria di cui ho letto bene ... (... io non l'ho mai provata però XD)
inizia con una cosa molto semplice, SOLO il lettore RFID, niente display o quant'altro. Ti scrivi un semplice programma che legge il TAG e lo manda sul Serial Monitor di Arduino. Quando hai capito come funziona e lo padroneggi, allora ti complichi la vita con altri gadget
no
Con alcuni sketch legge e scrive correttamente, l'ho controllato con un'altro lettore e scrittore sul pc.
Il problema è che non ho capito come li legge e scrive, o meglio, non riesco a capire come leggere e scrivere in quei determinati settori.
Nonostante il datasheet lo classifichi come "Contactless reader IC", leggendo la descrizione si scopre che "T_he MFRC522 is a highly integrated reader/writer IC for contactless communication at 13.56 MHz._" ... complimenti al produttore per l'ambiguità e la poca chiarezza ... ]
Detto questo, hai provato a guardare quella libreria ? Magari contiene le funzioni che ti servono ...
si
l'ho guardata e come al solito non ci ho capito niente.
ho bisogno di un corso accelerato per capirci qualcosa, pare che scrivono in arabo.
purtroppo non ho nessuna esperienza di programmazione e non riesco a trovare una documentazione chiara e in italiano.
tu puoi indicarmi qualche testo?
Mmm ... in Italiano purtroppo credo ci sia poco o niente ...
Invece ... ho ritrovato la libreria originale (da cui quella che ti ho linkato credo sia derivata) di Miguel Balboa QUESTA !
Se guardi la parte commenti all'interno del .h (... lo so, sono in inglese) vedrai che è ben documentata e con vari rimandi a pdf esplicativi.
C'è anche una cartella con un paio di esempi ... magari trovi qualche cosa che fa al caso tuo ...
Non voglio scoraggiarti ma ... considerando la tua ultima affermazione "... purtroppo non ho nessuna esperienza di programmazione ..." ... la vedo veramente dura. Ti sei scelto un chip (MFRC522) che non è affatto semplice né da configurare né da gestire ... basta guardare la sezione "public" che trovi all'interno del .h ...