Problema RFID RC522

Salve ho un problema, non riesco a importare la libreria RFID.h dentro lo sketch.. Nonostante penso di fare nel modo corretto..

Ho scaricato la libreria, l'ho estratta dentro la cartella delle librerie di arduino ma non riesco ad usarla..
Ho già importato altre librerie a volte e sempre son riuscito ad utilizzarle.. Come mai ora no?

Ma l'IDE che errore ti dà ? Quello ci dà una indicazione, altrimenti tiriamo a indovinare. :grin:

Praticamente ho comprato questa scheda qui:

http://www.ebay.it/itm/121165832932?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

C'e tanto di scritta compatibile con arduino.. quindi sono andato sul sicuro.
Comunque ho scaricato la libreria indicata nella descrizione:
https://github.com/miguelbalboa/rfid/archive/master.zip
Che poi si chiama "Rfid-master" l'ho estratta nelle librerie e ad un primo avvio di arduino mi dice che i nomi delle librerie possono solo contenere numeri o lettere, quindi ho rinominato la libreria da "Rfid-master" in "RFID".
Avvio arduino e non mi da più quell'avviso, a questo punto vado in sketch, importa libreria, trovo la mia "RFID", ma cliccandoci su nella riga di codice non mi si evidenzia in arancione ma rimane come, non attiva.. Come posso fare?

PS: Disponibile supporto con Teamwiever.

Sempre in quel sito c'e scritto, codice di esempio e rimanda al seguente link:
http://www.etang.co.uk/datasheet/41-2-4/arduino%20sketch.txt

Provo ad aprirlo e anche qui noto l'include SPI e RFID.. SPI funziona ma RFID no..

Un altra cosa che comunque ho notato ora è che sempre in quel file di testo (Il codice in pratica), spiega come collegare i cavi.
E dice di collegare: SDA con D10. -.- Ma in quel prodotto non c'e SDA.. Comunque ho letto un po in giro e non dovrebbe essere un grande problema xke comunque al D10 va sempre collegato NSS o SS.. Quindi penso che SDA sia l'equivalente di SS..

Prova banalmente a rinominare la cartella da RFID a Rfid. (l'ide deve essere chiuso)
A volte l'IDE fa i capricci con le maiuscole/minuscole (deve anche funzionare in Linux/Mac sensibili al maiuscolo/minuscolo)

Perdona, ma oltre ad averla scaricata (... la libreria), ti sei preso la briga di guardare cosa c'è dentro ???

Perché ... con il nome RFID non c'è assolutamente nulla :astonished:

Quello che c'è dentro ha nome MFRC522.cpp e MFRC522.h ... quindi ... la cartella si DEVE chiamare MFRC522 e, nell'include, puoi solo avere :

#include "MFRC522.h"

Il codice che riporti d'esempio ... chiaramente NON fa riferimento a quella libreria, visto che i nomi ... sono totalmente diversi ... :roll_eyes:

Guglielmo

… per inciso … gli esempi che sono in quella libreria riportano esattamente :

#include <SPI.h>
#include <MFRC522.h>

Ah … SDA NON ha nulla a che vedere con SS (che è del bus SPI) ed è uno dei due segnali FONDAMENTALI del bus I2C … :roll_eyes:

Quell’oggetto si collega in SPI e quindi avrà SS, MOSI, MISO e SCK e lo devi collegare ai relativi pin del tuo Arduino !

Guglielmo

gb01 speriamo tu abbia ragione.. Comnque si ho provato a dare un occhiata dentro la libreria, ma non so come funzionano.. Però aprendo la cartella, trovo i seguenti file:
RFID.cpp
RFID.h
TODO.md
poi keywords e
una cartella example..

Tu non li hai visti?


Aggiorno.. Omg, ma che diavoleria è mai questa -.- Ho provato a riscaricare que file e effettivamente non ce RFID ma quello che hai detto tu -.- O.O Rimango sconcertato quanto te, vabbe ora riprovo allora e vi faccio sapere, grazie x avermelo fatto notare!

HO RAGIONE :grin: :grin: :grin:

E, si, certo che li ho visti, molti sono ininfluenti alla discussione (... ma magari faresti bene a leggerli, assieme agli esempi, perché ti danno alcune spiegazioni) ...

... ma nella lib che ho scaricato da quel link i due files si chiamano come ti ho idicato io e non RFID ... :astonished:

Sicuro di aver linkato al giusta libreria ???

Guglielmo

P.S. 2 : Il file keywords.txt serve solo a colorare le parole chiave all'interno dell'IDE ... quindi lo puoi ignorare.

... ho idea che tu hai una VECCHIA versione e non hai scaricato quella del link ! In quella che si scarica dal link c'è una nota ben precisa (file changes.txt ... che tu non indichi ...) :

Renamed library from RFID to MFRC522 (RFID seemed to generic).
Register names changed to comply with datasheet.
Global defines moved into class.
All constants, functions and parameters are now commented in English.
Code refactored, most function names have changed.
Now supports ISO-14443-3 anti collission and 4/7/10 byte UIDs (cascade levels).
Added functions for MIFARE Classic Decrement/Increment/Restore/Transfer and MIFARE Ultralight Write.
New examples written.

Come vedi ... i nomi sono cambiati (... e non solo quelli) ... ]:smiley:

Guglielmo

Sto sclerando..
Allora tu hai praticamente ragione, (Mi sto avvicinando alla soluzione!(Evvai..) Sono io però quello che non riesce a capire come fare.

In pratica dentro questo file:https://github.com/miguelbalboa/rfid/archive/master.zip trovo MFRC522.h e MFRC522.cpp
insomma tutto come hai detto tu e fin qui tutto ok.
Ora includendo MFRC522.h al posto di RFID.h me la trova.. E menomale!
Quello che non riesco a capire è come mai, a questa pagina:
http://www.ebay.it/itm/121165832932?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
dove si trova sia il link per la libreria, sia il link per lo sketch d'esempio, aprendo lo sketch d'esempio, ovvero:
http://www.etang.co.uk/datasheet/41-2-4/arduino%20sketch.txt
si vede chiaramente che viene inclusa la libreria RFID.h -.- (????)

Per riuscire a concludere qualcosa sono andato ad intuito e ho prima di tutto modificato l'include, da RFID.h a MFRC522.h, ma mi da ovviamente errore nel codice.. Nei punti in cui vengono scritti RFID o RC522 evidenziandomeli e dandomi l'errore:
'RFID' does not name a type.

Ho letto ora il tuo ultimo post (Stavo scrivendo questo nelfrattempo) e comunque si ho risolto per quanto riguarda quel file, avevi ragione era vecchio, o per meglio dire l'avevo scaricato da un altra parte erroneamente.. Ora chiedo aiuto per quanto riguarda il problema presentatosi soopracitato...

Purtroppo ... quell'esempio è basato sulla vecchia versione della libreria di allora e ... i nomi sono cambiati ...

Se vuoi usare quell'esempio OGGI, ti tocca capire la corrispondenza dei vari nomi e sistemarli :frowning:

Guglielmo

Edit : O provare ad usare la vecchia libreria che tu hai chiamando la cartella RFID così come si chiamano il vecchio .h ed il vecchio .cpp

Ci sto provando ma non riesco.. Non trovo neanche alcune funzioni che c'erano nel RFID vecchio nel suo corrispondente MFRC522 .... Scusami, non posso usare la libreria RFID con dentro il SUO RFID, così almeno evito tutto questo?

EnigmaAren92:
Scusami, non posso usare la libreria RFID con dentro il SUO RFID, così almeno evito tutto questo?

Si, infatti te l'ho suggerito nel posto precedente ... ma ho idea che tu lo avessi già letto ... :grin:

Guglielmo

Ecco, però qui siamo d’accapo per quanto riguarda il problema… Siamo tornati all’inizio, non mi carica la libreria…

In pratica ho scaricato questa libreria:
http://www.electrodragon.com/w/File:Rfid-master.zip
dentro ho trovato i file RFID, sia il cpp che il .h
Andando però da arduino a importare la libreria non me la fa importare, rimane non colorato…

Guarda che il discorso del colorato non vuol dire nulla. Nella libreria c'e' un file che dichiara quali parole colorare. Se il file manca la libreria funziona lo stesso.

Come t'ho già spiegato, il "colorato" NON significa nulla ... è dato solo dalla presenta o meno del file keywords.txt, ma se l'autore NON include tale file ... le cose NON vengono colorate.

Quindi ... la colorazione non ha nulla a che vedere con l'import o meno della lib ... :wink:

Usala e vedi se escono degli errori ...
... e, casomai, fai il copia/incolla per mostrarceli. :slight_smile:

Guglielmo