Resumen del proyecto
Recordando un poco sobre lo que trata nuestro proyecto. Es
sobre el encendido por medio del reconocimiento de huella dactilar de un
automóvil. No hemos realizado ningún cambio con respecto a la entrega anterior.
Avance con respecto a la planeación.
Hasta el día de hoy hemos avanzado significativamente en
nuestro proyecto, luego de 2 meses de espera por la llegada del fingerprinter.
Hemos estado realizando investigaciones sobre el uso de
huellas dactilares en la seguridad y hemos encontrado datos importantes que
sustentan nuestro proyecto, alguna de ellas son:
· * La Huella es única
· *Las características usadas para la
identificación no varían con el tiempo
La técnica a utilizar es el reconocimiento de patrones.
Existen métodos manuales para la búsqueda de huellas
dactilares en colecciones, también existen métodos automatizados de búsqueda
precisa de una representación.
Hay características primarias para el reconocimiento que son
las crestas y los valles.
También hemos encontrado que existen 6 diferentes tipos de
huella como vemos a continuación.
Para compararlas se crea una imagen o se toma una fotografía de la huella y se comparan ciertos puntos antes mencionados que hacen característica a esa huella.
Nos hemos encontrado con algunos problemas como lo ha sido
la alimentación de el arduino ya dentro del vehículo para ello la solución que
tenemos al día de hoy es utilizar una pila de 9V con la desventaja que se tendría
que estar cambiando cada vez que se le agote la pila.
Lo que nos falta al día de hoy es empezar a realizar pruebas
e instalar el sistema en el vehículo.
Las herramientas utilizadas siguen siendo las mismas que ya
se han mencionado en la entrega anterior, de igual manera las mencionamos
nuevamente a continuación:
· * Fingerprinter
· *Arduino UNO
· * Librerías Fingerprinter
· *Arduino IDE
· * Lenguaje de programación Processing y C++
* Información respecto a reconocimiento de patrones.
El código esta casi listo, aun tiene algunos muchos bugs que necesitan reparase pero la función esta prácticamente terminada, el código esta extraño porque esta construido en base a la librería de arduino y la librería del fingerpinter, colocaremos algunos pedazos del mismo por cuestiones educativas.
Metodos en C++
//Obtiene la imagen del fingerprinter
uint8_t Adafruit_Fingerprint::getImage(void) {
uint8_t packet[] = {FINGERPRINT_GETIMAGE};
writePacket(theAddress, FINGERPRINT_COMMANDPACKET, 3, packet);
uint8_t len = getReply(packet);
if ((len != 1) && (packet[0] != FINGERPRINT_ACKPACKET))
return -1;
return packet[1];
}
//Hace la búsqueda rápida
uint8_t Adafruit_Fingerprint::fingerFastSearch(void) {
fingerID = 0xFFFF;
confidence = 0xFFFF;
// high speed search of slot #1 starting at page 0x0000 and page #0x00A3
uint8_t packet[] = {FINGERPRINT_HISPEEDSEARCH, 0x01, 0x00, 0x00, 0x00, 0xA3};
writePacket(theAddress, FINGERPRINT_COMMANDPACKET, sizeof(packet)+2, packet);
uint8_t len = getReply(packet);
if ((len != 1) && (packet[0] != FINGERPRINT_ACKPACKET))
return -1;
fingerID = packet[2];
fingerID <<= 8;
fingerID |= packet[3];
confidence = packet[4];
confidence <<= 8;
confidence |= packet[5];
return packet[1];
}
El código esta casi listo, aun tiene algunos muchos bugs que necesitan reparase pero la función esta prácticamente terminada, el código esta extraño porque esta construido en base a la librería de arduino y la librería del fingerpinter, colocaremos algunos pedazos del mismo por cuestiones educativas.
Metodos en C++
//Obtiene la imagen del fingerprinter
uint8_t Adafruit_Fingerprint::getImage(void) {
uint8_t packet[] = {FINGERPRINT_GETIMAGE};
writePacket(theAddress, FINGERPRINT_COMMANDPACKET, 3, packet);
uint8_t len = getReply(packet);
if ((len != 1) && (packet[0] != FINGERPRINT_ACKPACKET))
return -1;
return packet[1];
}
//Hace la búsqueda rápida
uint8_t Adafruit_Fingerprint::fingerFastSearch(void) {
fingerID = 0xFFFF;
confidence = 0xFFFF;
// high speed search of slot #1 starting at page 0x0000 and page #0x00A3
uint8_t packet[] = {FINGERPRINT_HISPEEDSEARCH, 0x01, 0x00, 0x00, 0x00, 0xA3};
writePacket(theAddress, FINGERPRINT_COMMANDPACKET, sizeof(packet)+2, packet);
uint8_t len = getReply(packet);
if ((len != 1) && (packet[0] != FINGERPRINT_ACKPACKET))
return -1;
fingerID = packet[2];
fingerID <<= 8;
fingerID |= packet[3];
confidence = packet[4];
confidence <<= 8;
confidence |= packet[5];
return packet[1];
}
No hay comentarios:
Publicar un comentario