ese ejemplo no funciona, pelie bastante, y una de las causas es que no envia los valores como dice la documentacion.
void loop()
{
int i;
byte HayLectura = 0;
int index = 0;
boolean reading = false;
char readByte;
// Seccion critica no interrumpir con nada
// noInterrupts();
if (Serial.available() > 0 )
{
if ( (val = Serial.read()) == 02 )
{ //look for Start Of Text marker
Serial.print("[SOT] ");
// read until you get End Of Text
for ( i = 0; (val = Serial.read()) != 03 ; i++)
{
Serial.print(val, HEX);
Serial.print(" ");
IDstring = val;
- }*
- Serial.println("[EOT]");*
- Serial.println();*
- Serial.print(" IDString[");*
- IDstring[10] = 0x00; // tie off IDstring at the CR-LF*
- HayLectura = 1;*
- Serial.print(IDstring);*
- Serial.println("] ");*
- Serial.println();*
- lcd.cursorTo(2, 0);*
- lcd.printIn(IDstring);*
- }*
- }*
- //rehabilitar interrupcione*
// interrupts(); - if (HayLectura == 1)*
- {*
- if (CompararTarjeta())*
- {*
- lcd.clear();*
- lcd.cursorTo(1, 0);*
- lcd.printIn("Bienvenido");*
- lcd.cursorTo(2, 0);*
- lcd.printIn(IDstring);*
- BuzzerCorrecto();*
- ActivarRele();*
- }*
- else*
- {*
- lcd.clear();*
- lcd.cursorTo(1, 0);*
- lcd.printIn("Tarjeta Invalida");*
- lcd.cursorTo(2, 0);*
- lcd.printIn(IDstring);*
- BuzzerIncorrecto();*
- } *
- HayLectura = 0;*
- }*
}