module) with a Digital Fingerprint sensor,but I can't compile it, this is the Error:
Arduino:1.8.7 (Windows 10), Tarjeta:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
C:\Program Files (x86)\Arduino\libraries\Refactron_Fingerprint\Refactron_Fingerprint.cpp:3:24: fatal error: util/delay.h: No such file or directory
#include <util/delay.h>
^
compilation terminated.
exit status 1
Error compilando para la tarjeta NodeMCU 1.0 (ESP-12E Module).
and this is the sketch:
#include <Refactron_Fingerprint.h>
#include <SoftwareSerial.h>
int id;
// pin #2 - Entrada desde el Sensor
// pin #3 - Salida de desde Arduino
SoftwareSerial MySerial(2, 3);
Refactron_Fingerprint finger = Refactron_Fingerprint(&MySerial, 5);
void setup()
{
Serial.begin(57600);
Serial.println("Refactron: Buscando Sensor de Huella");
//Setea la velocidad de comunicacion con el sensor de huella
//Iniciar verificando los valores de 57600
finger.begin(57600);
if (finger.VerificarClave()) {
Serial.println("Sensor de Huella RFN150 Encontrado ");
} else {
Serial.println("Error: No fue posible encontrar al sensor de Huella ");
while (1);
}
}
void loop()
{
Serial.println("Ingrese la posicion donde va a guardar la huella (0-299): ");
id = readnumber();
Serial.print("Posicion ID #");
Serial.println(id);
while (getFingerprintEnroll(id));
}
int readnumber(void) {
int num = 0;
boolean validnum = false;
while (1) {
while (! Serial.available());
char c = Serial.read();
if (isdigit(c)) {
num *= 10;
num += c - '0';
validnum = true;
} else if (validnum) {
return num;
}
}
}
boolean getFingerprintEnroll(int id)
{
int p = -1;
Serial.println("Esperando una huella valida para guardar");
while (p != SDACTILAR_OK) {
p = finger.CapturarImagen();
switch (p) {
case SDACTILAR_OK:
Serial.println(" ");
Serial.println("Imagen Tomada");
break;
case SDACTILAR_D_NO_DETECTADO:
Serial.print(".");
//Serial.println("No se encuentra al dedo");
break;
case SDACTILAR_PAQUETE_IN_ERROR:
Serial.println("Error al recibir el paquete");
break;
case SDACTILAR_IMG_ERROR:
Serial.println("Error al determinar la imagen");
break;
default:
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
break;
}
}
// OK success!
p = -1;
p = finger.GenerarImg2Tz(1);
switch (p) {
case SDACTILAR_OK:
Serial.println("Imagen Convertida");
break;
case SDACTILAR_IMGCONFUSA:
Serial.println("Imagen muy confusa");
return false;
case SDACTILAR_PAQUETE_IN_ERROR:
Serial.println("Paquetes Errados");
return false;
case SDACTILAR_RASGOSERROR:
Serial.println("No es posible detectar los rasgos caracteriticos");
return false;
case SDACTILAR_IMGINVALIDA:
Serial.println("Imagen invalida");
return false;
default:
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
return false;
}
//------------------------------------
Serial.println("Retire el Dedo"); Serial.println("");
delay(2000);
p = -1;
while (p != SDACTILAR_D_NO_DETECTADO) {
p = finger.CapturarImagen();
}
p = -1;
Serial.println("Por favor vuelva a poner nuevamente el Dedo");
while (p != SDACTILAR_OK) {
p = finger.CapturarImagen();
switch (p) {
case SDACTILAR_OK:
Serial.println(" ");
Serial.println("Imagen Tomada");
break;
case SDACTILAR_D_NO_DETECTADO:
Serial.print(".");
//Serial.println("No se encuentra al dedo");
break;
case SDACTILAR_PAQUETE_IN_ERROR:
Serial.println("Error al recibir el paquete");
break;
case SDACTILAR_IMG_ERROR:
Serial.println("Error al determinar la imagen");
break;
default:
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
break;
}
}
// OK success!
p = -1;
p = finger.GenerarImg2Tz(2);
switch (p) {
case SDACTILAR_OK:
Serial.println("Imagen Convertida");
break;
case SDACTILAR_IMGCONFUSA:
Serial.println("Imagen muy confusa");
return false;
case SDACTILAR_PAQUETE_IN_ERROR:
Serial.println("Paquetes Errados");
return false;
case SDACTILAR_RASGOSERROR:
Serial.println("No es posible detectar los rasgos caracteriticos");
return false;
case SDACTILAR_IMGINVALIDA:
Serial.println("Imagen invalida");
return false;
default:
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
return false;
}
// OK converted!
p = -1;
p = finger.CrearModelo();
if (p == SDACTILAR_OK)
{
Serial.println("Muestras de Huellas si Coinciden!"); Serial.println("");
} else if (p == SDACTILAR_PAQUETE_IN_ERROR) {
Serial.println("Error de comunicacion");
return false;
} else if (p == SDACTILAR_ENROLL_MISMATCH) {
Serial.println("Muestras de Huellas NO Coinciden!"); Serial.println("");
return false;
} else {
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
return false;
}
Serial.print("ID #"); Serial.println(id);
p = finger.GuardarModelo(id);
if (p == SDACTILAR_OK) {
Serial.println("EXITO - Huella Guardada!"); Serial.println(""); delay(1000);
} else if (p == SDACTILAR_PAQUETE_IN_ERROR) {
Serial.println("Error de comunicacion");
return false;
} else if (p == SDACTILAR_ERROR_UBICACION) {
Serial.println("No se puede ubicar en la ubicacion asignada");
return false;
} else if (p == SDACTILAR_ERROR_FLASH) {
Serial.println("Error escribiendo en la flash");
return false;
} else {
Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
return false;
}
return false;
}