Tu alimentes la carte via la sortie 3v3 de l'arduino et tu utilises un buffer logique (HC4050 par exemple) pour "absorber" le 5v en sortie de l'arduino.
Oui mais bon tu n'as que 2 lignes en I2C, donc pour utiliser ton circuit avec du SPI il en faudra au moins deux ...
Alors qu'un HC4050 ça coute rien du tout.
en cherchant sur Google j'ai trouvé plusieurs version de carte RFID 522
ici par exemple elle est directement branché sur l'Arduino sans convertisseur 5-3.3v
mais la mienne n'a pas les mêmes broches j'ai une broche "SDA" et "IRQ" (à la place de "NC" sur la première photo)
mais pas de broche "SS" (Slave Select signal selects salve devices) ???
je branche sur le 4050 les entrées 3,5,7,11,14 sur l'Arduino, les sorties 2,4,6,12,15 sur le RFID
j'alimente le cd4050 et le RFID en 3.3v
je charge un code
/**
* Read a card using a mfrc522 reader on your SPI interface
* Pin layout should be as follows (on Arduino Uno):
* MOSI: Pin 11 / ICSP-4
* MISO: Pin 12 / ICSP-1
* SCK: Pin 13 / ISCP-3
* SS: Pin 10
* RST: Pin 9
*
* Script is based on the script of Miguel Balboa.
* New cardnumber is printed when card has changed. Only a dot is printed
* if card is the same.
*
* @version 0.1
* @author Henri de Jong
* @since 06-01-2013
*/
#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
RFID rfid(SS_PIN, RST_PIN);
int buzzPin = 3;
// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();
}
void loop()
{
if (rfid.isCard()) {
if (rfid.readCardSerial()) {
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* With a new cardnumber, show it. */
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];
//Serial.println(" ");
Serial.println("Cardnumber:");
Serial.print("Dec: ");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");
Serial.print("Hex: ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
//buzzer
analogWrite(3,20);
delay(500);
analogWrite(3,0);
} else {
/* If we have the same ID, just write a dot. */
Serial.print(".");
}
}
}
rfid.halt();
}
Je ne suis pas spécialiste en électronique , je regarde avec un oscilloscope pour comprendre le fonctionnement ...
Sur la pin MISO à vide j'ai un signal modulé en 3v,
si je branche directement sur le MISO coté Arduino le signal chute à 1.2/1.6v ???
en passant par le 4050 le signal MISO coté RFID (broche 15 du 4050) est à 2.6v et coté Arduino (broche 14 du 4050) à 3.3v
le 4050 est il bidirectionnel ?
le MOSI est à 3.3v modulé coté RFID et 5v coté Arduino
le RST reste en 3.3v permanent (sans modulation) et 5v coté Arduino
le RSS est à 3.3v pendant environ 7µs et à 0v 11µs... et 5v coté Arduino
le CLk est à 3.3v modulé et 5v coté Arduino
Constatation : En alim USB le 5v de l'Arduino est à 4.5v / 5V en alim externe.
tout semble bien branché mais toujours rien sur le moniteur série...
Nouvelle carte RFID, pro-mini3.3v, régulateur 5/3.3v..
et tout fonctionne bien
Je test l'ancienne carte RFID et ça fonctionne également, donc j'en déduit que ça venais du branchement avec l'arduino Ethernet...
je vais faire des tests.
édit : je viens de faire le test avec une pro-mini 5v sans CD4050 et ça fonctionne également (avec alim du RFID en 3.3v).
édit2 : le test avec l'Arduino Ethernet sans CD4050 (avec alim du RFID en 3.3v), je change le SS_PIN=10 dans le code en SS_PIN=5 (car le 10 est réservé pour Ethernet) et miracle ça fonctionne bien, certainement un fil défectueux lors du premier essais ???
merci pour toutes ces infos, je vais tenter de me lancer dans la même aventure que toi... pour le moment les pièces sont en commande, mais j'anticipe sur la réalisation (en pensée tout au moins lol), pourrais tu nous donner un petit schéma électrique de tous tes branchements ?
De mon coté, j'ai les même problèmes: deux cartes RFID RC522
J'ai suivi a peu près tout les tutoriaux, les examples, mais aucune reaction!
je n'utilise pas de convertisseur 5->3.3V mais j'utilise l'alim 3.3V,c'est peur être la le problème?
En tout cas, tout les exemples de schema que j'ai pu voir sur le net sont branché directement sans convertisseur, mais pas de reaction. Une bonne ame pourrait me donner un petit conseil?