Paso 8: Biometría y pantalla OLED
Lector biométrico (huella digital)
El lector de huella digital GT-511C1R que seleccioné de Sparkfun era muy fácil de integrar, dada la disponibilidad de una biblioteca de Arduino y numerosos ejemplos de código en la web (incluyendo esta puerta de garaje gran Instructable). Seleccioné el GT-511C1R sobre su hermano GT - 511 3 simplemente para caso precio y uso. Los más caros 3 511 tiene 10 x el almacenamiento de la huella digital, pero si no es idéntico del GT-511C1R. Ambos lectores de rock la misma interfaz serial con reconocimiento de huella digital de 360 º y funcionamiento idéntica aceptación positiva/negativa.
Inscripción
Para la inscripción inicial, agregué lógica para comprobar el número de huellas digitales inscritos en el dispositivo. Si ese número es 0, comenzará la inscripción inicial de la primera huella en lugar de pedir autenticación. Después de eso, no hay actualmente un punto de partida de inscripción excepto to explícitamente ejecutar la función EnrollFingerprint() en el evento de ciclo de vida de setup(), temporalmente.
Mejora futura: Utilizar el interruptor de láminas magnético para iniciar la inscripción, cuando se desencadena después de entrar en el estado de ejecución autenticado.
Pantalla OLED
La pantalla OLED de 128 x 64 pixeles que utiliza es muy flexible, puede controlarse mediante señales de 3.3-5v TTL y soporta SPI o I2C protocolos. Para guardar un arduino pin y ya que no necesita el refresco más rápido, me decanté por el interfaz2C. Esto requirió dos pastillas de puentes de soldadura juntos en la parte posterior de la pantalla de Adafruit (fotografiada).
Imagen de arranque
Para crear la imagen personalizada en la imagen, crear un mapa de bits monocromo en su foto editor de elección (buena ole moda BMP) y ejecutarlo a través del programa de java Img2Code dentro de la biblioteca de Adafruit_GFX disponible en su Github. Esto producirá una matriz de bytes hex que es una representación binaria de la imagen en el código. Esto se almacenarán en espacio PROGMEM en el arduino para que no consumir rápidamente todos nuestro SRAM. Una imagen completa de 128 x 64 es 1kB en tamaño, que no es enorme en los 28kB de espacio de programa, pero inmensa si se dejan en el miserable 2,5 kB de SRAM. He dejado mi imagen y la imagen de faro más pequeño en el proyecto de Arduino conectado a este Instructable para que pueda ver la definición real y el uso de las matrices de bytes.
Mostrar más aprendizaje
El resto del código de dibujo en el proyecto o cualquier otra cosa disponible puede encontrarse en este estupendo tutorial de Adafruit sobre el uso de que su OLED muestra con sus propias bibliotecas.