ok fin qui tutto ok.
Solo che se per esempio:
#include <Ss_McMajan_Config.h>
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
char st[20];
hc595 My595(6, 5, 4, 1); // latch,clock,data,number of 74hc595
char* aNomi[]={"Ettore", "Jussi", "Easy"};
unsigned long aRfid[]= {0xCD4B4479,0x3BC74379,0xD91390C9};
unsigned long readTag=0;
void setup() {
My595.SendLcdCommand(LCD595_DISPLAY_CLEAR, 0);
My595.DisplayReset(LCD595_BASIC_DISPLAY_INIT | LCD595_MORELINES , 0);
My595.SetBackLight(2, HIGH, 0);
Serial.begin(9600); // Setta la seriale
SPI.begin(); // Setta SPI bus
mfrc522.PCD_Init(); // Setta MFRC522
}
void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) // Look for new cards
{ return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) // Select one of the cards
{ return;
}
readTag = 0; // azzero il contenuto del tag
for (byte i = 0; i < mfrc522.uid.size; i++) {
(readTag =readTag << 8 |mfrc522.uid.uidByte[i]);
My595.SetCursor(0, 0, 2, 0);
My595.DisplayWrite(" Ola ", 0);
My595.DisplayChar(readTag, 0);delay (1000);
}
/* for (byte x=0; x<=2;x++) { // 2 perchè ci sono solo 3 tessere quindi n-1
if (readTag == aRfid[x]) {
My595.SendLcdCommand(LCD595_DISPLAY_CLEAR, 0);
My595.SetCursor(0, 0, 2, 0);
My595.DisplayWrite(" Ola ", 0);
My595.DisplayWrite(aNomi[x], 0);delay (1000);
My595.SendLcdCommand(LCD595_DISPLAY_CLEAR, 0);
My595.SetCursor(0, 0, 2, 0);
My595.DisplayWrite(" cod ", 0);
My595.DisplayChar(readTag, 0);
}}*/
}
ho scritto questa, ma sul display mi appare una lettera e basta.
non ti chiedo di darmi la soluzione, ma un indirizzo per capire, la differenza tra My595.DisplayWrite
e My595.DisplayChar
grazie