Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERÍA EN MECATRÓNICA
PRESENTA:
ASESOR:
TUTOR:
Agradecimientos ó Dedicatorias
Le agradezco a todos mis asesores y maestros que me ayudaron en mi
formación académica que me proporcionaron los conocimientos necesarios
para poder sacar adelante este proyecto el cual fue finalizado exitosamente.
Tabla de Contenido
Contenido
Introducción..........................................................................................................5
Capítulo I Generalidades de la empresa..............................................................6
Datos generales....................................................................................................6
Antecedentes Históricos.......................................................................................6
Misión....................................................................................................................7
Visión....................................................................................................................7
Valores..................................................................................................................7
Productos o servicios que ofrece.........................................................................7
Organigrama.........................................................................................................8
Capítulo II: Planteamiento de la Estadía Profesional...........................................8
Descripción de la Problemática:...........................................................................8
Objetivos:..............................................................................................................9
Justificación:.........................................................................................................9
Viabilidad:.............................................................................................................9
Resultados esperados:.........................................................................................9
Metodología a aplicar:........................................................................................10
Capítulo III. Desarrollo de la estadía profesional...............................................10
Materiales y costos.............................................................................................22
Diseño y Planos..................................................................................................23
Capturas de diseño de componentes.................................................................25
Capítulo IV. Resultados y conclusiones.............................................................34
Anexos................................................................................................................36
Cronograma........................................................................................................43
Carta...................................................................................................................43
Referencias bibliográficas...................................................................................43
Introducción
La empresa busca desarrollar un prototipo de una chapa con control digital
de apertura en la cual se utilizarán materiales muy comunes, esto para
economizar el producto y a su vez innovarlo para que pueda utilizarse en
cualquier tipo de puerta de acceso o de alguna caja de valor.
Antecedentes Históricos
La empresa se creó en febrero de 2012, conformado por 2 personas físicas en
copropiedad, manteniéndose así hasta la fecha. La misión principal de la
empresa es proveer a las pequeñas y medianas empresas soluciones en
tecnologías informáticas a precios accesibles, así como un soporte
especializado
Misión
Proveer a las Pequeñas y Medianas Empresas de soluciones en tecnológicas a
precios accesibles, así como mejoras constantes a los modelos de trabajo de las
mismas mediante el desarrollo de Software y Consultoría especializada.
Visión
Ser una sociedad proveedora de soluciones en tecnologías de informática y
computación de controles internos y automatización de procesos de producción,
almacenamiento, distribución y administración de las Pymes que potencialicen a
las empresas.
Valores
• Honestidad y Compromiso: En las actividades que se desarrollen para
nuestros clientes.
Organigrama
Por eso que a partir de los antecedentes se decide que la mejor decisión es
empezar por los diseños de la pieza y después con la continuación de mecanismo
y diseño eléctrico, así como cálculos. La programación se lleva un tiempo
considerable en el cual se incluyen modificaciones o correcciones para un buen
desempeño y no altere el orden del mecanismo.
Paso 1. Primero hay que grabar las huellas dactilares en el sensor biométrico.
Para ello necesitamos la librería de Adafruit.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
uint8_t id;
uint8_t getFingerprintEnroll();
void setup()
{
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(500);
Serial.begin(9600);
Serial.println("RefactroN: Registrando Huellas Dactilares con AS606");
if (finger.verifyPassword()) {
Serial.println("Sensor de Huellas detectado!");
} else {
Serial.println("No se ha detectado Sensor de Huellas :(");
while (1);
}
}
uint8_t readnumber(void) {
uint8_t 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;
}
}
}
while (! getFingerprintEnroll() );
}
uint8_t getFingerprintEnroll() {
int p = -1;
Serial.print("Esperando por una huella valida para registrar con el ID #");
Serial.println(id);
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) { case
FINGERPRINT_OK:
Serial.println(".");
Serial.println("Imagen tomada");
break; case
FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); break; case
FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success! p =
finger.image2Tz(1); switch
(p) { case
FINGERPRINT_OK:
Serial.println("Imagen
convertida"); break; case
FINGERPRINT_IMAGEMESS:
Serial.println("Imagen borrosa");
return p; case
FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); return p; case
FINGERPRINT_FEATUREFAIL:
Serial.println("No encontradas caracteristicas de huellas
dactilares"); return p; case FINGERPRINT_INVALIDIMAGE:
Serial.println("No encontradas caracteristicas de huellas
dactilares"); return p; default:
Serial.println("Unknown error");
return p;
}
Serial.println("Retirar dedo");
delay(2000);
p = 0;
while (p != FINGERPRINT_NOFINGER) {
p = finger.getImage();
}
Serial.print("ID "); Serial.println(id);
p = -1;
Serial.println("Colocar el mismo
dedo"); while (p !=
FINGERPRINT_OK) { p =
finger.getImage();
switch (p) { case
FINGERPRINT_OK:
Serial.println(".");
Serial.println("Imagen tomada");
break; case
FINGERPRINT_NOFINGER:
Serial.print(".");
break; case
FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); break; case
FINGERPRINT_IMAGEFAIL:
Serial.println("Imagen error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success! p =
finger.image2Tz(2); switch
(p) { case
FINGERPRINT_OK:
Serial.println("Imagen
convertida"); break; case
FINGERPRINT_IMAGEMESS:
Serial.println("Imagen borrosa");
return p; case
FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); return p; case
FINGERPRINT_FEATUREFAIL:
Serial.println("No encontradas caracteristicas de huellas
dactilares"); return p; case FINGERPRINT_INVALIDIMAGE:
Serial.println("No encontradas caracteristicas de huellas
dactilares"); return p; default:
Serial.println("Unknown error");
return p;
}
// OK converted!
Serial.print("Creando modelo para #"); Serial.println(id);
p = finger.createModel();
if (p == FINGERPRINT_OK) {
Serial.println("Huella dactilares SI coinciden!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_ENROLLMISMATCH) {
Serial.println("Error Huella NO coincide!");
return p;
} else {
Serial.println("Unknown error");
return p;
}
Serial.print("ID ");
Serial.println(id); p =
finger.storeModel(id); if (p ==
FINGERPRINT_OK) {
Serial.println("Registrado!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_BADLOCATION)
{ Serial.println("No se puede guardar en el registro");
return p;
} else if (p == FINGERPRINT_FLASHERR) {
Serial.println("Error guardando en la memoria flash");
return p;
} else {
Serial.println("Unknown error");
return p;
}
}
Paso 2. Conexión del arduino y el sensor biométrico
cable rojo: V+
cable amarillo: TX
cable blanco: RX
cable negro: GND
Para conectar el
sensor de huella
dactilar al arduino
es de la siguiente
manera:
Cable rojo : pin 5v
cable negro: pin GND
cable amarillo: pin 2
cable blanco pin 3
Paso 3. Abrir el Monitor serie de Arduino para empezar a grabar las huellas y
seguir las instrucciones:
Paso 4. Para guardar más de una huella, el sensor permite hasta 162
huellas, volver a teclear ahora el número de la siguiente posición donde se
requiere guardar, que en este ejemplo seria la posición 2, tecleamos 2 y
presionar enter y seguir de nuevo las mismas instrucciones hasta grabar
todas las huellas necesarias, siempre indicando una posición diferente para
que no se sobrescriba una ya guardada.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
int getFingerprintIDez();
void setup()
{
Serial.begin(9600);
Serial.println("fingertest");
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1);
}
Serial.println("Waiting for valid finger...");
}
uint8_t getFingerprintID()
{ uint8_t p =
finger.getImage(); switch (p)
{ case
FINGERPRINT_OK:
Serial.println("Image taken");
break; case
FINGERPRINT_NOFINGER:
Serial.println("No finger detected");
return p; case
FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); return p; case
FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK success!
p = finger.image2Tz();
switch (p) { case
FINGERPRINT_OK:
Serial.println("Image converted");
break; case
FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p; case
FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication
error"); return p; case
FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint
features"); return p; case
FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint
features"); return p; default:
Serial.println("Unknown error");
return p;
}
// OK converted! p =
finger.fingerFastSearch(); if
(p == FINGERPRINT_OK) {
Serial.println("Found a print match!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
}
// returns -1 if failed, otherwise returns ID
# int getFingerprintIDez() { uint8_t p =
finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of ");
Serial.println(finger.confidence); digitalWrite(13, HIGH);
delay(3000); digitalWrite(13, LOW);
return finger.fingerID;
}
Materiales y costos
DESCRIPCIÓN COSTO
2 SOLENOIDE 12 V $ 150.00
TOTAL $ 1,631.88
Diseño y Planos
A continuación, se presentará el orden en el que comenzó el diseño
Módulo mosfet
Referencias bibliográficas
arduino . (2004). introduccion a la programacion . canada:
Éditions de l'Envolée. arduino. (2004). fingerprint [Pdf] (Vol. 1).
Recuperado dehttps://fingerprint.com arduino. (2003, noviembre).
ZFM user manualV15 (1). Recuperado
dehttps://ZFMusermanualV15.com