Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FRANCISCO MORAZÁN
Estudiantes:
Paola Susana Hernández Rodríguez
Santos Francisco Flores Osorto
Walter Iván Pineda Pineda
Wilmer Rigoberto Murillo Banegas
17/04/2017
Índice
Proyecto 3
Introducción 4
Objetivos 5
Objetivo General: 5
Objetivos Específicos: 5
Justificación 6
Marco Conceptual 7
Antecedentes 7
Fundamentación Teórica 8
Presupuesto 11
Fuentes de financiamiento 11
Informe económico actual 11
Materiales 11
Proceso de desarrollo del proyecto (Tutorial) 12
Plan de actividades 15
Presentación proyecto finalizado 15
Conclusiones 16
Sugerencias 17
Bibliografía 18
Anexos 19
Glosario 19
Codificación 22
Fotos 37
2
Proyecto
Auto Timbre
3
Introducción
Este producto elimina la necesidad de tener a una persona asignada a accionar el timbre
durante el día permitiendo reasignarla a otra actividad más productiva. El producto es
completamente autónomo. El producto es configurable para adaptarse a cualquier horario de
actividades.
Estamos seguros de que nuestro producto cubrirá todas sus expectativas y necesidades,
brindándole muchos años de óptimo funcionamiento.
4
Objetivos
Objetivo General:
Objetivos Específicos:
5
Justificación
Este proyecto se realizó básicamente para hacer una mejora en el molesto timbrado manual
haciéndolo automatizado y con bajo margen de error para tener más seguridad y confiabilidad
en los cambios de hora, en el inicio o el fin de cada receso o para el timbre que avisa que la
jornada ha terminado, pues en distintas escuelas aún se usa el tener un encargado de tener
que ir a timbrar y en ocasiones esto puede provocar problemas de organización o de pérdida
de tiempo por variaciones en los tiempos que hay entre cada timbre.
6
Marco Conceptual
Antecedentes
El timbre automático programable se define como un reloj digital capaz de ser programado
con varias alarmas según sea requerido. En el mercado existen ya bastantes tipos de relojes
que tienen esta función incluso otro tipo de aparatos que pueden hacer exactamente lo mismo
como son los PLC que son procesadores lógico programables que son utilizados en la
industria para controlar todo tipo de procesos mediante programación con un software
específico de cada marca o tipo de PLC.
El timbre automatico programable es una combinación de un aparato sencillo con una
aplicación útil.
La idea nació después de fijarnos que en muchos lugares es necesario un timbre para indicar
el inicio o el final de algo, para esto buscamos circuitos que nos pudieran servir como el
diseño del RTC DS3231, los contadores, los codificadores, la fuente de alimentación, la
visualización y la señalización de las alarmas que en este caso será un timbre.
Con el timbre automático que diseñamos se quitan de la lista muchísimos de estos factores
como, son el tener que poner a un encargado de ir cada vez a timbrar, o en ocasiones puede
tener errores como hacerlo antes o después de la hora correcta o simplemente no hacerlo etc.,
pues al contar con un RTC DS3231 que se encarga de hacer un conteo exacto segundo por
segundo es casi improbable que ocurra algún problema, así solo se tiene que esperar para
escuchar el timbre que ya estará previamente programado para cada cambio de hora y para
el inicio o el fin de los recesos y la hora de salida.
7
Fundamentación Teórica
A continuación, se presenta un listado de conceptos que se han utilizado en el diseño del
prototipo:
8
información consiste en voz (señales de voz) o en música en un receptor de radio, en
una imagen en una pantalla de televisión, o en números u otros datos en una
computadora.
● Embebido: es cuando un conjunto de componentes de electrónica o informática están
embebidos o empotrados dentro de un sistema de mayor escala, es decir el pequeño
sistema está embebido o integrado en otro de mayor nivel.
● Prototipo: es un primer modelo o molde original que se fabrica y de este modelo se
parte para la elaboración de lo que se pretende, un objeto, herramienta, dispositivo
electrónico, etc.
● Hardware: es la parte tangible, lo que se puede ver y tocar, de un determinado
sistema o equipo electrónico o informático.
● Software: es la parte interna que en algunos casos no se puede ver y no se puede
tocar; es el bloque lógico encargado de indicar que es lo que se debe hacer, esto según
lo que se le haya programado al dispositivo.
● Periférico: son los dispositivos de entrada y salida que permiten la conexión con el
entorno físico, como entradas de información y salidas, es decir donde se muestra la
función final del equipo o dispositivo.
● Memoria: es un dispositivo diseñado y fabricado específicamente para guardar en
ella información. La capacidad dependerá del tipo de equipo que se esté
implementando, y puede ser que la memoria sea externa o que ya venga incorporada
en uno de los dispositivos que se están usando, estas pueden ser ROM, PROM,
EPROM, EEPROM, RAM, entre otras
● CPU: unidad central de procesamiento, este es un bloque principal dentro de un
dispositivo, es el cerebro, se encarga de dar las órdenes a los demás dispositivos, en
algunos casos pueden usarse microcontroladores o microprocesadores como parte
fundamental del bloque de control.
● Puertos electrónicos: son dispositivos físicos que sirven como puertos de conexión
que permite la entrada y salida de información al dispositivo, es el medio donde se
conecta la entrada y la salida.
● Fuente de potencia: es el bloque encargado de proporcionar la potencia eléctrica
necesaria para que el equipo funcione correctamente, la fuente está alimentando al
9
equipo durante el tiempo que está encendido, y además de una fuente también puede
utilizarse baterías alcalinas, solo debe tomarse en cuenta cual es la magnitud que se
necesita.
● Timbre de campanilla: es un dispositivo capaz de producir una señal sonora al
pulsar un interruptor. Su funcionamiento se basa en fenómenos electromagnéticos.
● Robótica: conjunto de conocimientos prácticos que permite obtener, realizar y
automatizar sistemas basándose en estructuras metálicas empleando un cierto grado
de inteligencia, para que sea posible lograr que un equipo destinado a desempeñarse
en un determinado ambiente.
● Pantalla LCD: es una lámina que se sujeta delante o alrededor de la luz artificial, en
el cual pueden proyectarse imágenes o textos, lo que ofrece una vista bien definida
del objeto o imagen que se proyecta en ella. En este caso la pantalla estará formada
con matrices de leds.
● Domótica: la palabra domótica etimológicamente viene de la unión de dos palabras,
del latín “DOMUS” que significa casa y AUTOMÁTICA, por lo tanto, se denomina
como el área de aplicación que tiene por objetivo la automatización de procesos
dentro del hogar, además de ser un área multidisciplinaria que requiere conocimientos
de electrónica e informática para su implementación.
● Sistema digital programable: son aquellos sistemas que funcionan igual que un
circuito lógico con la diferencia de que la función lógica puede ser cambiada vía
programación, el componente principal de estos sistemas son dispositivos
programables, por ejemplo, un Microcontrolador.
10
Presupuesto
Fuentes de financiamiento
El Gran Total será de L 1,244.00 tomando en cuenta que dicha inversión será
financiada por los integrantes del grupo.
Materiales
Los materiales técnicos que se utilizan en esta para el desarrollo del Auto Timbre son:
11
Proceso de desarrollo del proyecto (Tutorial)
Teniendo todos los elementos físicos (microcontrolador, lcd, relé, buzzer, resistencias, RTC,
diodos) y lógico (algoritmo, firmware), se tiene que proceder a construir el circuito, lo
primero que se tiene que hacer es identificar todos y cada uno de los componentes, identificar
sus pines, positivos, negativos.
Los componentes se conectarán con el otro, formando así el circuito, no se debe olvidar la
parte donde se conectará el programador, ya teniendo previamente elaborado el FIRMWARE
o programa de control del circuito se le descarga al microcontrolador mediante el programa
bootloader. Se verifica que todo esté conectado según el diagrama, se debe de estar seguro
que todo está en orden para posteriormente realizar las pruebas preliminares sobre el
funcionamiento de cada elemento y de todos ellos en conjunto.
12
Conectando la pantalla y el RTC a la placa electrónica
13
Primera prueba con el RELE de estado sólido
14
Plan de actividades
15
Conclusiones
El proyecto Auto Timbre elimina el timbrado de forma manual y lo hace un poco más cómodo
convirtiéndolo en algo automatizado.
16
Sugerencias
● Se recomienda capacitar previamente a las personas para que puedan usar y programar
adecuadamente el Auto Timbre.
● El dispositivo debe ser colocado en un lugar visible y de fácil acceso para la persona
encargada de monitorear y supervisar que se cumplan los horarios de clases.
● Para mayor facilidad y conveniencia se recomienda comprar los componentes al por mayor.
● Producirlo en masa para ser aplicado en centros educativos, fábricas, oficinas, terminales
de transporte, líneas de producción, empresas y otros negocios.
17
Bibliografía
● MCI electronics. (noviembre 05,2012). ¿QUÉ ES ARDUINO? abril 04, 2017, de MCI
electronics Sitio web: http://arduino.cl/que-es-arduino/
● Smithsonian Institution Archives. (enero,13, 2012). Joseph Henry: Una vida en ciencia.
abril,14,2017, de Smithsonian Institution Archives Sitio web:
https://siarchives.si.edu/history/exhibits/henry/electromagnetism
● Bergren. (2003). Antony of a robot. New York: McGaw-Hill.
● Crespo, E. (noviembre, 17, 2014). Bootloader. abril, 16, 2017, de WordPress.com Sitio
web: https://aprendiendoarduino.wordpress.com/tag/bootloader/
18
Anexos
Glosario
19
● Fuente de potencia: es el bloque ella. En este caso la pantalla estará
encargado de proporcionar la formada con matrices de leds.
potencia eléctrica necesaria para que ● Placa Electrónica: es un tipo de
el equipo funcione correctamente, la placa de circuito impreso que se
fuente está alimentando al equipo adapta a muchas diferentes entradas y
durante el tiempo que está encendido, módulos de salida en diferentes slots.
y además de una fuente también Básicamente, es una especie de junta
puede utilizarse baterías alcalinas, que le permite conectar todo tipo de
solo debe tomarse en cuenta cual es la periféricos a las franjas horarias que
magnitud que se necesita. se asignan en ella. Puede ser tan
● Hardware: es la parte tangible, lo simple como una tabla grande con
que se puede ver y tocar, de un una colección de ranuras o tan
determinado sistema o equipo complejo como el autobús periférico
electrónico o informático. de un ordenador en la placa base.
● Memoria: es un dispositivo diseñado ● Periférico: son los dispositivos de
y fabricado específicamente para entrada y salida que permiten la
guardar en ella información. La conexión con el entorno físico, como
capacidad dependerá del tipo de entradas de información y salidas, es
equipo que se esté implementando, y decir donde se muestra la función
puede ser que la memoria sea externa final del equipo o dispositivo.
o que ya venga incorporada en uno de ● Prototipo: es un primer modelo o
los dispositivos que se están usando, molde original que se fabrica y de este
estas pueden ser ROM, PROM, modelo se parte para la elaboración
EPROM, EEPROM, RAM, entre de lo que se pretende, un objeto,
otras herramienta, dispositivo electrónico,
● Pantalla LCD: es una lámina que se etc.
sujeta delante o alrededor de la luz ● Puertos electrónicos: son
artificial, en el cual pueden dispositivos físicos que sirven como
proyectarse imágenes o textos, lo que puertos de conexión que permite la
ofrece una vista bien definida del entrada y salida de información al
objeto o imagen que se proyecta en
20
dispositivo, es el medio donde se de CPU). Se caracteriza por tener un
conecta la entrada y la salida. bajo consumo de energía y también
● RELE de estado sólido: es un normalmente su propia fuente de
dispositivo interruptor electrónico alimentación auxiliar.
que conmuta el paso de la electricidad ● Sistema digital programable: son
cuando una pequeña corriente es aquellos sistemas que funcionan igual
aplicada en sus terminales de control. que un circuito lógico con la
Estos consisten en un sensor que diferencia de que la función lógica
responde a una entrada apropiada puede ser cambiada vía
(señal de control), un interruptor programación, el componente
electrónico de estado sólido que principal de estos sistemas son
conmuta el circuito de carga, y un dispositivos programables, por
mecanismo de acoplamiento a partir ejemplo, un Microcontrolador.
de la señal de control que activa este ● Sistema: conjunto de partes o cosas
interruptor sin partes mecánicas. coordinadas por reglamentos
● Robótica: conjunto de diseñados para un fin, o una
conocimientos prácticos que permite aplicación.
obtener, realizar y automatizar ● Software: es la parte interna que en
sistemas basándose en estructuras algunos casos no se puede ver y no se
metálicas empleando un cierto grado puede tocar; es el bloque lógico
de inteligencia, para que sea posible encargado de indicar que es lo que se
lograr que un equipo destinado a debe hacer, esto según lo que se le
desempeñarse en un determinado haya programado al dispositivo.
ambiente. ● Timbre de campanilla: es un
● RTC DS3231: es un circuito dispositivo capaz de producir una
electrónico especializado cuya señal sonora al pulsar un interruptor.
función es mantener la hora y fecha Su funcionamiento se basa en
actual en un sistema informático (ya fenómenos electromagnéticos.
sea con microcontrolador u otro tipo
21
Codificación
//Llama a las librerías wire para la comunicación serial del módulo y liquidcrystal para el control
de la pantalla
#include "Wire.h"
#include "LiquidCrystal.h"
// se declara el pin de salida que controlara al timbre por medio del rele de estado solido
// el rele de estado solido es el encargado de recibir el pulso de 5volts del arduino y con esa señal
controla cargas hasta de 600 Volts a 10 Amperios
22
return( (val/16*10) + (val%16) );
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; //estas variables las saque de
muestra serial con el fin de hacerlas globales
void setup()
lcd.begin(20, 4);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("UPNFM");
lcd.setCursor(1,1);
lcd.print("PFP");
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
//lcd.setCursor(1,0); //lcd.print("UPNFM");
23
//lcd.setCursor(1,1); //lcd.print("PFP");
pinMode(salida_2, OUTPUT);
Wire.begin();
Serial.begin(9600);
//====================================================================
//setDS3231time(00,11,17,5,14,4,16);
//====================================================================
void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
24
// sets time and date data to DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.endTransmission();
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.endTransmission();
25
Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
// request seven bytes of data from DS3231 starting from register 00h
*minute = bcdToDec(Wire.read());
*dayOfWeek = bcdToDec(Wire.read());
*dayOfMonth = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());
//====================================================================
//====================================================================
void displayTime()
&year);
Serial.print(hour, DEC);
26
// convert the byte variable to a decimal number when displayed
Serial.print(":");
if (minute<10)
Serial.print("0");
Serial.print(minute, DEC);
Serial.print(":");
if (second<10)
Serial.print("0");
//lcd.setCursor(2,15);
Serial.print(second, DEC);
Serial.print(" ");
Serial.print(dayOfMonth, DEC);
Serial.print("/");
Serial.print(month, DEC);
Serial.print("/");
Serial.print(year, DEC);
switch(dayOfWeek){
case 1:
27
Serial.println("Sunday");
break;
case 2:
Serial.println("Monday");
break;
case 3:
Serial.println("Tuesday");
break;
case 4:
Serial.println("Wednesday");
break;
case 5:
Serial.println("Thursday");
break;
case 6:
Serial.println("Friday");
break;
case 7:
Serial.println("Saturday");
break;
28
//====================================================================
//====================================================================
void displayTime_lcd()
&year);
//-------------->Imprime fecha
lcd.setCursor(6,2);
lcd.write(" ");
lcd.setCursor(3,2);
else {
lcd.setCursor(3,2);
lcd.write(" ");
lcd.setCursor(7,2);
lcd.write(" ");
lcd.setCursor(4,2);
29
}
switch(dayOfWeek){
case 1:
lcd.write("Dom");
break;
case 2:
lcd.write("Lun");
break;
case 3:
lcd.write("Mar");
break;
case 4:
lcd.write("Mie");
break;
case 5:
lcd.write("Jue");
break;
case 6:
lcd.write("Vie");
break;
30
case 7:
lcd.write("Sab");
break;
// lcd.clear();
lcd.setCursor(7,2);
else{
lcd.setCursor(8,2);
lcd.print(dayOfMonth, DEC);
lcd.print("/");
//lcd.print(month, DEC);
lcd.setCursor(13,2);
lcd.print("/");
lcd.print(year, DEC);
//------------------>Imprime hora
if ((hour >= 10 && hour <= 12) || (hour >= 22 && hour <= 24)){
31
lcd.setCursor(4,3);
else{
lcd.setCursor(4,3);
lcd.write(" ");
lcd.setCursor(5,3);
//
lcd.print(hour, DEC); // convert the byte variable to a decimal number when displayed
lcd.setCursor(13,3);
lcd.write("AM");
//
lcd.setCursor(13,3);
lcd.write("PM");
32
if ((hour > 11) && (hour < 13)) {
//
lcd.print((hour), DEC);
lcd.setCursor(13,3);
lcd.write("PM");
if (hour < 1) {
//
lcd.setCursor(4,3);
lcd.print("12");
lcd.setCursor(13,3);
lcd.write("AM");
lcd.setCursor(6,3);
lcd.print(":");
if (minute<10)
lcd.print("0");
lcd.print(minute, DEC);
lcd.print(":");
33
if (second<10)
lcd.print("0");
lcd.print(second, DEC);
// lcd.print(" ");
// lcd.setCursor(0,3);
//ENE / FEB/ MAR / ABR / MAY / JUN / JUL / AGO / SET (o SEP) / OCT / NOV / DIC.
lcd.setCursor(10,2);
switch(month){
34
case 7: lcd.write("Jul"); break;
void alarma()
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if(hour==07 && minute==00 && second >= 00) digitalWrite(8, HIGH); //enciende primera
alarma
if(hour==07 && minute==00 && second >= 8) digitalWrite(8, LOW); //apaga primera alarma
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
35
if(hour==9 && minute==35 && second >= 00) digitalWrite(8, HIGH);
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void loop()
if (dayOfWeek == 2) alarma();
if (dayOfWeek == 3) alarma();
if (dayOfWeek == 4) alarma();
if (dayOfWeek == 5) alarma();
if (dayOfWeek == 6) alarma();
36
Fotos
37
38
39
40