Está en la página 1de 133

.

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO


INDUSTRIAL

DIRECCIÓN ZONAL LIMA CALLAO

Proyecto de Innovación y/o Mejora


Nivel Profesional Técnico

ESCUELA ELECTROTECNIA / CFP INDEPENDENCIA

Carrera: ELECTRÓNICA INDUSTRIAL

SISTEMA AUTOMÁTICO DE DISPENSACIÓN Y


CONTROL DE MATERIALES PARA LA
FABRICACIÓN DE TARJETAS ELECTRÓNICAS
CON TECNOLOGÍA RFID

Autor : Michael Llacchua chira

Lima, Perú

2019

1
INDICE

1.1. Razón social y dirección de la empresa. 6


1.2. Misión, Visión, Objetivos, Valores de la empresa. 6
1.3. Productos, mercado, clientes. 7
1.4. Estructura de la Organización. 8
2.1 Identificación del problema técnico en la empresa. 10
2.2 Objetivos del Proyecto de Innovación y/o Mejora. 13
2.3 Antecedentes del Proyecto de Innovación y/o Mejora. 13
2.4 Justificación del Proyecto de Innovación y/o Mejora. 14
2.5 Marco Teórico y Conceptual. 14
2.5.1 Fundamento teórico del Proyecto de Innovación y Mejora. 14
3.1 Mapa del flujo de valor actual y/o diagrama de proceso actual. 22
3.2 Efectos del problema en el área de trabajo. 25
3.3 Priorización de causas raíces. 26
3.4 Priorización de causas raíces 27
4.1 Plan de acción de la Mejora propuesta. 31
4.2 Consideraciones técnicas, operativas y ambientales 42
4.3 Recursos técnicos para implementar la mejora propuesta. 43
4.4 Mapa de flujo de valor de la situación mejorada o diagrama de
proceso mejorado. 48
4.5 Cronograma de ejecución de la mejora. 49
4.6 Aspectos limitantes de la implementación de la mejora. 50
5.1 Costo de materiales. 52
5.2 Costo de mano de obra. 54
5.3 Costo de máquinas, herramientas y equipos. 54
5.4 Otros costos de implementación de la Mejora. 54
5.5 Costo total de la implementación de la Mejora. 55
6.1 Beneficio técnico y/o económico esperado de la Mejora. 57
6.2 Relación Beneficio. 59
7.1 Conclusiones respecto a los objetivos del Proyecto de Innovación y/o Mejora. 61
8.1 Recomendaciones para la empresa respecto del Proyecto de Innovación.
63

2
Resumen

Problema: La demora en el montaje de tarjetas electrónicas ya que la


contabilización, reconocimiento y la dispensación de los componentes necesarios
para las tarjetas, se realiza de manera manual lo cual no es muy conveniente para
el tamaño de pedidos que se necesita culminar, esto genera perdida de horas
hombre que puede aprovecharse en la etapa de montaje u soldado de la tarjeta.

Objetivo general: implementar un sistema automático que realice el


abastecimiento de los materiales necesarios para la fabricación de determinadas
tarjetas, mediante la lectura de un tag el cual contendrá los datos de los
materiales y las cantidades específicas para cada tipo de tarjeta a elaborar para
agilizar la producción y evitar pérdidas de material, a su vez este sistema llevara
un control del stock de materiales para no quedar desabastecidos.
Antecedentes:
-Adecuación de la tecnología RFID para el control y gestión de inventariado en
almacenes.
-Automatización de ensamblaje y reconocimiento de tarjetas electrónicas de alta
gama en la empresa Bosch.
-La gran importancia de la Tecnología RFID en la industria 4.0 como llave de
acceso para control de proceso productivo y almacenamiento de información para
clasificar diferentes tipos de producción.
Analisis de la Mejora:

Este sistema tiene como principal componente la tecnologia RFID,en donde el el


tag será quien contenga todos los datos necesarios como el tipo y la cantidad
de componentes necesarios para cada tipo de tarjeta, estos datos seran leidos
por un modulo y asu vez enviados a un microcontrolador el cual mediante la
logica programada accionará unos servomotores, los cuales abriran entre todos
los gabinetes, solo los que contengan los componentes previamente leidos.

En un display se mostraran las cantidades necesarias que se debe retirar de


cada gabinete aperturado y en un una pantalla LCD se llevara el control del stock
de material con el cual se dispone en cada gabinete,cuando el stock de cierto

3
gabinete llegue a un limite inferior el sistema me avisara mediante una alarma
que se debe de comprar mas material para no quedar desabastecido y asi nunca
pare o demore la produccion.

Relación Beneficio/Costo

Beneficio neto total = S/ 26,448.00

Costo Innovación = S/ 1,730.70

Beneficio Neto total


Beneficio/Costo = = 15.29
Costo Implementación

Costo Implementación
Tiempo.de.Recuperación = = 1.57 Meses = 47.1 dias
Beneficio Neto

4
CAPÍTULO
I

5
GENERALIDADES DE LA EMPRESA
1.1 MC. ELECTRONICS S.A.C. JR. PARURO NRO. 1314 INT. 126 LIMA - LIMA
– LIMA

1.2 Misión, Visión, Objetivos, Valores de la empresa.

MISION: Disponer a nuestros clientes la más amplia gama de productos


electrónicos y soluciones que estén de acuerdo con la tecnología y la
calidad requerida. Considerando a nuestros trabajadores como pieza
clave para el desarrollo de la empresa, brindando beneficios laborales,
derechos fundamentales y capacitaciones constantes las cuales
ayudaran al crecimiento personal y profesional de nuestro personal
calificado.

VISION: Ser una de las empresas líderes en el país a nivel de producción y venta
en la industria electrónica, para satisfacer las necesidades de futuros
clientes con productos acorde a la tecnología actual. Promover el
desarrollo técnico y profesional de sus trabajadores, reconociendo su
esfuerzo para alcanzar y lograr metas laborales, profesionales y
personales

OBJETIVOS ESTRATEGICOS: Ser reconocidos fácilmente por el cliente


posicionando nuestra marca dentro del segmento líder del mercado.
Implementar nuevas tecnologías en nuestros procesos productivos.
Capacitar a nuestro personal, potenciando los valores de
profesionalismo calidad y servicio. Formar asociaciones con los
mejores proveedores del mercado para proporcionar un valor agregado
a los productos y soluciones que ofrecemos. Promover el desarrollo
sostenible, respetando el medio ambiente en todas las etapas
involucradas de nuestro proceso productivo.

6
VALORES DE LA EMPRESA:

 Empatía
 Puntualidad
 Responsabilidad
 Honestidad
 Respeto

1.3 Productos:
PRODUCCIÓN DE APARATOS ELECTRÓNICOS
Esta área está enfocada a la producción, venta y distribución de aparatos
electrónicos tales como fuentes variables, estabilizadoras, inversores, cargadores
etc., las cuales ayudan en el soporte y funcionamiento de equipos electrónicos.

ELABORACIÓN DE PROYECTOS ELECTRÓNICOS


En esta área de trabajo se realiza la creación de proyectos electrónicos para
estudiantes y/o empresas que soliciten de nuestro servicio, que van desde lo más
básico hasta lo más complejo, utilizando sistemas embebidos y desarrollo de
programas.

VENTA DE TECNOLOGÍA
Esta área está enfocada a la venta de productos para proyectos y automatización
tales como microcontroladores, sensores, interfaces, maquetas, entre otros.

1.3.2 Mercado:
Está enfocado en el mercado electrónico, educativo e industrial, implementando
mejoras y automatización de procesos.

1.3.3 Clientes:
Contamos con clientes fieles a nuestros productos y servicios tales como
centros educativos, estudiantes de todos los niveles y empresas dentro del
mercado electrónico.

7
1.4 Estructura de la Organización

Gerencia General

Gerencia de Ventas Gerencia de


Producción

Ventas Producción

1.5 Otra información relevante


La empresa importa productos de china para la venta y realización de proyectos
electrónicos.

8
CAPÍTULO
II

9
2.1 Identificación del problema técnico en la empresa

A la hora de la fabricación de los equipos electrónicos se ha observado una serie


de problemas y estas varían dependiendo el área de trabajo del proceso, a
continuación, se explicará los principales problemas con mayor frecuencia:

-Demora de laminado de transformadores: a la hora de llenar los


trasformadores manualmente con las láminas las cuales actuaran de núcleo y
cuerpo principal, se ha observado que el llenado no es equitativo por lo que esto
produce un pequeño zumbido en los aparatos electrónicos cuando esta entra en
funcionamiento.

-Alejamiento de áreas de trabajo: al tener las áreas dispersas en diferentes


pisos de toda la galería se producía una pérdida de tiempo y desorden ya que el
traslado de un ambiente a otro resultaba poco favorable por la movilización de
equipos y materiales que se necesitara o se pedía en las distintas áreas para la
producción.

-Demora en el montaje de tarjetas electrónicas: este es un gran problema ya


que la contabilización, reconocimiento y la dispensación de los componentes
necesarios para el montaje de las tarjetas se realiza de manera convencional lo
cual no es muy conveniente para el tamaño de pedidos que se necesita culminar,
esto genera perdida de horas hombre que puede aprovecharse en la etapa de
soldado de la tarjeta.

-Perdida de material: al no contabilizar o medir correctamente el material


requerido como cables, etiquetas o laminas para la fabricación de los equipos se
producía una pérdida de material, ya que se desechaban las sobras, porque
acumularlas en un sitio para su reutilización producía desorden y un ambiente
poco amigable.

10
-Desorden de herramientas: para cualquier tipo de trabajo que necesitábamos
realizar, se requería del uso de herramientas las cuales se encontraban todas
apiladas en una sola caja lo cual producía un desorden y perdida de tiempo ya
que se necesitaba sacar herramienta por herramienta y devolver de nuevo todo a
su lugar después de encontrar la herramienta buscada.

PORCENTAJE
PROBLEMAS FRECUENCIA PORCENTAJE ACUMULADO
Demora en el
montaje de
tarjetas
electrónicas 9 30% 27%
Desorden de
herramientas 7 23% 50%
Perdida de
material 7 23% 74%
Demora de
laminado de
transformadores 5 17% 90%
Alejamiento de
áreas de trabajo 2 7% 97%
TOTAL 30

11
Diagrama de Pareto:

GRAFICO DE INCIDENCIAS
30 120%

25 100%

20 80%

15 60%

10 40%

5 20%

0 0%
Demora en el Desorden de Perdida de material Demora de Alejamiento de
montaje de tarjetas herramientas laminado de áreas de trabajo
electrónicas transformadores

FRECUENCIA PORCENTAJE ACUMULADO

Después de haber realizado una comparación de los problemas


presentados en la producción de equipos electrónicos, con la ayuda del diagrama
de Pareto se logró identificar el principal problema a resolver que vendría a ser la
demora en el montaje de tarjetas electrónicas ya que esta es la que se presenta
con mayor frecuencia, esta demora en la contabilización, reconocimiento y la
dispensación de los componentes para el montaje de las tarjetas se presenta,
debido a que es realizada de manera manual lo cual es poco convencional y por
lo tanto genera gran pérdida de horas hombre que puede aprovecharse en la
etapa de soldado de la tarjeta.

12
2.2 Objetivos del Proyecto de Innovación y/o Mejora
Objetivo general: implementar un sistema automático que realice el dispensado
de los materiales necesarios para la fabricación de determinadas tarjetas,
mediante la lectura de un tag el cual contendrá los datos de los materiales y las
cantidades específicas para cada tipo de tarjeta a elaborar, con ello se agilizara
el montaje de tarjetas electrónicas, a su vez evitaremos pérdidas y
desabastecimiento de material ya que este sistema llevara un control del stock
de cada gabinete en tiempo real.

Objetivos específicos:
-Diseñar y simular un mecanismo de dispensación en solidiowork para adecuarlo
de la mejor manera con actuadores que sean baratos confiables y efectivos.
-Hacer un listado de los materiales necesarios para el armado de cada tipo de
placa con sus respectivas cantidades, para grabar toda la información en los tags.
-Diseñar e imprimir un PCB el cual contendrá toda la circuitería electrónica para
así evitar mucho cableado.
-Programar un sketch que ejecute todos los procesos requeridos para un óptimo
funcionamiento del proyecto.

2.3 Antecedentes del Proyecto de Innovación y/o Mejora


-Adecuación de la tecnología RFID para el control y gestión de inventariado en
almacenes.
-Máquinas expendedoras de golosinas con actuadores lineales y servomotores.
-Maquinas clasificadoras y contadoras de objetos para el control de procesos
productivos.
-Automatización de ensamblaje y reconocimiento de tarjetas electrónicas de alta
gama en la empresa Bosch.
-Control de Procesos productivos implementando la tecnología RFID en el
ensamblaje de carros de la empresa TOYOTA.
-La gran importancia de la Tecnología RFID en la industria 4.0 como llave de
acceso para control de proceso productivo y almacenamiento de información para
clasificar diferentes tipos de producción.

13
2.4 Justificación
El proyecto se justifica por que ayudara a mejorar la fabricación de equipos
electrónicos, ya que agilizara una parte del proceso que más tiempo abarca
realizar el cual es la producción de tarjetas, reduciendo las pérdidas de tiempo a
la hora de la selección de los materiales y/o componentes ,evitando perdidas de
material ya que se dispensara las cantidades necesarias para cada tipo de tarjeta
y se llevara un control del abastecimiento de estos materiales para así no
posponer la producción, lo cual implica pérdida de tiempo y clientes.

2.5 Marco Teórico y Conceptual


2.5.1 Fundamento Teórico: Para la elaboración de este sistema automático
se ha utilizado diversas tecnologías y equipos electrónicos los cuales definiré
para un mayor conocimiento y entendimiento de estas.

 Tecnología RFID:

RFID son las siglas inglesas de Radio Frequency IDentification lo que en español
significa Identificación por radiofrecuencia, es un sistema de almacenamiento y
recuperación de datos remoto que usa dispositivos denominados etiquetas,
tarjetas, transpondedores o tags RFID. El propósito fundamental de la tecnología
RFID es transmitir la identidad de un objeto (similar a un número de serie único)
mediante ondas de radio. Las tecnologías RFID se agrupan dentro de las
denominadas auto ID (identificación automática) (Wikipedia, RFID, 2019).

Aunque en la actualidad la tecnología más extendida para la identificación de


objetos es la de los códigos de barras, éstos presentan algunas desventajas,
como la imposibilidad de ser reprogramados. El origen de la tecnología RFID
consistió en usar chips de silicio que pudieran transferir los datos que
almacenaban al lector sin contacto físico, de forma equivalente a los lectores de
infrarrojos utilizados para leer los códigos de barras (Ceupe, 2019).

14
Un sistema RFID consta de los siguientes componentes:

-Etiqueta RFID o tag: compuesta por una antena, un transductor radio y un


material encapsulado o chip. El propósito de la antena es permitirle al chip, el cual
contiene la información, transmitir la información de identificación de la etiqueta.
Existen varios tipos de etiquetas.

El chip posee una memoria interna con una capacidad que depende del modelo y
varía de una decena a millares de bytes.

-Lector de RFID o transceptor: compuesto por una antena, un transceptor y un


descodificador. El lector envía periódicamente señales para ver si hay alguna
etiqueta en sus inmediaciones. Cuando capta una señal de una etiqueta (la cual
contiene la información de identificación de ésta), extrae la información y se la
pasa al subsistema de procesamiento de datos.

-Subsistema de procesamiento de datos o Middleware RFID: el cual


proporciona los medios de proceso y almacenamiento de datos (Wikipedia, RFID,
2019).

15
 Microcontrolador:

Un microcontrolador es sistema embebido que en su interior contiene una unidad


central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de
entrada y salida y periféricos. Estas partes están interconectadas dentro del
microcontrolador, y en conjunto forman lo que se le conoce como
microcomputadora. Se puede decir con toda propiedad que un microcontrolador
es una microcomputadora completa encapsulada en un circuito integrado ya que
tiene los mismos bloques de funcionamiento básicos lo que nos permite tratarlo
como un pequeño dispositivo de cómputo (MICROCONTROLADORES, s.f.).

El propósito fundamental de los microcontroladores es el de leer y ejecutar los


programas que el usuario le escribe, es por esto que la programación es una
actividad básica e indispensable cuando se diseñan circuitos y sistemas que los
incluyan. El carácter programable de los microcontroladores simplifican el diseño
de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un mismo
circuito se puede utilizar para que realice diferentes funciones con solo cambiar el
programa del microcontrolador (Microcontroladores, s.f.).

Funcionamiento:

Como el hardware ya viene integrado en un solo chip, para usar un


microcontrolador se debe especificar su funcionamiento por software a través de
programas que indiquen las instrucciones que el microcontrolador debe realizar.
En una memoria se guardan los programas y un elemento llamado CPU se
encarga de procesar paso por paso las instrucciones del programa.

16
Los lenguajes de programación típicos que se usan para este fin
son ensamblador y C, pero antes de grabar un programa al microcontrolador hay
que compilarlo a hexadecimal que es el formato con el que funciona el
microcontrolador(¿QUÉ ES UN MICROCONTROLADOR?, s.f.).

Para diseñar programas es necesario conocer los bloques funcionales


básicos del microcontrolador, estos bloques son:

 Procesador o CPU (Unidad Central de Proceso).

 Memoria RAM para contener los datos.

 Memoria para el programa tipo ROM/EPROM/EEPROM/Flash.

 Líneas de E/S para comunicarse con el exterior.

 Diversos módulos para el control de periféricos (temporizadores,

puertos serie y paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores


Digital/Analógico, etc.).

 Generador de impulsos de reloj que sincronizan el funcionamiento

de todo el sistema.

Programación de los microcontroladores:

La representación de datos, instrucciones y señales en forma de bits resulta


dificultosa y tediosa para aquellas personas que no estén familiarizadas con el
sistema de numeración binario. Aún para los usuarios expertos no resulta tan
evidente la interpretación de instrucciones en forma binaria o lenguaje máquina (el
lenguaje maquina se le conoce también como lenguaje de bajo nivel debido a que
las instrucciones no son propias del lenguaje humano).

Es por esto que la programación comúnmente se lleva a cabo en un


lenguaje de alto nivel, es decir, un lenguaje que utilice frases o palabras
semejantes o propias del lenguaje humano. Las sentencias de los lenguajes de
alto nivel facilitan enormemente la programación ya que son familiares a nuestra
manera de comunicarnos. Lenguajes como el C o BASIC son comúnmente
utilizados en la programación de microcontroladores.

17
Para poder programar a un microcontrolador se requieren tres cosas:

-Compilador: Traduce lenguaje como el C y C++ al lenguaje ensamblador.

-IDE: Integrated Development Environment. Entorno de Desarrollo Integrado. Es


donde mediante el compilador, se crea y compilan los programas.

-Programador: Cada fabricante y arquitectura tiene su propio programador.


Existen programadores llamados Universales que pueden programar distintas
arquitecturas (¿QUE ES UN MICROCONTROLADOR?, s.f.).

 Servomotor:

Un servomotor es un motor eléctrico al que podemos controlar tanto la velocidad,


como la posición del eje que gira (también llamada dirección del eje o giro del
rotor). Para posicionar un servomotor tenemos que aplicarle un pulso eléctrico,
cuya duración determinará el ángulo de giro del motor. Recibe los pulsos de
entrada y ubica al motor en su nueva posición dependiendo de los pulsos
recibidos.
Los servomotores no giran su eje 360º (aunque ahora hay algunos que si lo
permiten), como los motores normales, solo giran 180º hacia la izquierda o hacia
la derecha (ida y retorno).

La mayoría de los servomotores que se utilizan son de corriente continua, pero


también existen en corriente alterna. (SERVOMOTORES, s.f.)

18
Características principales:

-El par: fuerza que es capaz de hacer en su eje. El par también se puede
llamar torque. Se suele expresar en Kg/cm, por ejemplo 3Kg/cm. A mayor par,
mayor corriente de consumo del servo, pero no suelen consumir mucho,
dependiendo del tipo de servomotor.

-Velocidad: velocidad angular o de rotación.

Un servomotor es un sistema compuesto por:

- Un motor eléctrico: es el encargado de generar el movimiento, a través de su


eje.

- Un sistema de regulación: formado por engranajes, que actúan sobre el motor


para regular su velocidad y el par. Mediante estos engranajes, normalmente
ruedas dentadas, podemos aumentar la velocidad y el par o disminuirlas.

- Un sistema de control o sensor: circuito electrónico que controla el


movimiento del motor mediante el envío de pulsos eléctricos.
- Un potenciómetro: conectado al eje central del motor que nos permite saber en
todo momento el ángulo en el que se encuentra el eje del motor. Recuerda que un
potenciómetro es una resistencia eléctrica variable.

Puede venir todo en una caja formando el servo, pero normalmente el servo no
trae incluido el sistema de control. Si pone encoder incluido, quiere decir que si
viene el sistema de control incluido en el servo(SERVOMOTORES, s.f.).

Terminos y conceptos:

A continuación se dará una explicación breve de algunas palabras técnicas


usadas en mi proyecto para un mejor entendimiento.
 Tag: Etiqueta RFID, sistema para identificar con tecnología RFID.

 Embebido: sistema de computación diseñado para realizar una o algunas


funciones dedicadas frecuentemente en un sistema de computación en tiempo
real en donde la mayoría de los componentes se encuentran incluidos en la placa
base.

19
 Transceptor: dispositivo que cuenta con un transmisor y un receptor que
comparten parte de la circuitería o se encuentran dentro de la misma caja.

 Datos remotos: datos obtenidos de un objeto o un proceso mediante un


instrumento que no está en contacto físico con los estos.

 Modularidad: capacidad que tiene un sistema de ser estudiado, visto o


entendido como la unión de varias partes que interactúan entre sí y que trabajan
solidariamente para alcanzar un objetivo común, realizando cada una de ellas una
tarea necesaria para la consecución de dicho objetivo.

 Transductor: dispositivo capaz de transformar o convertir una


determinada manifestación de energía de entrada, en otra diferente a la salida,
pero de valores muy pequeños en términos relativos con respecto a un generador.

20
CAPÍTULO
III

21
ANÁLISIS DE LA SITUACION ACTUAL

3.1Mapa del flujo de valor actual y/o diagrama de proceso actual.

MAPA DE PROCESO

VENTAS MARKETING

AREA DE
P ALMACEN DE C
ENSAMBLADO Y
MATERIALES
E CABLEADO L
A
D I

I ALMACEN PARA E
AREA DE VENTAS Y
D PREPARACIÓN PREPARACIÓN N
DISTRIBUCIÓN
DE MATERIALES DE CAJAS
I T

D E

O AREA DE S
MONTAJE DE
FABRICACIÓN DE PROYECTOS
S TARJETAS
TRANSFORMADORES
ELECTRÓNICAS

COMPRAS GESTION DE
PRODUCCION

22
Almacén de materiales: El área de almacén es donde se encuentran todos los
materiales para la producción de equipos electrónicos y también almacenar los
productos terminados.
Área de preparación de materiales: En esta área se realizan trabajos previos
para la producción como el cortado de papel de pescado y corte de cables para
los transformadores.
Fabricación de Transformadores: en esta etapa de producción se realizan los
trasformadores de distintas potencias según el producto pedido,la fabricación va
desde el bobinado, el llenado con láminas y el empalme de cables y el barnizado
final.
Montaje de tarjetas Electrónicas: este proceso consiste en el armado y
montado de las tarjetas electrónicas, que se realiza manualmente desde el
montaje hasta el soldado y acabado final.
Preparación de cajas: esta etapa de producción consiste en el etiquetado de las
cajas según el tipo de producto y el agujerado tanto para el asegurado con
remache y también para el soporte del transformador.
Área de ensamblado y cableado: en esta etapa se realiza el ensamblado final
del transformador y la tarjeta electrónica mediante cables, asegurándolos en el
interior de la caja metálica, después se coloca el cable de poder que ira al
transformador mediante un interruptor para el prendido y apagado. Por último, se
pasa a sellar la caja asegurándolos con remaches.
Almacén para ventas y distribución: después del sellado se pasa a forrar con
film transparente los productos finales, para luego ponerlo en las tiendas para la
venta y distribuir los pedidos que se realizaron.
Área de Proyectos: esta área es indiferente a la producción de aparatos
electrónicos, pero también es importante ya que en esta se realizan proyectos
electrónicos para los estudiantes, universitarios y empresas que soliciten de
nuestro servicio según sus necesidades.

23
D.A.P DE MONTAJE DE TARJETAS ELECTRONICAS:

TARJETA ELECTRÓNICA

BUSCAR: se busca el
2 min diagrama de la placa a
montar según el
producto pedido.

CONTABILIZAR: se realiza un
conteo de las cantidades
5 min
necesarias, por cada tipo de
componente que será utilizado
para el montaje de la placa.

14 min DISPENSAR: se pasa a


seleccionar los componentes y
la placa requeridos entre todas
las cajetas, donde se
encuentran guardadas.

MONTAJE: se colocan todos los


12 min
componentes en la placa para
poder soldarlos.

SOLDAR: se pasa a soldar todos


10 min
los componentes previamente
montados en la placa.

CORTADO: se realiza el corte


5 min del material sobrante de los
componentes soldados.

REVISION: se realiza una


2 min revisión visual del producto final

Total= 50 min

24
3.2 Efectos del problema en el área de trabajo o en los resultados de
la empresa.

PERDIDA DE
MATERIAL
SOBRANTE

SOBGREGASTOS
DEMORA EN LA POR MAL
OBTENCION DE CONTROL DE
MATERIALES INVENTARIO

DEMORA EN LA DISPENSACION Y
CONTROL DE MATERIALES PARA
EL MONTAJE DE TARJETAS
ELECTRONCIAS

INPUNTUALIDAD PERDIDA DE HORAS


PARA LA ENTREGA HOMBRE
DE PEDIDOS

DESABASTECIEMIENTO
DE MATERIALES

25
3.3Análisis de las causas raíces que generan el problema

DIAGRAMA CAUSA- EFECTO

MATERIAL MEDIO AMBIENTE METODO DE TRABAJO

FALTA DE MALA UBICACIÓN HACER APUNTES


MONITOREO DE Y FALTA DE Y CONTABILIDAD
STOCK DE CADA ORDEN DE LOS DE CADA
MATERIAL CONTENEDORES MATERIAL
DE MATERIALES REQUERIDO

DEMORA EN LA
DISPENSACION Y
CONTROL DE
MATERIALES

INVENTARIO POCO POCA RAPIDEZ Y MAL CONTEO DE


SOFISTICADO Y CONFUSION AL MATERIAL
TECNOLOGICO BUSCAR LOS DISPENSADO DEL
MATERIALES INVENTARIO

MAQUINARIA MANO DE OBRA MEDICION

26
3.4 Priorización de causas raíces

A la hora del proceso de armado de las tarjetas electrónicas, se ha observado una


serie de problemas los cuales necesitamos resolver, ya que es en esta etapa la
más importante de todas del proceso productivo, en la cual se da una gran
pérdida de tiempo y dinero y es por ello que debemos de analizar y hacer una
priorización de las causas raíces para así dar una solución a la mayoría de los
problemas encontrados.

- Falta de monitoreo de stock de cada material:

Este es un factor importante ya que no se lleva un control de los materiales para


el armado, a la hora de buscar un componente o una tarjeta nos damos cuenta
que ya no queda cantidad suficiente para armar los pedidos y se pospone la
producción lo cual hace perder clientes por la falta de puntualidad.

- Mala ubicación y falta de orden de los contenedores de materiales:

Al momento de buscar los materiales se hace todo un desorden ya que los


contenedores se encuentran ubicados en distintos lugares y se amontona todo en
el lugar de trabajo para dispensar los materiales que necesitamos, esto genera un
mal ambiente de trabajo y reducción de espacio para la buena ejecución del
proceso.

- Hacer apuntes y contabilidad de cada material requerido :

Al estar tomando apuntes de los materiales necesarios para el armado de las


tarjetas según la cantidad de pedidos, se da una gran pérdida de tiempo estar
sacando cuentas de las cantidades requeridas por cada componente viendo el
diagrama y dispensando al mismo tiempo.

27
-Poca rapidez y confusion al buscar los materiales:

La poca rapidez para la obtención de los materiales implica perdida de horas


hombre ya que el mismo trabajador tiene que buscar cada componente entre
todas las cajetas en vez de estar ejecutando otra actividad como el de montar y
soldar la placa.

- Mal conteo de material dispensado del inventario:

Al sacar componentes demás para el armado de las placas y no la cantidad


requerida ya sea por querer acelerar la producción, se desechan los materiales
sobrantes ya que también tomaría más pérdida de tiempo regresar cada
componente a sus respectivas cajas.

DIAGRAMA DE PARETO

Después de haber profundizado más sobre las causas raíces, pasamos a hacer
una observación y encuesta de estas para ver con cuanta frecuencia se presentan
a lo largo de la producción, después de esto pasamos a colocarlos en un cuadro
de mayor a menor para priorizar los más importantes y resolver las causas que
acumulen el 80% del total.

PORCENTAJE
PROBLEMAS FRECUENCIA PORCENTAJE ACUMULADO
Mala ubicación y falta de
orden de los contenedores de
materiales 8 27% 23%

Hacer apuntes y contabilidad


de cada material requerido 8 27% 50%
Poca rapidez y confusión al
buscar los materiales 7 23% 73%
Falta de monitoreo de stock
de cada material 4 13% 86%

Mal conteo de material


dispensado del inventario 3 10% 96%
TOTAL 30

28
GRAFICO DE INCIDENCIAS
30 100%

90%
25
80%

70%
20
60%

15 50%

40%
10
30%

20%
5
10%

0 0%
Mala ubicación y Hacer apuntes y Poca rapidez y Falta de monitoreo Mal conteo de
falta de orden de los contabilidad de cada confusión al buscar de stock de cada material dispensado
contenedores de material requerido los materiales material del inventario
materiales

FRECUENCIA PORCENTAJE

Como podemos observar en el diagrama de barras, para poder resolver el


problema principal y así optimizar el nivel de producción, debemos centrarnos en
el 80% de las causas más frecuentes y por consiguiente las demás también serán
reducidas, estos son los siguientes:

- Mala ubicación y falta de orden de los contenedores de materiales


- Hacer apuntes y contabilidad de cada material requerido
- Poca rapidez y confusión al buscar los materiales

29
CAPÍTULO IV

30
PROPUESTA TECNICA DE LA MEJORA.

4.1 Plan de acción de la Mejora propuesta

El plan de mejora consiste en implementar un sistema automatico de


dispensacion y control de materiales para agilizar el proceso de armado de
placas electronicas, con el cual se busca disminuir la perdida de horas hombre
que toma contabilizar, chequear,buscar y dispensar los materiales necesarios
para realizar cada tipo de placa.

Este sistema tiene como principal componente la tecnologia RFID,en


donde el tag será quien contenga todos los datos necesarios como el tipo y la
cantidad de componentes necesarios para cada tipo de tarjeta, estos datos seran
leidos por un modulo y asu vez enviados a un microcontrolador el cual mediante
la logica programada accionará unos servomotores, los cuales abriran entre todos
los gabinetes, solo los que contengan los componentes previamente leidos.

En un display se mostraran las cantidades necesarias que se debe


retirar de cada gabinete aperturado y en un una pantalla LCD se llevara el control
del stock de material con el cual se dispone en cada gabinete,cuando el stock de
cierto gabinete llegue a un limite inferior el sistema me avisara mediante una
alarma que se debe de comprar mas material para no quedar desabastecido y asi
nunca pare o demore la produccion.

Para llevar a cabo todo este sistema se ha realizado una serie de


procediemientos, ya que el proyecto se componene de etapas las cuales deben
ser ejecutadas en un orden según su priorizacion y nivel de dificultad.

A continuacion se explicara y mostrara el trabajo realizado por cada


etapa y como queda el trabajo final, estas son:

31
Programacion y pruebas de funcionamiento:

En esta etapa la cual es la mas importante de todas , se realizó la logica de


programacion el cual esta basado en el lenguaje c++ ya que es muy facil de
entender y eficaz a la hora de su ejecucion.

El sotfware de programacion utilizado es una aplicación


multiplataforma llamado Sublime Text el cual es muy versatil ya que se pueden
programar y compilar sketchs para diferentes marcas y tipos de
microcontroladores .

Este dispone de todas las herramientas necesarias como el


depurador,wirings,compilador y el programador con el cual se cargara el sketck
realizado al microcontrolador, quien se encargara de ejecutar los procesos de
dispensacion, contabilizacion y control de materiales interactuando en conjunto
con el modulo RFID,los servomotores y los componentes visuales (display,LCD).
A continuacion se presenta el diagrama de flujo del programa para un mejor
entendimiento acerca del funcionamiento logico(ver ANEXO 1).

32
DIAGRAMA DE FLUJO

INICIO

DECLARACIÓN
E/S Y LIBRERIAS

LECTURA DE
TARJETAS

20ms

¿TARJETA NO

VALIDA?

SI

SE COMPARA EL
UID DE LA TARJETA

¿TERMINÓ NO
DE LEER UID?

SI

33
A

¿TARJETA
MAESTRA? SI

NO
SE LEE LOS DATOS DE
LA MEMORIA DEL TAG
ELEGIR GABINETE
PARA LLENADO
MANUAL

SE COMPARA LOS
CASOS SEGÚN LOS
DATOS OBTENIDOS SE ENVIAN LOS
CARACTERES AL
ESCLAVO

D
20ms
SE ACCIONA EL
SERVOMOTOR ESPECIFICO
DEL GABINETE
SE ENVIAN LOS
CARACTERES AL
ESCLAVO
INGRESE LA CANTIDAD DE
COMPONENTES
REPUESTOS

SE ACCIONAN LOS EL SERVOMOTOR VUELVE


SERVOMOTORES SEGÚN LOS A SU POSICION INICIAL
CARACTERES RECIBIDOS

SE MUESTRA LAS
CANTIDADES A
SE ACTUALIZA LOS DATOS
RETIRAR EN EL EN EL DISPLAY 1
DISPLAY 2

B
C
34
C

SE APRETA EL PULSADOR
PARA REGRESAR LOS
SERVOMOTORES A SU
ESTADO INICIAL

50ms

SE ACTUALIZA LOS DATOS


EN EL DISPLAY 1

SE EVALUA LA CANTIDAD
DE COPONENTES EN CADA
GABINETE

NO
¿LLENADO
B
AUTOMATICO?

SI

SE MUESTRA EL
GABINETE ESCASO
DE COMPONENTES
EN EL DISPLAY 2

35
2-Diseño de PCB:

La segunda etapa consistió en diseñar la placa impresa en donde se


montaran los componentes y dispositivos electrónicos usados en el
sistema electronico del proyecto , para que todo funcione como un
único modulo y así ahorrar el exceso de cableado, tener más orden y
una mejor presentación del proyecto. Para realizar el diagrama, la
simulación y el impreso del circuito utilice el programa Proteus el cual es
muy versátil y confiable ya que dispone de muchas librerías y con los
componentes necesarios para llevar a cabo el diseño sin ningún
problema. Cabe resaltar que Proteus es el software mas utilizado para
el diseño de tarjetas electrónicas ya que siempre esta actualizado y
dispone de muchas herramientas útiles.

 Proteus tiene un ambiente llamado ISIS el cual sirve para realizar


diagrama de conexiones,es de mucha ayuda ya que mediante la
herramienta de simulacion que nos brinda el programa, nos da una
nocion de como funcionara la tarjeta enla vida real asi podremos
corregir algunos errores antes de imprimir la placa.

FIGURA 1: DIAGRAMA DE CONEXION


36
 Despues de realizar la simualcion y verificar cualquier tipo de falla
,pasamos al ARES el cual es una ambiente del Proteus destinado
netamente para diseñar placas electronicas,con el diagrama de
conexiones que previamente se realizo en el ISIS,primero
seleccionamos y ordenamos todos los componentes utilizados dentro
del recuadro el cual sera nuestra placa , luego pasamos a unirlos
mediante pistas los cuales reemplazaran a todo el cableado.El trabajo
final a ser impreso en la tarjeta seria el siguiente:

FIGURA 2: DISEÑO DE PISTAS EN ARES

37
 Con la herramienta de vision 3D que nos brinda el ARES, podemos
observar con mayor precision como quedara la placa despues de ser
impresa y montada con todos los componentes reales ,por si queremos
hacer alguna modificacion para una mejor presentacion .A continuacion
se muestra el acabado final de la placa realizada para el proyecto.

FIGURA 3: VISTA DE PLACA FINAL EN 3D

38
4-Diseño mecánico:

Después de haber realizado tanto el programa como el diseño electrónico,


pasamos a realizar el diseño del mecanismo en donde se almacenarán y
dispensarán los materiales. El diseño impregnado está basado en el principio de
funcionamiento de los gabinetes convencionales, pero adecuamos a este diseño
la implementación de pistones por cada gabinete, para que estas sean
manipuladas automáticamente por medio de servomotores .

El software utilizado para el diseño mecanico fue SolidWorks el cual es un


ambiente bien amigable y confiable, este dispone de muchas herramientas útiles
los cuales son de mucha ayuda ya que agiliza la ejecución del diseño y los
acabados de cada material son bien didácticos. es el único software que es
utilizado para el diseño CAD y CAM además de ser compatible con diseños
realizados en otros programas como por ejemplo Proteus y es por ello que nos
permite acoplar tanto el diseño electrónico y mecánico todo en un solo ambiente
para tener una mejor presentación e interacción es por ello que este programa es
muy versátil en todos los aspectos.

 Solidworks dispone de diferentes ambientes de trabajo para seleccionar


como pieza,ensamblaje y dibujo ,la eleccion dependera del tipo de tarea que
necesitemos realizar,en este caso para el modelado en 3D de las diferentes
piezas mecanicas se trabajó en el ambiente de “pieza” ,

A continuacion se presenta trabajo creado:

FIGURA 4: MODELADO DE CAJETA INDIVIDUAL

39
 Después de haber realizado el modelado de todas las piezas,abrimos
el ambiente de “ensamblaje” que nos brinda solidworks para poder unir
todas estas en un solo bloque y asi trabajen como un mecanismo
unico,con esto proceso alfin se puede observar el trabajo final como
quedara en la vida real.

FIGURA 5: ESAMBLADO FINAL DE DISPENSADOR

40
 Por último se paso a diseñar el plano de construcción en el ambiente
de trabajo “Dibujo” ,realizando todo el acotado y diseño de vistas
necesarias para que sea mas fácil el entendimiento y ejecución del
plano, a la hora de construir la estructura en la vida real.(ver Anexo 2)

FIGURA 6: PLANOS DE CONSTRUCCIÓN

41
4.2 Consideraciones técnicas, operativas y ambientales para la implementación de
la mejora.

Capacitacion al personal:

Se necesita realizar una capacitacion al personal, para que tenga mayor


informacion acerca del funcionamiento y manipulacion del proyecto,con todas las
normas de seguridad necesarias para evitar algun tipo de accidente o mal gasto
de tiempo al no saber utlizar el sistema.

Material no toxico:

Para la fabricacion del mecanismo de dispensacion se tomaron en cuenta los


aspectos medio ambientales ya que se utilizo material como MDF y acriclico los
cuales no son toxicos ,asi evitaremos que el trabajor se vea perjudicado de
alguna manera , a su vez estos materiales pueden ser reutilizados por lo que
nos evitaremos algun tipo de mal desperdicio.

Normas ISO:

Para la realización de los planos del mecanismo de dispensación,se tomaron en


cuenta las normas de dibujo técnico las cuales expresan que todo grafico que
tiene como fin la representación de objetos lo mas exactamente posible a su
realidad, ya sea en FORMA Y DIMENCION ,debe encontrase bajo normas, como
por ejemplo:

-Tipos de líneas.

-Tipos de cotas.

-Escalas. (de reducción o ampliación).

- Formatos de lamina.

-Simbología y siglas

42
4.3 Recursos técnicos para implementar la mejora propuesta.

Para implementar el proyecto de innovacion se utilizaron una serie de tecnologias


y componentes,las cuales sean comodos economicamemente y a la vez brinden
buenos resultados a la hora de la ejecucion del trabajo diseñado para cada uno
de estas ,estas son las sieguentes:

Microcontrolador ATMEGA 328:

ElAtmega328 AVR 8-bit es un Circuito integrado de alto rendimiento que está


basado un un micro controlador RISC, combinando 32 KB ISP flash una memoria
con la capacidad de leer-mientras-escribe, 1 KB de memoria EEPROM, 2 KB
de SRAM, 23 líneas de E/S de propósito general, 32 registros de proceso general,
tres temporizadores flexibles/contadores con modo de
comparación, interrupciones internas y externas, programador de modo USART,
una interface serial orientada a byte de 2 cables, SPI puerto serial, 6-canales 10-
bit Conversor A/D (8-chanales en TQFP y QFN/MLF packages), «watchdog timer»
programable con oscilador interno, y cinco modos de ahorro de energía
seleccionables por software. El dispositivo opera entre 1.8 y 5.5 voltios. Por medio
de la ejecución de poderosas instrucciones en un solo ciclo de reloj, el dispositivo
alcanza una respuesta de 1 MIPS, balanceando consumo de energía y velocidad
de proceso (Wikipedia, Atmega328, 2019). (ver Anexo 3)

43
FIGURA 7: ARQUITECTURA ATMEGA 328P

Lector RFID MIFARE MFRC522:

MIFARE es una tecnología de tarjetas inalámbricas propiedad de NXP


Semiconductores. Es uno de los estándares más implantados como tarjetas
inteligentes sin contacto (TSIC).

El Mifare MFRC522 es un lector de tarjetas RFID que incorpora


comunicación por bus SPI, bus I2C y UART, por lo que es sencillo de conectar .
El MFRC522 soporta las tarjetas Mifate S50, Mifare S70, Mifare UltraLight, Mifare
Pro y Mifare Desfire.

El lector MFRC522 opera en la frecuencia de 13.56Mhz y tiene una


distancia de lectura de 0 a 60cm. El MFRC522 tiene un consumo de 13-26 mA
durante la escritura, 10-13mA en stanby e inferior a 80uA en modo sleep. La
tensión de alimentación es de 3.3V (LLAMAS, ,2016).

44
El MFRC522 suele suministrarse con tarjetas o llaveros MIFARE Classic
1K. Este tipo de tarjetas son, esencialmente, un sistema de almacenamiento
donde la memoria está dividida en bloques, con mecanismos simple para el
acceso a la información.

FIGURA 8: COMPONENTES DE LA TECNOLOGIA RFID

El MIFARE Classic 1K dispone de 1024 bytes de memoria divididos en 16


sectores de 64 bytes, cada uno protegido por dos claves llamadas A y B. Cada
una puede ser programada individualmente para permitir o bloquear operaciones
lectura o escritura.

45
Cada sector reserva una cierta memoria para las claves A y B, por lo que este
espacio normalmente no puede ser empleado para guardar datos, lo que reduce
la cantidad de memoria disponible en una MIFARE Classic 1K a 752 bytes.

La memoria EEPROM de las tarjetas MIFARE Classic puede soportar más de


100.000 ciclos de escritura, y pueden mantener la memoria durante más de 10
años sin recibir alimentación (LLAMAS, ,2016) . (Ver Anexo 4)organización de la
memoria:

FIGURA 9: ORGANIZACIÓN DE LA MEMORIA RFID

46
Servomotor SG90:

El servo SG90 Tower Pro un servo miniatura de gran calidad(ver Anexo 5) y


diminutas dimensiones, ideal para profesionales, estudiantes y entusiastas del
diseño electronico para aplicaciones de Mecatronica, Control, Automatizacion,
Robotica, etc. Es uno de los mas usados ya que sus requerimientos de energía
son bastante bajos y se permite alimentarlo con la misma fuente de alimentación
que el circuito de control, además de ser bastante económico.

Puede rotar aproximadamente 180 grados (90° en cada dirección). Tiene la


facilidad de poder trabajar con diversidad de plataformas de desarrollo como
Arduino, PICs, Raspberry Pi, o en general a cualquier microcontrolador.

El servo SG90 tiene un conector universal tipo “S” que encaja perfectamente en la
mayoría de los receptores de radio control incluyendo los Futaba, JR, GWS,
Cirrus, Hitec y otros.

Los cables en el conector están distribuidos de la siguiente


forma: Rojo=Alimentación (+), Cafe = Alimentación (–) o tierra, Naranja= Señal
PWM.Este tipo de servo es ideal para las primeras experiencias de aprendizaje y
prácticas con servos (Servo Tower Pro Sg90 9g, s.f.).

Especificaciones Técnicas:

-Velocidad: 0.10 sec/60° @ 4.8V

-Torque: 1.8 Kg-cm @ 4.8V

-Voltaje de funcionamiento: 3.0-7.2V

-Temperatura de funcionamiento: -30 ℃ ~ 60 ℃

-Ángulo de rotación: 180°

-Ancho de pulso: 500-2400 µs

-Longitud de cable de conector: 24.5cm

-Dimensiones: 22*11.5*27 mm FIGURA 10: MINI SERVOMOTOR

-Peso: 9g

47
4.4 Mapa de flujo de valor de la situación mejorada o diagrama de proceso
mejorado:

D.A.P DE MONTAJE DE TARJETAS ELECTRONICAS:

TARJETA ELECTRÓNICA

PASAR TARJETA: se pasa a


0.5 min seleccionar el tag según la
tarjeta a realizar, para cargar
los datos por el módulo lector

RETIRO DE COMPONENTES: se
5 min pasa a retirar los componentes de
los gabinetes expendidos por el
sistema, chequeando las cantidades
que nos especifica en el display.

MONTAJE: se colocan todos


12 min los componentes en la placa
para poder soldarlos.

SOLDAR: se pasa a soldar


todos los componentes
10 min previamente montados en la
placa.

CORTADO: se realiza el
corte del material sobrante
5 min
de los componentes
soldados.

REVISION: se realiza una


revisión visual comparando el
2 min
montaje final con el diagrama.

Total= 34.5 min

48
4.5 Cronograma De Ejecución De La Mejora

49
4.6 Aspectos limitantes de la implementación de la mejora

Para la ejecucion del proyecto se detectaron algunos aspectos los cuales limitan
su optimo funcionamiento , estas son las siguientes:

Materiales genericos:

El utilizar materiales genericos para el armado de tarjetas electronicas,redujo el


porcentaje de automatizacion del proyecto,ya que el sistema no cuenta con un
mecanismo que dispense todos los materiales y los arroje en una cajeta final, por
lo que el operario debera de retirar manualmente los materiales de los gabinetes
expendidos,no existe mecanismo alguno que dispense estos materiales de
manera exacta y por la falta de tiempo seria una perdida de tiempo diseñar un
tipo de mecanismo para cada tipo de componente ya que estas poseen
diferentes caracteristicas fisicas.

50
CAPÍTULO V

51
COSTOS DE IMPLEMENTACION DE LA MEJORA

5.1 Costo de materiales

Unidad Precio Precio


N° Descripcion de Material Medida Cantidad Unitario Total
Microcontrolador
1
ATMEGA 328 unidad 1 S/18.00 S/18.00
2 Cristal de cuarzo 16 Mhz
unidad 2 S/1.50 S/3.00
Capacitor de ceramico
3
22nf unidad 2 S/0.10 S/0.20
Regulador de tension
4
7805 unidad 3 S/1.00 S/3.00
Regulador de tension
5
LM 7833 unidad 1 S/2.00 S/2.00
Condensador electrolitico
6
10uf /16v unidad 6 S/0.20 S/1.20
7 Socalo de 28pines
unidad 2 S/1.00 S/2.00
8 Espadin Hembra
unidad 5 S/0.80 S/4.00
9 Bornera 10 amp
unidad 2 S/0.50 S/1.00
10 Estaño para soldar 2mm
rollo 1 S/12.00 S/12.00
Cable de telefono
11
3x22 mm metros 4 S/1.20 S/4.80
12 Modulo RFID RC522
unidad 1 S/10.00 S/10.00
13 Modulo de interfaz I2C
unidad 2 S/7.00 S/14.00

52
14 Teclado Hexadecimal
unidad 1 S/6.00 S/6.00
15 Servomotores SG90
unidad 50 S/7.00 S/350.00
16 Pantalla LCD 20x4
unidad 2 S/20.00 S/40.00
17 Plancha Acrilico A2 2mm
unidad 1 S/35.00 S/35.00
Plancha MDF 2.13X2.44
18
MT , 2mm unidad 1 S/37.90 S/37.90
19 Barra de silicona
unidad 15 S/0.50 S/7.50
Canatelas para cableado
20
20mm unidad 2 S/3.00 S/6.00
21 Baja lengua de madera
paquete 4 S/2.00 S/8.00
22 Pintura en sprit 500ml
unidad 1 S/10.00 S/10.00
23 Palillo para maqueta
paquete 1 S/2.50 S/2.50
24 Clavos 5/8 20 mm
kilo 1 S/2.20 S/2.20
25 Clavos 3"
kilo 1/2 S/4.00 S/2.00
26 Huacha plana 1/4"
kilo 1/2 S/2.00 S/1.00
27 Pulsador NA 15 mm
unidad 1 S/1.00 S/1.00
TOTAL S/584.30

53
5.2 Costo de mano de obra

OCUPACION PAGO X DIA DIAS TOTAL


Técnico Electrónico S/60.00 15 S/900.00

5.3 Costo de máquinas, herramientas y equipos

Descripcion de Unidad Precio Precio


N° Cantidad
Material Medida Unitario Total
1 Broca #14 unidad 2 S/4.00 S/8.00
2 Cuchilla unidad 1 S/3.00 S/3.00
Horas Maquina
3 Hora 45 S/1.00 S/45.00
(Laptop)
4 Hoja de cierra unidad 1 S/1.50 S/1.50
5 Cautin para soldar unidad 1 S/10.00 S/10.00
6 Lija de madera #40 unidad 1 S/1.50 S/10.00
TOTAL S/77.50

5.4 Otros costos de implementación de la Mejora

Descripcion de Unidad Precio Precio


N° Material Medida Cantidad Unitario Total
1 Hoja bond Paquete 1 S/11.00 S/11.00
2 Lapicero unidad 3 S/3.00 S/9.00
3 Impresión unidad 120 S/0.28 S/33.60
4 Empastado unidad 1 S/5.00 S/5.00
5 Pasajes unidad 5 S/6.00 S/30.00
6 Libro unidad 1 S/10.00 S/10.00
7 Folder manila unidad 2 S/0.50 S/1.00
8 Resaltador unidad 2 S/1.00 S/2.00
54
9 Cuaderno A4 unidad 1 S/3.00 S/3.00
10 Regla unidad 1 S/1.00 S/1.00
11 Borrador unidad 1 S/0.80 S/0.80
12 Liquid Paper unidad 1 S/1.00 S/1.00
13 Plumon indeleble unidad 1 S/2.50 S/2.50
14 Grapas caja 1 S/4.00 S/4.00
TOTAL S/113.90

SERVICIO A UNIDAD DE PRECIO PRECIO


TERCEROS MEDIDA CANTIDAD UNITARIO TOTAL
Impresión de placa unidad 1 S/ 40.00 S/ 40.00
Corte a laser Minuto 15 S/ 1.00 S/ 15.00
TOTAL S/ 55.00

5.5 Costo total de la implementación de la Mejora

DESCRIPCION DE GASTOS SUB TOTAL


COSTOS DE MATERIAL S/ 584.30
MANO DE OBRA S/ 900.00
COSTOS DE MAQUINAS,
HERRAMIENTAS EQUIPOS S/ 77.50
OTROS MATERIALES S/ 113.90
SERVICIO DE TERCEROS S/ 55.00
TOTAL S/ 1,730.7

55
CAPÍTULO VI

56
EVALUACIÓN TECNICA Y ECONOMICA DE LA MEJORA

6.1 Beneficio técnico y/o económico esperado de la Mejora

Beneficio técnico:

-Ahorro de espacio y más orden en la zona de trabajo ya que todo el material


utilizado se encontrará aglomerado en un solo equipo de dispensación.

Trabajo diario:

(S/INNOVA) 480min / 50 min*placa = 9.6 placas/día

(C/INNOVA) 480min / 34.5 min*placa = 13.9placas/día

Beneficio:

50min – 34.5min =15.5min/placa x 14 placas/día = 217 min/día

-La empresa se verá beneficiada con este proyecto ya que agilizara el tiempo de
producción y aumentara en un 44.8% .

57
Beneficio económico:

Pago trabajador = S/1300

Pago Practicante = S/1000

Costo Innovación= S/ 1,730.70

A) (S/INNOVA) 10 x 24 = 240 placas/mes

Pago total trabajadores =S/2300 = = 9.58 soles/placa

B) (C/INNOVA) 14 x 24 = 336 placas/mes

Pago total trabajadores = S/2300 = 6.84 soles/placa

Beneficio :

9.58 – 6.84 = 2.74 soles/placa

Beneficio mensual:

2.74 x 336 = 920.64 soles

58
6.2 Relación Beneficio/Costo

Beneficio mensual = S/ 920.64

Costo Innovación = S/ 1730.70

PRIMER AÑO

MES 0 1 2 3 4 5 6 7 8 9 10 11 12

Beneficios 920 920 920 920 920 920 920 920 920 920 920 920

Costos.Mantenimiento 50 50 50 50 50 50 50 50 50 50 50 50

Beneficio Neto 870 870 870 870 870 870 870 870 870 870 870 870

Costo.Implementación 1730.7

SEGUNDO AÑO

13 14 15 16 17 18 19 20 21 22 23 24 Total.Vida.Util

920 920 920 920 920 920 920 920 920 920 920 920 S/ 22,095.36

50 50 50 50 50 50 50 50 50 50 50 50 S/ 1,200.00

870 870 870 870 870 870 870 870 870 870 870 870 S/ 20,895.36

Beneficio Neto total


Beneficio/Costo = = 12.07
Costo Implementación

Tiempo de Costo Implementación


= = 1.99 meses = 59.7 dias
Recuperación Beneficio Neto mensual

59
CAPÍTULO VII

60
CONCLUSIONES

7.1 Conclusiones respecto a los objetivos del Proyecto de Innovación y/o Mejora

 Se logró implementar el proyecto de mejora en el tiempo previsto ya que se


siguieron todos los pasos previamente establecidos.

 Se consiguió una buena cifra de beneficio/costo, logrando una cercanía al


beneficio calculado ya que se tomó en cuenta los precios reales de
materiales, herramientas y tecnología utilizados.

 Funcionó de la mejor manera el proyecto de innovación, logrando agilizar el


proceso de producción en un 40%, ya que en su puesta en marcha de la
innovación no presento alguna falla significativa.

 Los esquemas y circuito electrónicos no tuvieron presentaron falla alguna ya


que se diseñó tomando en cuenta los criterios de seguridad.

61
CAPÍTULO
VIII

62
RECOMENDACIONES
8.1 Recomendaciones para la empresa respecto del Proyecto de Innovación y
Mejora

 Respetar todos los procesos establecidos en el proyecto, para así llegar a


concluirla de la mejor manera.

 Buscar tecnologías que sean económicas y que tengan una buena


funcionalidad para ahorrar en costos y tener una buena implementación del
proyecto.

 Realizar un mantenimiento mensual para alargar la vida util del proyecto.

 Realizar unas pruebas de la funcionalidad del proyecto para así corregir las
posibles fallas que se observen, antes de ponerla en marcha para así evitar
sobregastos y pocos beneficios esperados.

63
Bibliografía

-¿QUE ES UN MICROCONTROLADOR? (s.f.). Obtenido de ELECTRONICA ESTUDIO.COM:


https://www.electronicaestudio.com/que-es-un-microcontrolador/

-¿QUÉ ES UN MICROCONTROLADOR? (s.f.). Obtenido de SHERLIN.XBOT.ES:


http://sherlin.xbot.es/microcontroladores/introduccion-a-los-microcontroladores/que-es-
un-microcontrolador

-Ceupe, E. b. (2019). ¿QUÉ ES EL RFID? Obtenido de CENTRO EUROPEO DE POSTGRADO:


https://www.ceupe.com/blog/que-es-el-rfid.html

-LLAMAS, L. (13 de OCTUBRE de ,2016). LECTURA DE TARJETAS RFID CON ARDUINO Y LECTOR
MIFARE RC522. Obtenido de LUIS LLAMAS Ingeniería, informática y diseño:
https://www.luisllamas.es/arduino-rfid-mifare-rc522/

-Microcontroladores. (s.f.). Obtenido de SOLAMENTE PROGRAMACION:


http://yurjps.blogspot.com/p/micro.html

-MICROCONTROLADORES. (s.f.). Obtenido de MR. INFORMATICOS:


https://mr5informaticosgj.wordpress.com/primer-departamental/microcontroladores/

-Servo Tower Pro Sg90 9g. (s.f.). Obtenido de TODO MICRO :


https://www.todomicro.com.ar/arduino/279-servo-tower-pro-sg90-9g.html

-SERVOMOTORES. (s.f.). Obtenido de TECNOLOGIA:


https://www.areatecnologia.com/electricidad/servomotor.html

-Wikipedia, c. d. (15 de junio de 2019). Atmega328. Obtenido de Wikipedia, La enciclopedia libre.:


https://es.wikipedia.org/w/index.php?title=Atmega328&oldid=116710874

-Wikipedia, c. d. (29 de mayo de 2019). RFID. Obtenido de Wikipedia, La enciclopedia libre.:


https://es.wikipedia.org/w/index.php?title=RFID&oldid=116310210

64
ANEXOS

65
ANEXO 1

PROGRAMA MAESTRO

#include <SPI.h> // incluye libreria bus SPI

#include<Servo.h> //incluye libreria para manejo del sermovomotor

#include <MFRC522.h> // incluye libreria especificada para MFRC522

#include <Wire.h> // incluiye libreria para comunicacion I2C

#include <LiquidCrystal_I2C.h> //incluye libreria para menejo del LCD

#include <EEPROM.h> //incluye libreria para el uso de la memoria eprom del


microcontrolador

#define RST_PIN 9 // constante para referenciar pin de reset

#define SS_PIN 10 // constante para referenciar pin de slave select

Servo TARJETA1; //DECLARANDO PRIMER SEVOMOTOR

Servo TARJETA2; //DECLARANDO SEGUNDO SERVOMOTOR

Servo TARJETA3; //DECLARANDO SEGUNDO SERVOMOTOR

MFRC522 mfrc522 (SS_PIN, RST_PIN); // crea objeto mfrc522 enviando pines de


slave select y reset

MFRC522::MIFARE_Key key; // Creamos la llave para escrbir en la


memoria del tag

LiquidCrystal_I2C lcd1(0x27, 20, 4); // Seteamos la direccion I2C y declaramos el


tamaño del lcd

LiquidCrystal_I2C lcd2(0x25, 16, 2); // Seteamos la direccion I2C y declaramos el


tamaño del lcd

// Declaracion de variables

byte LecturaUID [4]; // crea array para almacenar el UID leido

byte Usuario [4] = {0xA7, 0xB5, 0xC8, 0x26}; // UID de tarjeta

MFRC522::StatusCode status;

byte sector = 1;

66
byte blockAddr = 4;

byte trailerBlock = 7;

byte dato;

byte buffer[18];

byte size = sizeof(buffer);

char LETRA = 'A';

int numero;

int val;

int BOTON = 2;

int MAS = 3;

int MENOS = 4;

int i = 0;

int n = 0;

int x = 0;

int f; //fila de lcd

int c; //columna de lcd

char caracterM[] = { 'A', 'B', 'C', 'D',

'E', 'F', 'G', 'H',

'I', 'J', 'K', 'L' };

char caracterm[] = { 'a', 'b', 'c', 'd',

'e', 'f', 'g', 'h',

'i', 'j', 'k', 'l' };

67
//creacion de caracteres para el lcd

byte CH0[8] =

B00111,

B01111,

B11111,

B11111,

B11111,

B11111,

B11111,

B11111

};

byte CH1[8] =

B11111,

B11111,

B11111,

B00000,

B00000,

B00000,

B00000,

B00000

};

68
byte CH2[8] =

B11100,

B11110,

B11111,

B11111,

B11111,

B11111,

B11111,

B11111

};

byte CH3[8] =

B11111,

B11111,

B11111,

B11111,

B11111,

B11111,

B01111,

B00111

};

69
byte CH4[8] =

B00000,

B00000,

B00000,

B00000,

B00000,

B11111,

B11111,

B11111

};

byte CH5[8] =

B11111,

B11111,

B11111,

B11111,

B11111,

B11111,

B11110,

B11100

};

70
byte CH6[8] =

B11111,

B11111,

B11111,

B00000,

B00000,

B00000,

B11111,

B11111

};

byte CH7[8] =

B11111,

B11111,

B11111,

B11111,

B11111,

B11111,

B11111,

B11111

};

71
void setup()

Serial.begin (9600); // inicializa comunicación por monitor serie a 9600 bps

Wire.begin(); //inicia comunicacion I2C

SPI.begin (); // inicializa bus SPI

TARJETA1.attach(8, 650, 2000); //DECLARANDO SALIDA DE DATOS PIN 9


Y PWM(0.6s y 2.3s)

TARJETA2.attach(7, 650, 2100); //DECLARANDO SALIDA DE DATOS PIN 8


Y PWM(0.6s y 2.1s)

TARJETA3.attach(6, 650, 2100); //DECLARANDO SALIDA DE DATOS PIN 8


Y PWM(0.6s y 2.1s)

lcd1.init(); // inicializa lcd1

lcd2.init(); // inicializa lcd2

lcd2.createChar(0, CH0); // declaracion de caracteres creados

lcd2.createChar(1, CH1);

lcd2.createChar(2, CH2);

lcd2.createChar(3, CH3);

lcd2.createChar(4, CH4);

lcd2.createChar(5, CH5);

lcd2.createChar(6, CH6);

lcd2.createChar(7, CH7);

lcd1.backlight(); // Prendemos el led del LCD

lcd2.backlight();

mfrc522.PCD_Init (); // inicializa modulo lector

Serial.println ("Listo"); // Muestra texto listo

72
for (byte i = 0 ; i < 6 ; i ++) key.keyByte[i] = 0xFF ; // seteamos el valor de la
variable key

dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE); // asiganmso la llave


a la variable

lcd1.clear(); // limpiamos el LCD

lcd2.clear();

lcd_stock();

pinMode(BOTON, INPUT); // declaracion de salidas y entradas

pinMode(MAS, INPUT);

pinMode(MENOS, INPUT);

lcd2.setCursor(0, 0);

lcd2.print("MIRA AQUI PARA ");

lcd2.setCursor(0, 1);

lcd2.print("RETIRAR ---->");

TARJETA1.write(0);

TARJETA2.write(0);

TARJETA3.write(0);

void loop()

BusquedaTags:

if (! mfrc522.PICC_IsNewCardPresent ()) // si no hay una tarjeta presente

return; // retorna al loop esperando por una tarjeta

if (! mfrc522.PICC_ReadCardSerial ()) // si no puede obtener datos de la tarjeta

return; // retorna al loop esperando por otra tarjeta

73
Serial.print(F("PICC type: "));

MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);

Serial.println(mfrc522.PICC_GetTypeName(piccType));

// chequeo de compatibilidad

if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI

&& piccType != MFRC522::PICC_TYPE_MIFARE_1K

&& piccType != MFRC522::PICC_TYPE_MIFARE_4K) {

Serial.println(F("Este modulo solo trabaja con tarjetas MIFARE Classic "));

return;

for (byte i = 0; i < mfrc522.uid.size; i ++) { // bucle recorre de un byte por vez el
UID

if (mfrc522.uid.uidByte [i] < 0x10) { // si el byte leido es menor a 0x10

Serial.print ("0"); // imprime espacio en blanco y numero cero

else {// sino

Serial.print (""); // imprime un espacio en blanco

Serial.print (mfrc522.uid.uidByte [i], HEX); // imprime el byte del UID leido en


hexadecimal

LecturaUID [i] = mfrc522.uid.uidByte [i]; // almacena en array el byte del UID


leido

74
if (LLave_comparacion (LecturaUID, Usuario)) // llama a funcion comparaUID
con Usuario

Numero_Cajeta(); //llama la funcion Numero_cajeta

control_Manual(); //llama la funcion control_Manual

lcd2.print("MIRA AQUI PARA ");

lcd2.setCursor(0, 1);

lcd2.print("RETIRAR ---->");

goto BusquedaTags; //regresa a la linea con el nombre BusquedaTags

// Autenticacion con el key A

Serial.println(F("Authenticating using key A..."));

status = (MFRC522::StatusCode)
mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A,
trailerBlock, &key, &(mfrc522.uid));

if (status != MFRC522::STATUS_OK) {

Serial.print(F("PCD_Authenticate() failed: "));

Serial.println(mfrc522.GetStatusCodeName(status));

return;

// Mostrar todo el sector tal cual esta actualmente

Serial.println(F("datos en el sector:"));

mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);

Serial.println();

// Lectura de datos del bloque

Serial.print(F("Reading data from block ")); Serial.print(blockAddr);

75
Serial.println(F(" ..."));

status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer,


&size);

if (status != MFRC522::STATUS_OK) {

Serial.print(F("MIFARE_Read() failed: "));

Serial.println(mfrc522.GetStatusCodeName(status));

Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));

dump_byte_array(buffer, 16); Serial.println();

Serial.println();

delay(1000);

Ingresar_Cantidad(); // llama a la funcion ingresar_cantidad

lcd2.clear();

Lectura_Datos(); //llama a la funcion Lectura_Datos

control_Automatico(); // Llama a la funcion control_Automatico

lcd2.setCursor(0, 0);

lcd2.print("MIRA AQUI PARA ");

lcd2.setCursor(0, 1);

lcd2.print("RETIRAR ---->");

delay(2000);

mfrc522.PICC_HaltA(); // Detenercomunicacion con tarjeta

mfrc522.PCD_StopCrypto1(); // Detener el cifrado en el modulo lector

76
boolean LLave_comparacion(byte lectura [], byte usuario []) // funcion comparaUID

for (byte i = 0; i < mfrc522.uid.size; i ++) { // bucle recorre de un byte por vez el
UID

if (lectura[i] != usuario[i]) // si byte de UID leido es distinto a usuario

return (false); } // retorna falso

return (true); // si los 4 bytes coinciden retorna verdadero

void Lectura_Datos() // funcion comparaUID

for (byte i = 0; i < 16; i = i + 1) // bucle recorre de un byte por vez el buffer

switch (buffer[i])//compara los casos con del dato del buffer

case 1:

n = 0;

i++;

lcd2.setCursor(0, 0);

lcd2.print("RESISTEN");

lcd2.setCursor(2, 1);

lcd2.print("1Kohm");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

77
cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(0) - val;

EEPROM.write(0, dato);

f = 2;

if (dato < 10)

lcd1.setCursor(f, 0);

lcd1.print("0");

f = 3;

lcd1.setCursor(f, 0);

lcd1.print(dato);

break;

delay(500);

case 2:

n = 1;

i++;

lcd2.setCursor(1, 0);

lcd2.print("DIODO");

lcd2.setCursor(3, 1);

lcd2.print("3V");

val = buffer[i] * numero;

delay(500);

78
printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(1) - val;

EEPROM.write(1, dato);

f = 7;

if (dato < 10)

lcd1.setCursor(f, 0);

lcd1.print("0");

f = 8;

lcd1.setCursor(f, 0);

lcd1.print(dato);

break;

delay(500);

case 3:

n = 2;

i++;

lcd2.setCursor(0, 0);

lcd2.print("TRANSIST");

lcd2.setCursor(2, 1);

79
lcd2.print("2222A");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(2) - val;

EEPROM.write(2, dato);

f = 12;

if (dato < 10)

lcd1.setCursor(f, 0);

lcd1.print("0");

f = 13;

lcd1.setCursor(f, 0);

lcd1.print(dato);

break;

delay(500);

case 4:

n = 3;

i++;

80
lcd2.setCursor(0, 0);

lcd2.print("CAPACITO");

lcd2.setCursor(3, 1);

lcd2.print("22uF");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(3) - val;

EEPROM.write(3, dato);

f = 17;

if (dato < 10)

lcd1.setCursor(f, 0);

lcd1.print("0");

f = 18;

lcd1.setCursor(f, 0);

lcd1.print(dato);

break;

81
case 5:

n = 4;

i++;

lcd2.setCursor(0, 0);

lcd2.print("RESISTEN");

lcd2.setCursor(1, 1);

lcd2.print("2.2Kohm");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(4) - val;

EEPROM.write(4, dato);

f = 2;

if (dato < 10)

lcd1.setCursor(f, 1);

lcd1.print("0");

f = 3;

lcd1.setCursor(f, 1);

82
lcd1.print(dato);

break;

case 6:

n = 5;

i++;

lcd2.setCursor(1, 0);

lcd2.print("MOSFET");

lcd2.setCursor(3, 1);

lcd2.print("50N2");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(5) - val;

EEPROM.write(5, dato);

f = 7;

if (dato < 10)

lcd1.setCursor(f, 1);

lcd1.print("0");

f = 8; }

83
lcd1.setCursor(f, 1);

lcd1.print(dato);

break;

case 7:

n = 6;

i++;

lcd2.setCursor(2, 0);

lcd2.print("SCR");

lcd2.setCursor(1, 1);

lcd2.print("C106D");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(6) - val;

EEPROM.write(6, dato);

f = 12;

if (dato < 10)

lcd1.setCursor(f, 1);

lcd1.print("0");

84
f = 13;

lcd1.setCursor(f, 1);

lcd1.print(dato);

break;

case 8:

n = 7;

i++;

lcd2.setCursor(3, 0);

lcd2.print("IC");

lcd2.setCursor(2, 1);

lcd2.print("2029");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(7) - val;

EEPROM.write(7, dato);

f = 17;

85
if (dato < 10)

lcd1.setCursor(f, 1);

lcd1.print("0");

f = 18;

lcd1.setCursor(f, 1);

lcd1.print(dato);

break;

case 9:

n = 8;

i++;

lcd2.setCursor(0, 0);

lcd2.print("POTENCIO");

lcd2.setCursor(1, 1);

lcd2.print("50Kohm");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(8) - val;

86
EEPROM.write(8, dato);

f = 2;

if (dato < 10)

lcd1.setCursor(f, 2);

lcd1.print("0");

f = 3;

lcd1.setCursor(f, 2);

lcd1.print(dato);

break;

case 10:

n = 9;

i++;

lcd2.setCursor(1, 0);

lcd2.print("ZENER");

lcd2.setCursor(2, 1);

lcd2.print("3.3V");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

87
delay(50);

dato = EEPROM.read(9) - val;

EEPROM.write(9, dato);

f = 7;

if (dato < 10)

lcd1.setCursor(f, 2);

lcd1.print("0");

f = 8;

lcd1.setCursor(f, 2);

lcd1.print(dato);

break;

case 11:

n = 10;

i++;

lcd2.setCursor(2, 0);

lcd2.print("OPAM");

lcd2.setCursor(2, 1);

lcd2.print("LM358");

val = buffer[i] * numero;

delay(500);

printNumber(val);

abrir_cajeta();

88
BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(10) - val;

EEPROM.write(10, dato);

f = 12;

if (dato < 10)

lcd1.setCursor(f, 2);

lcd1.print("0");

f = 13;

lcd1.setCursor(f, 2);

lcd1.print(dato);

break;

case 12:

n = 11;

i++;

lcd2.setCursor(0, 0);

lcd2.print("TRANSIST");

lcd2.setCursor(1, 1);

lcd2.print("TIP33");

val = buffer[i] * numero;

delay(500);

89
printNumber(val);

abrir_cajeta();

BOTON_ESTADO();

cerrar_cajeta();

lcd2.clear();

delay(50);

dato = EEPROM.read(11) - val;

EEPROM.write(11, dato);

f = 17;

if (dato < 10)

lcd1.setCursor(f, 2);

lcd1.print("0");

f = 18;

lcd1.setCursor(f, 2);

lcd1.print(dato);

break;

case 13:

i++;

lcd2.setCursor(0, 0);

lcd2.print("TARJETA");

lcd2.setCursor(1, 1);

lcd2.print("FUENTE");

val = buffer[i] * numero;

90
delay(500);

printNumber(val);

TARJETA1.write(180);

delay(500);

BOTON_ESTADO();

TARJETA1.write(0);

delay(500);

lcd2.clear();

delay(50);

dato = EEPROM.read(12) - val;

EEPROM.write(12, dato);

f = 2;

if (dato < 10)

lcd1.setCursor(f, 3);

lcd1.print("0");

f = 3; }

lcd1.setCursor(f, 3);

lcd1.print(dato);

break;

case 14:

i++;

lcd2.setCursor(0, 0);

lcd2.print("TARJETA");

lcd2.setCursor(12, 3);

91
lcd2.print("INVERSOR");

val = buffer[i] * numero;

delay(500);

printNumber(val);

TARJETA2.write(180);

delay(1000);

BOTON_ESTADO();

TARJETA2.write(0);

delay(500);

lcd2.clear();

delay(50);

dato = EEPROM.read(13) - val;

EEPROM.write(13, dato);

f = 7;

if (dato < 10)

lcd1.setCursor(f, 3);

lcd1.print("0");

f = 8;

lcd1.setCursor(f, 3);

lcd1.print(dato);

break;

92
case 15:

i++;

lcd2.setCursor(0, 0);

lcd2.print("TARJETA");

lcd2.setCursor(0, 1);

lcd2.print("ESTABILI");

val = buffer[i] * numero;

delay(500);

printNumber(val);

TARJETA3.write(180);

delay(1000);

BOTON_ESTADO();

TARJETA3.write(0);

delay(500);

lcd2.clear();

delay(50);

dato = EEPROM.read(14) - val;

EEPROM.write(14, dato);

f = 12;

if (dato < 10)

lcd1.setCursor(f, 0);

lcd1.print("0");

f = 13;

93
lcd1.setCursor(f, 3);

lcd1.print(dato);

break;

default:

i = 16;

Serial.println("FIN");

delay(500);

lcd2.clear();

break;

void dump_byte_array(byte *buffer, byte bufferSize)

for (byte i = 0; i < bufferSize; i++)

Serial.print(buffer[i] < 0x10 ? " 0" : " ");

Serial.print(buffer[i], HEX);

void lcd_stock()

int d = 0;

for (c = 0; c < 4; c++)

94
{

for (f = 0; f < 16; f = f + 5)

lcd1.setCursor(f, c);

lcd1.print(LETRA);

lcd1.print(":");

if (EEPROM.read(d) < 10)

lcd1.print("0");

lcd1.print(EEPROM.read(d));

LETRA++;

d++;

delay(50);

LETRA = 'A';

void Numero_Cajeta()

lcd2.clear();

lcd2.setCursor(0, 0);

lcd2.print(" ELEJIR");

lcd2.setCursor(0, 1);

lcd2.print(" CAJETA");

numero = 0;

95
while (1)

printNumber( numero );

if (digitalRead(MAS) == LOW)

numero++;

if (numero == 16)

numero = 0;

delay(250);

if (digitalRead(MENOS) == LOW)

numero--;

if (numero == -1)

numero = 0;

delay(250);

if (digitalRead(BOTON) == LOW)

x = numero - 1;

break;

96
void Ingresar_Cantidad()

lcd2.clear();

lcd2.setCursor(0, 0);

lcd2.print("TARJETAS");

lcd2.setCursor(0, 1);

lcd2.print("A HACER:");

numero = 0;

while (1)

printNumber( numero );

if (digitalRead(MAS) == LOW)

numero++;

if (numero == 16)

numero = 0;

delay(250);

if (digitalRead(MENOS) == LOW)

numero--;

if (numero == -1)

numero = 0;

delay(250);

97
if (digitalRead(BOTON) == LOW)

break;

void printNumber(int val)

int col = 9;

printDigits(val / 10, col);

printDigits(val % 10, col + 4);

void printDigits(int digits, int x)

switch (digits)

case 0:

custom0(x);

break;

case 1:

custom1(x);

break;

case 2:

custom2(x);

break;

98
case 3:

custom3(x);

break;

case 4:

custom4(x);

break;

case 5:

custom5(x);

break;

case 6:

custom6(x);

break;

case 7:

custom7(x);

break;

case 8:

custom8(x);

break;

case 9:

custom9(x);

break;

99
void custom0(int x)

lcd2.setCursor(x, 0);

lcd2.write(0);

lcd2.write(1);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.write(3);

lcd2.write(4);

lcd2.write(5);

void custom1(int x)

lcd2.setCursor(x, 0);

lcd2.write(1);

lcd2.write(2);

lcd2.print(" ");

lcd2.setCursor(x, 1);

lcd2.write(4);

lcd2.write(7);

lcd2.write(4);

100
void custom2(int x)

lcd2.setCursor(x, 0);

lcd2.write(6);

lcd2.write(6);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.write(3);

lcd2.write(4);

lcd2.write(4);

void custom3(int x)

lcd2.setCursor(x, 0);

lcd2.write(6);

lcd2.write(6);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.write(4);

lcd2.write(4);

lcd2.write(5);

101
void custom4(int x)

lcd2.setCursor(x, 0);

lcd2.write(3);

lcd2.write(4);

lcd2.write(7);

lcd2.setCursor(x, 1);

lcd2.print(" ");

lcd2.print(" ");

lcd2.write(7);

void custom5(int x)

lcd2.setCursor(x, 0);

lcd2.write(3);

lcd2.write(6);

lcd2.write(6);

lcd2.setCursor(x, 1);

lcd2.write(4);

lcd2.write(4);

lcd2.write(5);

102
void custom6(int x)

lcd2.setCursor(x, 0);

lcd2.write(0);

lcd2.write(6);

lcd2.write(6);

lcd2.setCursor(x, 1);

lcd2.write(3);

lcd2.write(4);

lcd2.write(5);

void custom7(int x)

lcd2.setCursor(x, 0);

lcd2.write(1);

lcd2.write(1);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.print(" ");

lcd2.print(" ");

lcd2.write(7);

103
void custom8(int x)

lcd2.setCursor(x, 0);

lcd2.write(0);

lcd2.write(6);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.write(3);

lcd2.write(4);

lcd2.write(5);

void custom9(int x)

lcd2.setCursor(x, 0);

lcd2.write(0);

lcd2.write(6);

lcd2.write(2);

lcd2.setCursor(x, 1);

lcd2.print(" ");

lcd2.print(" ");

lcd2.write(7);

104
void BOTON_ESTADO()

while (1)

if (digitalRead(BOTON) == LOW)

delay(200);

break;

void control_Manual()

lcd2.clear();

for (n = 0; n < 15; n++)

if (x == n)

char cajeta = 'A' + n;

lcd2.setCursor(0, 0);

lcd2.print("LLENAR CAJETA");

lcd2.setCursor(0, 1);

lcd2.print("NUMERO: ");

lcd2.print(cajeta);

delay(500);

105
while (digitalRead(BOTON) != LOW);

delay(500);

abrir_cajeta();

Llenado();

cerrar_cajeta();

dato = EEPROM.read(n) + numero;

if (dato >= 100)

dato = 99;

EEPROM.write(n, dato);

lcd_stock();

delay(500);

lcd2.clear();

lcd2.clear();

void control_Automatico()

for (n = 0; n < 15; n++)

if (EEPROM.read(n) <= 30)

char cajeta = 'A' + n;

lcd2.setCursor(0, 0);

lcd2.print("LLENAR CAJETA");

106
lcd2.setCursor(0, 1);

lcd2.print("NUMERO: ");

lcd2.print(cajeta);

while (digitalRead(BOTON) != LOW);

delay(500);

abrir_cajeta();

Llenado();

cerrar_cajeta();

dato = EEPROM.read(n) + numero;

if (dato >= 100)

dato = 99;

EEPROM.write(n, dato);

lcd_stock();

delay(500);

lcd2.clear();

lcd2.clear();

107
void Llenado()

lcd2.clear();

lcd2.setCursor(0, 0);

lcd2.print("INGRESE");

lcd2.setCursor(0, 1);

lcd2.print("CANTIDAD");

numero = 0;

int unidad = 0;

while (1)

printNumber( numero );

if (digitalRead(MAS) == LOW)

numero = numero + 10;

if (numero == 100)

numero = 0;

delay(250);

if (digitalRead(MENOS) == LOW)

numero++;

unidad++;

108
if (unidad == 10)

numero = numero - unidad;

unidad = 0;

delay(250);

if (digitalRead(BOTON) == LOW)

break;

void abrir_cajeta()

Serial.println(caracterM[n]);

Wire.beginTransmission(1);// direccion del dispositivo a enviar

Wire.write(caracterM[n]); // Enviamos un byte, será el pin a encender

Wire.endTransmission(); // Paramos la transmisión

delay(500);// Esperamos 0.5 segundo

109
if (n == 12)

TARJETA1.write(180);

if (n == 13)

TARJETA2.write(180);

if (n == 14)

TARJETA3.write(180);

delay(500);

void cerrar_cajeta()

Serial.println(caracterm[n]);

Wire.beginTransmission(1);// direccion del dispositivo a enviar

Wire.write(caracterm[n]); // Enviamos un byte, será el pin a encender

Wire.endTransmission(); // Paramos la transmisión

delay(500);// Esperamos 0.5 segundo

if (n == 12)

TARJETA1.write(0);

if (n == 13)

TARJETA2.write(0);

if (n == 14)

TARJETA3.write(0);

110
PROGRAMA ESCLAVO

#include<Servo.h> //LIBRERIA DEL SERVOMOTOR

#include <Wire.h> //LIBRERIA PARA COMUNICACION I2C

Servo motor1; //DECLARANDO PRIMER SEVOMOTOR

Servo motor2; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor3; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor4; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor5; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor6; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor7; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor8; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor9; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor10; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor11; //DECLARANDO SEGUNDO SERVOMOTOR

Servo motor12; //DECLARANDO SEGUNDO SERVOMOTOR

char c; // DECLARANDO VARIABLE TIPO CHAR

void setup() {

motor1.attach(A0,650,2000); //DECLARANDO SALIDA DE DATOS PIN A0 Y


PWM(0.6s y 2.3s)

motor2.attach(A1,650,2100); //DECLARANDO SALIDA DE DATOS PIN A1 Y


PWM(0.6s y 2.3s)

motor3.attach(A2,650,2100); //DECLARANDO SALIDA DE DATOS PIN A2 Y


PWM(0.6s y 2.3s)

motor4.attach(13,650,2100); //DECLARANDO SALIDA DE DATOS PIN 13Y


PWM(0.6s y 2.3s)

motor5.attach(12,650,2100); //DECLARANDO SALIDA DE DATOS PIN 12 Y


PWM(0.6s y 2.3s)
111
motor6.attach(11,650,2100); //DECLARANDO SALIDA DE DATOS PIN 11 Y
PWM(0.6s y 2.3s)

motor7.attach(10,650,2100); //DECLARANDO SALIDA DE DATOS PIN 10 Y


PWM(0.6s y 2.3s)

motor8.attach(9,650,2100); //DECLARANDO SALIDA DE DATOS PIN 9 Y


PWM(0.6s y 2.3s)

motor9.attach(8,650,2100); //DECLARANDO SALIDA DE DATOS PIN 8 Y


PWM(0.6s y 2.3s)

motor10.attach(7,650,2100); //DECLARANDO SALIDA DE DATOS PIN 7 Y


PWM(0.6s y 2.3s)

motor11.attach(6,650,2100); //DECLARANDO SALIDA DE DATOS PIN 6 Y


PWM(0.6s y 2.3s)

motor12.attach(5,650,2100); //DECLARANDO SALIDA DE DATOS PIN 5 Y


PWM(0.6s y 2.3s)

// Unimos este dispositivo al bus I2C con dirección 1

Wire.begin(1);

// Registramos el evento al recibir datos

Wire.onReceive(receiveEvent);

// Iniciamos el monitor serie para monitorear la comunicación

Serial.begin(9600);

motor1.write(0); //movemos el servomotor a 0 grados

motor2.write(0);

motor3.write(0);

motor4.write(0);

motor5.write(0);

motor6.write(0);

motor7.write(0);

motor8.write(0);

motor9.write(0);

112
motor10.write(0);

motor11.write(0);

motor12.write(0);

void loop() {

if (c == 'A') // compara la lectura Enviada por el maestro

Serial.println("servo1");

motor1.write(180);

c=0;

if(c == 'a') // compara la lectura Enviada por el maestro

motor1.write(0);

c=0;

if (c == 'B') // compara la lectura Enviada por el maestro

Serial.println("servo2");

motor2.write(180);

c=0;

if(c == 'b') // compara la lectura Enviada por el maestro

motor2.write(0);

113
c=0;

if (c == 'C')

Serial.println("servo3");

motor3.write(180);

c=0;

if(c == 'c')

motor3.write(0);

c=0;

if (c == 'D')

Serial.println("servo4");

motor4.write(180);

c=0;

if(c == 'd')

motor4.write(0);

c=0;

114
if (c == 'E') {

Serial.println("servo5");

motor5.write(180);

c=0;

if(c == 'e')

motor5.write(0);

c=0;

if (c == 'F')

Serial.println("servo6");

motor6.write(180);

c=0;

if(c == 'f') {

motor6.write(0);

c=0;

if (c == 'G')

Serial.println("servo7");

motor7.write(180);

c=0; }

115
if(c == 'g') {

motor7.write(0);

c=0;

if (c == 'H')

Serial.println("servo8");

motor8.write(180);

c=0;

if(c == 'h') {

motor8.write(0);

c=0;

if (c == 'I')

Serial.println("servo9");

motor9.write(180);

c=0;

if(c == 'i')

motor9.write(0);

c=0;

116
if (c == 'J')

Serial.println("servo10");

motor10.write(180);

c=0;

if(c == 'j')

motor10.write(0);

c=0;

if (c == 'K')

Serial.println("servo11");

motor11.write(180);

c=0;

if(c == 'k')

motor11.write(0);

c=0;

117
if (c == 'L')

Serial.println("servo12");

motor12.write(180);

c=0; }

if(c == 'l')

motor12.write(0);

c=0;

delay(300);

// Función que se ejecuta siempre que se reciben datos del master

// siempre que en el master se ejecute la sentencia endTransmission

// recibirá toda la información que hayamos pasado a través de la sentencia


Wire.write

void receiveEvent(int howMany)

c= Wire.read(); //variable c toma el valor recibido por el master

118
Programa de Escritura del tag

#include <SPI.h> // incluye libreria bus SPI

#include <MFRC522.h> // incluye libreria especificada para MFRC522

#define RST_PIN 9 // constante para referenciar pin de reset

#define SS_PIN 10 // constante para referenciar pin de slave select

MFRC522 mfrc522(SS_PIN, RST_PIN); // crea objeto mfrc522 enviando pines


de slave select y reset

MFRC522::MIFARE_Key key; // Creamos la llave para escrbir en la memoria del


tag

void setup()

Serial.begin(9600); // inicializa comunicación por monitor serie a 9600 bps

while (!Serial); // Verifica comunicacion serial

SPI.begin(); // Inicializa SPI bus

mfrc522.PCD_Init(); // Inicializa modulo MFRC522

// Preparar key (utilizada tanto como key A como key B)

// usando FFFFFFFFFFFFh, que es el valor predeterminado en la entrega de


chips de fábrica

for (byte i = 0; i < 6; i++) {

key.keyByte[i] = 0xFF; }

dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE);

119
void loop() {

// Buscar nuevas tarjetas

if ( ! mfrc522.PICC_IsNewCardPresent())

return;

//Seleccione una de las tarjetascards

if ( ! mfrc522.PICC_ReadCardSerial())

return;

// Mostrar algunos detalles del PICC (es decir, la etiqueta / tarjeta)

Serial.print(F("Card UID:"));

dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

Serial.println();

Serial.print(F("PICC type: "));

MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);

Serial.println(mfrc522.PICC_GetTypeName(piccType));

// Comprobar la compatibilidad

if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI

&& piccType != MFRC522::PICC_TYPE_MIFARE_1K

&& piccType != MFRC522::PICC_TYPE_MIFARE_4K) {

Serial.println(F("This sample only works with MIFARE Classic cards."));

return; }

// En esta muestra utilizamos el segundo sector,

// es decir: sector # 1, que cubre el bloque # 4 hasta el bloque # 7 inclusive.

byte sector = 1;

byte blockAddr = 4;

byte dataBlock1[] = { 0x02, 0x02, 0x05, 0x03, // DATOS PARA ESTABILIZADOR

120
0x06, 0x01, 0x08, 0x01,

0x0A, 0x01, 0x0D, 0x01,

0x00, 0x00, 0x00, 0x00

};

byte dataBlock2[] = {0x04, 0x03, 0x05, 0x02, // DATOS PARA INVERSOR

0x07, 0x02, 0x0B, 0x01,

0x0C, 0x03, 0x0E, 0x01,

0x00, 0x00, 0x00, 0x00

};

byte dataBlock3[] = {0x01, 0x03, 0x03, 0x02, // DATOS PARA FUENTE REGULABLE

0x06, 0x01, 0x07, 0x02,

0x09, 0x03, 0x0F, 0x01,

0x00, 0x00, 0x00, 0x00

};

byte trailerBlock = 7; // declaramos el bloque de escritura

MFRC522::StatusCode status;

byte buffer[18];

byte size = sizeof(buffer);

// Autenticar utilizando la clave A

Serial.println(F("Authenticating using key A..."));

status = (MFRC522::StatusCode)
mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A,
trailerBlock, &key, &(mfrc522.uid));

121
if (status != MFRC522::STATUS_OK) {

Serial.print(F("PCD_Autenticacion() fallo: "));

Serial.println(mfrc522.GetStatusCodeName(status));

return;

// Mostrar todo el sector tal como es actualmente.

Serial.println(F("datos actuales del sector:"));

mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key,
sector);

Serial.println();

// Leer datos del bloque.

Serial.print(F("lectura del block ")); Serial.print(blockAddr);

Serial.println(F(" ..."));

status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer,


&size);

if (status != MFRC522::STATUS_OK) {

Serial.print(F("MIFARE_lectura() falló: "));

Serial.println(mfrc522.GetStatusCodeName(status)); }

Serial.print(F("Datos en el block ")); Serial.print(blockAddr); Serial.println(F(":"));

dump_byte_array(buffer, 16); Serial.println();

Serial.println();

// Autenticar usando la clave B

Serial.println(F("Autenticacion usando la clave B B..."));

status = (MFRC522::StatusCode)
mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B,
trailerBlock, &key, &(mfrc522.uid));

if (status != MFRC522::STATUS_OK) {

122
Serial.print(F("PCD_Authenticacion () falló: "));

Serial.println(mfrc522.GetStatusCodeName(status));

return;

// Escribir datos en el bloque.

Serial.print(F("Writing data into block ")); Serial.print(blockAddr);

Serial.println(F(" ..."));

dump_byte_array(dataBlock, 16); Serial.println();

status = (MFRC522::StatusCode) mfrc522.MIFARE_Write(blockAddr,


dataBlock, 16);

if (status != MFRC522::STATUS_OK)

Serial.print(F("MIFARE_escritura() falló: "));

Serial.println(mfrc522.GetStatusCodeName(status));

Serial.println();

//Lea los datos del bloque (de nuevo, ahora debería ser lo que hemos escrito)

Serial.print(F("lectura de datos del block ")); Serial.print(blockAddr);

Serial.println(F(" ..."));

status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(blockAddr, buffer,


&size);

if (status != MFRC522::STATUS_OK)

Serial.print(F("MIFARE_lectura() falló: "));

Serial.println(mfrc522.GetStatusCodeName(status));

123
Serial.print(F("Dato en el block ")); Serial.print(blockAddr); Serial.println(F(":"));

dump_byte_array(buffer, 16); Serial.println();

// Compruebe que los datos en bloque son lo que hemos escrito.

// contando el número de bytes que son iguales

Serial.println(F("Verificando resultado..."));

byte count = 0;

for (byte i = 0; i < 16; i++)

// Compara el búfer (= lo que hemos leído) con dataBlock (= lo que hemos


escrito)

if (buffer[i] == dataBlock[i])

count++;

Serial.print(F("Number of bytes that match = ")); Serial.println(count);

if (count == 16)

Serial.println(F("exitoso :-)"));

} else {

Serial.println(F("Falló, no coincide :-("));

Serial.println(F(" perhaps the write didn't work properly..."));

Serial.println();

124
// Volcar los datos del sector.

Serial.println(F("Datos en el sector:"));

mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key,
sector);

Serial.println();

// Detener el PICC

mfrc522.PICC_HaltA();

//Detener el cifrado en PCD

mfrc522.PCD_StopCrypto1();

void dump_byte_array(byte *buffer, byte bufferSize) // funcion que recorre el buffer


byte por byte

for (byte i = 0; i < bufferSize; i++) {

Serial.print(buffer[i] < 0x10 ? " 0" : " ");

Serial.print(buffer[i], HEX);

125
ANEXO 2

126
ANEXO 3

DATASHET ATMEGA 328P

127
128
129
ANEXO 4

DATASHEET DEL MFRC522

130
Código de fabricante (bloque 0
del sector 0)

El primer bloque de la memoria


está reservado para datos de
fabricante como el número de
serie de 32 bits. Este es un bloque
de sólo lectura. En muchos
documentos se denomina
"Bloque 0".

Bloque de datos (Bloque 0 a 3


excepto "Bloque 0")

Las condiciones de acceso a los


Bloques de Datos se definen en los
Trailers de Sector. De acuerdo con
estas condiciones, los datos
pueden ser leídos, escritos,
incrementados, decrementados,
transferidos o restaurados con la
Clave A, la Clave B o nunca.

131
El cuarto bloque de cualquier sector es el Trailer del Sector. El Sector Trailer
contiene la Clave de acceso A (KEYSECXA) una Clave B opcional (KEYSECXB) y
las condiciones de acceso para los cuatro bloques de dicho sector. Si no se
necesita la clave B, los últimos 6 bytes del bloque 3 se pueden utilizar como
bytes de datos.
Los ajustes de las condiciones de acceso correspondiente se marcan en gris
a continuación.
C1XY a C3XY que se almacenan dos veces por razones de seguridad definen
la condición de acceso independientemente para los sectores de cuatro
bloques. El último byte de las condiciones de acceso puede ser utilizado para
almacenar algunos datos específicos. datos de la aplicación (por ejemplo, la
ubicación del bloque de escritura de la copia de seguridad).
* Condición de acceso al Sector Trailer (Y = 3)

132
ANEXO 5

DATASHET SERVOMOTOR SG90

133

También podría gustarte