SlideShare una empresa de Scribd logo
TEMPORIZADOR: ARDUINO + LCD.
TIMBRE INCAF.
PRESENTADOR POR:
YULY ANDREA CUBIDES MÀRQUEZ.
PRESENTADO A:
YENNY BLANCO.
INSTITUCION DE CAPACITACIÒN FUTURO INCAF, TOCANCIPÀ.
GRADO ONCE.
ELECTRONICA.
NOVIEMBRE 2014.
INTRODUCCIÒN.
El presente proyecto se redacta con carácter estudiantil para fin de semestre.
En este quiero dar a conocer el proceso que junto con la profesora Yenny Blanco realizamos
en clase de electrónica los días sábados, un temporizador: lcd + arduino , en otras palabras un
timbre, ya que no hay uno en nuestra institución, este sería una herramienta demasiado útil
tanto para profesores y alumnos, todos estarían beneficiados, este funcionaria a la hora de
entrada, al cambio de hora, al comenzar y finalizar el descanso y a la hora de salida, con este
tendríamos los tiempos exactos para cada una de las materias.
A lo largo de este proyecto daré a conocer detalladamente el proceso.
OBJETIVOS.
GENERAL.
 Diseñar un temporizador: lcd + arduino para el cumplimientos de los horarios en la
istuticiòn.
ESPECÌFICOS.
 Diseñar el circuito que necesitamos para el temporizador y este conectarlo al arduino.
 Identificar la función e importancia de cada uno de los componentes en nuestro
circuito.
 Aprovechar los laboratorios con la tutora de mi proyecto la profesora Yenny Blanco,
como instrumento y herramienta para la terminación de mi proyecto.
JUSTIFICACIÒN.
Este proyecto fue elaborado con el fin que en nuestra institución tengamos un timbre, ya que
este nos indique la hora de entrada , al cambio de hora, al comenzar y finalizar el descanso y a
la hora de salida, con este tendríamos los tiempos exactos para cada una de las materias y
espacios, más que eso es traer algo nuevo, este ayuda a la innovación en nuestra institución.
CONOCIMIENTOS PREVIOS.
Temporizador: Arduino + LCD
Hoy quiero hablar de los displays LCD y su control y uso mediante una placa Arduino.
El proceso de control de un LCD con Arduino nos abre un frente de interacción visual de la
electrónica de un modo rápido, sencillo y eficaz.
¿Qué es un display LCD?
De un modo muy resumido, las siglas LCD significan “Liquid Cristal Display” o en español
“Pantalla de cristal líquido“, y es una pantalla delgada y plana, formada por un número de
píxeles en color o monocromos colocados delante de una fuente de luz o reflectora
El uso de estas pantallas, está tan extendido hoy en día, que prácticamente todos los aparatos
electrónicos suelen llevarlas, para mejor uso y facilidad de interacción.
Existen muchos tipos de LCD, variando en forma y tamaño, número de píxeles, color, y la
gran mayoría tienen un coste de unos pocos €uros en cualquier tienda de electrónica.
El que voy a utilizar yo, es del tipo más sencillo de controlar, y son los displays LCD
diseñados para interactuar con circuitos integrados, de entrada de 4/8 bits en paralelo, basados
en el controlador Hitachi HD44780.
Estos se caracterizan principalmente por el número de caracteres que son capaces de
representar, que viene dado en su datasheet generalmente por unos números del tipo “8×1″,
“16×2″, “20×4″, que significan “Número de caracteres x Número de filas“, así pues, un
display LCD 16×2, es capaz de representar 2 filas de 16 caracteres.
Estos displays se controlan muy facilmente con una placa Arduino o un PIC y muy pocas
lineas de código. Para ello veamos sus pines para saber como se conectan:
- Pin 1 – Vss: GND o tierra.
- Pin 2 – Vdd: Alimentación Vcc o +5V.
(Algunos pueden alimentarse a 3 Vcc)
- Pin 3 – V0: Control del contraste del display, conectamos este pin al terminal variable de un
potenciómetro conectado a Vcc y Masa en sus terminales extremos.
- Pin 4 – RS: Selección de Registro.
0 lógico: Registro de comandos (escritura),
1 lógico: Registro de datos (escritura, lectura)
- Pin 5 – R/W:
0 lógico: Escritura del LCD.
1 Lógico: Lectura del LCD.
- Pin 6 – Enable: El famoso Enable de casi todos los componentes de la electrónica digital.
Un 1 lógico señala el inicio de escritura o lectura del LCD, un 0 lógico, desactiva todas las
funciones.
- Pin 7-10 – D0/D3: Pines correspondientes al bus de datos.
D0 corresponde al bit menos significativo.
Estos pines no se utilizan si realizamos operaciones sobre el LCD de 4 bits.
- Pin 11-14 – D4/D7: Pines correspondientes al bus de datos.
D7 corresponde al bit más significativo y puede utilizarse como “Busy Flag”,
si leemos sobre este pin, un 1 lógico nos indicará que el LCD se encuentra ocupado,
no permitiendonos realizar ninguna operación hasta que se deshabilite.
En la tabla no aparecen, ya que no todos los displays disponen de los pines 15 y 16, yo he
modificado la imagen para añadirlos, y son simplemente:
- Pin 15 – Ánodo de la retroiluminación : R + 5V.
- Pin 16 – Cátodo de la retroiluminación: GND.
Ahora si, podemos meternos de lleno en el control del LCD.
En la web de Arduino, vienen muchos ejemplos con sus correspondientes imágenes de
conexión del LCD con la placa en cuestión, además del código para ponerlo en
funcionamiento en pocos clicks.
El código para poner en funcionamiento un LCD es muy sencillo, y se trata simplemente de
declarar los pines a utilizar por el LCD, situar el cursor en el caracter que deseemos escribir
(Nº caracter, Fila) y escribir sobre el LCD.
Arduino simplifica el trabajo de escribir sobre un LCD hasta un punto que resulta muy fácil.
Aqui un ejemplo de código para escribir una frase sobre un LCD.
PROCEDIMIENTOS.
Ya conectados todos los alambres en el proto board , y en el arduino, necesitamos la
programación, esta se hace por medio de un programa llamado Arduino, que es el que nos
indica, como será el conteo de nuestro temporizador, ya sea basado en horas, minutos y
segundos.
Aquí mostrare dicha programación.
#include <LiquidCrystal.h> //Libreria del display LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Inicializamos la libreria con el numero de los pines a
utilizar
int buzzer = 13; //Alarma
int ahoras = 0; //Variable a mostrar por LCD de las horas
int aminutos = 0; //Variable a mostrar por LCD de los minutos
int asegundos = 0; //Variable a mostrar por LCD de los segundos
int segundostotal = 0; //Tiempo total
int msg= 0; //Barrera para el mensaje de bienvenida
int start = A2; //Pulsador de arranque
int empieza = 1024; // Variable para almacenaje del pulsador de arranque
int buth = A5; //Pulsador de Horas
int butm = A4; //Pulsador de Minutos
int buts = A3; //Pulsador de segundos
int varbuth = 0; //Variable para almacenar el valor del pulsador de horas
int varbutm = 0; //Variable para almacenar el valor del pulsador de minutos
int varbuts = 0; //Variable para almacenar el valor del pulsador de segundos
void setup()
{
lcd.begin(16, 2); // Configuramos el número de columnas y filas del LCD.
pinMode(buzzer, OUTPUT); //Pin de alarma --> Salida
pinMode(buth, INPUT); //Pin de pulsador de horas --> Entrada
pinMode(butm, INPUT); //Pin de pulsador de minutos --> Entrada
pinMode(buts, INPUT); //Pin de pulsador de segundos --> Entrada
pinMode(start, INPUT); //Pin de pulsador de arranque --> Entrada
msg = 0; //Barrera del mensaje de bienvenida
empieza = 1024; //Barrera de arranque
varbuth = 1; //Barrera de horas
varbutm = 1; //Barrera de minutos
varbuts = 1; //Barrera de segundos
}
void loop()
{
if(msg==0) //Mostramos el mensaje de bienvenida solo una vez
{
lcd.setCursor(0,0);
lcd.print("Temporizador con");
lcd.setCursor(1,1);
lcd.print("Arduino + LCD");
delay(2500);
msg = 1;
lcd.clear();
}
//-------------------------------------------------------------------------------------------------
// LECTURA DE LOS BOTONES Y ELECCIÓN DEL TIEMPO, NO SALE DEL
BUCLE HASTA PULSAR
// EL BOTON DE ARRANQUE
//-------------------------------------------------------------------------------------------------
do
{
varbuth = analogRead(buth); //Leemos boton de horas
varbutm = analogRead(butm); //Leemos boton de minutos
varbuts = analogRead(buts); //Leemos boton de segundos
if(varbuth == 0) //Si el boton ha sido pulsado, aumentamos las horas en una
unidad
{
ahoras = ahoras + 1 ;
delay(250);
}
if(varbutm == 0) //Si el boton ha sido pulsado, aumentamos los minutos en una
unidad
{
aminutos = aminutos + 1;
delay(250);
}
if(varbuts == 0) //Si el boton ha sido pulsado, aumentamos los segundos en una
unidad
{
asegundos = asegundos + 1;
delay(250);
}
lcd.setCursor(0,0);
lcd.print("Elige el tiempo"); //Muestra mensaje y las HH:MM:SS que vayamos
aumentando
lcd.setCursor(4,1);
if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un "0" delante.
lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S (1:M:S)
lcd.print(":");
if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone un "0" delante.
lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S (H:1:S)
lcd.print(":");
if (asegundos < 10) lcd.print("0"); // Si los segundos son menor que 10, pone un "0"
delante.
lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S (H:M:1)
empieza = analogRead(start); //Lee el boton de arranque
if (empieza == 0) //Si el boton de arranque, fue pulsado...
{
segundostotal = asegundos + (aminutos * 60) + (ahoras * 60 * 60); //Convierte el tiempo
elegido en segundos!!
}
} while(empieza != 0); // Se repite el menu de elegir tiempo hasta que pulsemos el boton
de arranque.
//------------------------------------------------------------------------------------ -------------
// UNA VEZ PULSADO EL BOTON DE ARRANQUE Y ACUMULADO EL TIEMPO,
ENTRA EN EL SIGUIENTE WHILE
// Y NO FINALIZA HASTA TERMINAR LA CUENTA.
//-------------------------------------------------------------------------------------------------
while (segundostotal > 0)
{
delay (1000); //Descontamos en periodos de 1 segundo
segundostotal--;
ahoras = ((segundostotal / 60)/ 60); //Convertimos los segundos totales en horas
aminutos = (segundostotal / 60) % 60; //Convertimos los segundos totales en minutos
asegundos = segundostotal % 60; //Convertimos los segundos totales en periodos de
60 segundos
lcd.setCursor(0,0);
lcd.print("Tiempo restante"); //Mostramos mensaje de tiempo restante
lcd.setCursor(4,1);
if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un "0" delante.
lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S (1:M:S)
lcd.print(":");
if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone un "0"
delante.
lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S (H:1:S)
lcd.print(":");
if (asegundos < 10) lcd.print("0"); // si el valor de segundo esta por debajo de 9 (unidad)
antepone un cero
lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S (H:M:1)
if (segundostotal == 0) //Si finaliza el tiempo
{
while(1) //Bucle infinito mostrando mensaje y haciendo parpadear un
led
{
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Tiempo");
lcd.setCursor(3,1);
lcd.print("Finalizado");
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
}
}
}
}
Otro
#include <LiquidCrystal.h> //Incluimos la libreria de control del LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Inicializamos la libreria con los pines a utilizar
void setup() {
lcd.begin(16, 2); //Configuramos el numero de caracteres y filas a utilizar
}
void loop() {
lcd.setCursor(0, 0); //Situamos el cursor en el caracter 0, fila 0
lcd.print("Hello World") //Escribimos sobre el LCD
}
CONCLUSIONES.
 Con este proyecto aprendí principios de electrónica, como saber que
herramientas utilizamos, que materiales, montar un circuito, programar un
arduino.
 Vi la necesidad que tenía nuestra institución de un timbre.
HERRAMIENTAS.
 Protoboard.
 Alambre.
 Multímetro.
 Fuente variable de voltaje.
BIBLIOGRAFÍA.
 http://blog17.carlostorregrosalopez.com/arduino-hardware-libre/tutorial-arduino-
temporizador-pantalla-lcd-lmb162hbc-sonido-a-lo-mision-imposible/
 http://elrincondeloscircuitos.blogspot.com/2011_01_01_archive.html 09/diodo-laser/
 http://www.youtube.com/watch?v=KMogiOlsse0
Trabajo final.

Más contenido relacionado

La actualidad más candente

Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Tino Fernández
 
Ejercicios+arduino+processing
Ejercicios+arduino+processingEjercicios+arduino+processing
Ejercicios+arduino+processing
Fanner de Jesus Montalvo Cordero
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
Mario José Platero Villatoro
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
Jose Antonio Vacas
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
Cristian Monzon
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
Fernando Marcos Marcos
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
xampa
 
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de ArduinoArduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
SANTIAGO PABLO ALBERTO
 
Practicas
PracticasPracticas
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
Jose Antonio Vacas
 
Arduino
ArduinoArduino
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesión
Javier Gamarra
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
Luis Torreño Peromingo
 
1 2 parpadear led
1 2  parpadear led1 2  parpadear led
1 2 parpadear led
Visemi VI
 
Arduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoArduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez Esteso
Mario Pérez Esteso
 
Instalación de drivers y software de Arduino
Instalación de drivers y software de ArduinoInstalación de drivers y software de Arduino
Instalación de drivers y software de Arduino
Luis Torreño Peromingo
 
Manual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino UnoManual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino Uno
ecom93
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
Jose Antonio Vacas
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
arduikee
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
El Gfe Davidson
 

La actualidad más candente (20)

Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
 
Ejercicios+arduino+processing
Ejercicios+arduino+processingEjercicios+arduino+processing
Ejercicios+arduino+processing
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
 
Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
 
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de ArduinoArduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
 
Practicas
PracticasPracticas
Practicas
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
Arduino
ArduinoArduino
Arduino
 
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesión
 
Cargando el primer programa de arduino
Cargando el primer programa de arduinoCargando el primer programa de arduino
Cargando el primer programa de arduino
 
1 2 parpadear led
1 2  parpadear led1 2  parpadear led
1 2 parpadear led
 
Arduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoArduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez Esteso
 
Instalación de drivers y software de Arduino
Instalación de drivers y software de ArduinoInstalación de drivers y software de Arduino
Instalación de drivers y software de Arduino
 
Manual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino UnoManual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino Uno
 
Curso arduino basico bitbloq
Curso arduino basico bitbloqCurso arduino basico bitbloq
Curso arduino basico bitbloq
 
Arduino comic es
Arduino comic esArduino comic es
Arduino comic es
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
 

Similar a Trabajo final.

Lcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a pasoLcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a paso
MaxwellGrahamBell
 
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
Fernando Marcos Marcos
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduino
Luis Leandro Carlo
 
Proyecto3
Proyecto3Proyecto3
Proyecto3
georgemanson69
 
Visualizadores - LCD
Visualizadores - LCDVisualizadores - LCD
Visualizadores - LCD
David Narváez
 
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALESDISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
Franklin J.
 
Arduino componentes
Arduino componentesArduino componentes
Arduino componentes
Luis Enrique Hernandez Anibal
 
Netduino
NetduinoNetduino
Netduino
David Matias
 
Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4
dar851112
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
Gabriel Bravo Rojas
 
Proyecto micro
Proyecto microProyecto micro
Proyecto micro
jhompix
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
AnGeo Gomez
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
Fernando Marcos Marcos
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
SANTIAGO PABLO ALBERTO
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
Evelyn Lopez
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
Fernando Marcos Marcos
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
SANTIAGO PABLO ALBERTO
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
Brenn Cabreera
 

Similar a Trabajo final. (20)

Lcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a pasoLcd con arduino texto en movimiento paso a paso
Lcd con arduino texto en movimiento paso a paso
 
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduino
 
Proyecto3
Proyecto3Proyecto3
Proyecto3
 
Visualizadores - LCD
Visualizadores - LCDVisualizadores - LCD
Visualizadores - LCD
 
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALESDISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
DISPLAY 7 SEGMENTOS CIRCUITOS DIGITALES
 
Arduino componentes
Arduino componentesArduino componentes
Arduino componentes
 
Netduino
NetduinoNetduino
Netduino
 
Tutorial proton part 4
Tutorial proton part 4Tutorial proton part 4
Tutorial proton part 4
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
 
Proyecto micro
Proyecto microProyecto micro
Proyecto micro
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
 

Último

Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
Mapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluaciónMapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluación
ruthmatiel1
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
proyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptxproyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptx
ChristianGmez48
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacionalPapel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
BrunoDiaz343346
 
Gracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdfGracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdf
Ani Ann
 
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
JonathanCovena1
 
Qué entra en el examen de Geografía.pptx
Qué entra en el examen de Geografía.pptxQué entra en el examen de Geografía.pptx
Qué entra en el examen de Geografía.pptx
saradocente
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptxDesarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
TatianaHerrera46
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
Ruth Noemí Soto Villegas
 
Sesión de clase: El conflicto inminente.
Sesión de clase: El conflicto inminente.Sesión de clase: El conflicto inminente.
Sesión de clase: El conflicto inminente.
https://gramadal.wordpress.com/
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
Fernández Gorka
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdfCALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
cesareduvr95
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 

Último (20)

Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
Mapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluaciónMapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluación
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
proyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptxproyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptx
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacionalPapel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
 
Gracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdfGracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdf
 
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
 
Qué entra en el examen de Geografía.pptx
Qué entra en el examen de Geografía.pptxQué entra en el examen de Geografía.pptx
Qué entra en el examen de Geografía.pptx
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptxDesarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
 
Sesión de clase: El conflicto inminente.
Sesión de clase: El conflicto inminente.Sesión de clase: El conflicto inminente.
Sesión de clase: El conflicto inminente.
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdfCALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
CALCULO DE AMORTIZACION DE UN PRESTAMO.pdf
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 

Trabajo final.

  • 1. TEMPORIZADOR: ARDUINO + LCD. TIMBRE INCAF. PRESENTADOR POR: YULY ANDREA CUBIDES MÀRQUEZ. PRESENTADO A: YENNY BLANCO. INSTITUCION DE CAPACITACIÒN FUTURO INCAF, TOCANCIPÀ. GRADO ONCE. ELECTRONICA. NOVIEMBRE 2014.
  • 2. INTRODUCCIÒN. El presente proyecto se redacta con carácter estudiantil para fin de semestre. En este quiero dar a conocer el proceso que junto con la profesora Yenny Blanco realizamos en clase de electrónica los días sábados, un temporizador: lcd + arduino , en otras palabras un timbre, ya que no hay uno en nuestra institución, este sería una herramienta demasiado útil tanto para profesores y alumnos, todos estarían beneficiados, este funcionaria a la hora de entrada, al cambio de hora, al comenzar y finalizar el descanso y a la hora de salida, con este tendríamos los tiempos exactos para cada una de las materias. A lo largo de este proyecto daré a conocer detalladamente el proceso.
  • 3. OBJETIVOS. GENERAL.  Diseñar un temporizador: lcd + arduino para el cumplimientos de los horarios en la istuticiòn. ESPECÌFICOS.  Diseñar el circuito que necesitamos para el temporizador y este conectarlo al arduino.  Identificar la función e importancia de cada uno de los componentes en nuestro circuito.  Aprovechar los laboratorios con la tutora de mi proyecto la profesora Yenny Blanco, como instrumento y herramienta para la terminación de mi proyecto.
  • 4. JUSTIFICACIÒN. Este proyecto fue elaborado con el fin que en nuestra institución tengamos un timbre, ya que este nos indique la hora de entrada , al cambio de hora, al comenzar y finalizar el descanso y a la hora de salida, con este tendríamos los tiempos exactos para cada una de las materias y espacios, más que eso es traer algo nuevo, este ayuda a la innovación en nuestra institución.
  • 5. CONOCIMIENTOS PREVIOS. Temporizador: Arduino + LCD Hoy quiero hablar de los displays LCD y su control y uso mediante una placa Arduino. El proceso de control de un LCD con Arduino nos abre un frente de interacción visual de la electrónica de un modo rápido, sencillo y eficaz. ¿Qué es un display LCD? De un modo muy resumido, las siglas LCD significan “Liquid Cristal Display” o en español “Pantalla de cristal líquido“, y es una pantalla delgada y plana, formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora El uso de estas pantallas, está tan extendido hoy en día, que prácticamente todos los aparatos electrónicos suelen llevarlas, para mejor uso y facilidad de interacción. Existen muchos tipos de LCD, variando en forma y tamaño, número de píxeles, color, y la gran mayoría tienen un coste de unos pocos €uros en cualquier tienda de electrónica. El que voy a utilizar yo, es del tipo más sencillo de controlar, y son los displays LCD diseñados para interactuar con circuitos integrados, de entrada de 4/8 bits en paralelo, basados en el controlador Hitachi HD44780. Estos se caracterizan principalmente por el número de caracteres que son capaces de representar, que viene dado en su datasheet generalmente por unos números del tipo “8×1″, “16×2″, “20×4″, que significan “Número de caracteres x Número de filas“, así pues, un display LCD 16×2, es capaz de representar 2 filas de 16 caracteres. Estos displays se controlan muy facilmente con una placa Arduino o un PIC y muy pocas lineas de código. Para ello veamos sus pines para saber como se conectan:
  • 6. - Pin 1 – Vss: GND o tierra. - Pin 2 – Vdd: Alimentación Vcc o +5V. (Algunos pueden alimentarse a 3 Vcc) - Pin 3 – V0: Control del contraste del display, conectamos este pin al terminal variable de un potenciómetro conectado a Vcc y Masa en sus terminales extremos. - Pin 4 – RS: Selección de Registro. 0 lógico: Registro de comandos (escritura), 1 lógico: Registro de datos (escritura, lectura) - Pin 5 – R/W: 0 lógico: Escritura del LCD. 1 Lógico: Lectura del LCD. - Pin 6 – Enable: El famoso Enable de casi todos los componentes de la electrónica digital. Un 1 lógico señala el inicio de escritura o lectura del LCD, un 0 lógico, desactiva todas las funciones.
  • 7. - Pin 7-10 – D0/D3: Pines correspondientes al bus de datos. D0 corresponde al bit menos significativo. Estos pines no se utilizan si realizamos operaciones sobre el LCD de 4 bits. - Pin 11-14 – D4/D7: Pines correspondientes al bus de datos. D7 corresponde al bit más significativo y puede utilizarse como “Busy Flag”, si leemos sobre este pin, un 1 lógico nos indicará que el LCD se encuentra ocupado, no permitiendonos realizar ninguna operación hasta que se deshabilite. En la tabla no aparecen, ya que no todos los displays disponen de los pines 15 y 16, yo he modificado la imagen para añadirlos, y son simplemente: - Pin 15 – Ánodo de la retroiluminación : R + 5V. - Pin 16 – Cátodo de la retroiluminación: GND. Ahora si, podemos meternos de lleno en el control del LCD. En la web de Arduino, vienen muchos ejemplos con sus correspondientes imágenes de conexión del LCD con la placa en cuestión, además del código para ponerlo en funcionamiento en pocos clicks. El código para poner en funcionamiento un LCD es muy sencillo, y se trata simplemente de declarar los pines a utilizar por el LCD, situar el cursor en el caracter que deseemos escribir (Nº caracter, Fila) y escribir sobre el LCD. Arduino simplifica el trabajo de escribir sobre un LCD hasta un punto que resulta muy fácil. Aqui un ejemplo de código para escribir una frase sobre un LCD.
  • 8. PROCEDIMIENTOS. Ya conectados todos los alambres en el proto board , y en el arduino, necesitamos la programación, esta se hace por medio de un programa llamado Arduino, que es el que nos indica, como será el conteo de nuestro temporizador, ya sea basado en horas, minutos y segundos. Aquí mostrare dicha programación. #include <LiquidCrystal.h> //Libreria del display LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Inicializamos la libreria con el numero de los pines a utilizar int buzzer = 13; //Alarma int ahoras = 0; //Variable a mostrar por LCD de las horas int aminutos = 0; //Variable a mostrar por LCD de los minutos int asegundos = 0; //Variable a mostrar por LCD de los segundos int segundostotal = 0; //Tiempo total int msg= 0; //Barrera para el mensaje de bienvenida int start = A2; //Pulsador de arranque int empieza = 1024; // Variable para almacenaje del pulsador de arranque int buth = A5; //Pulsador de Horas int butm = A4; //Pulsador de Minutos int buts = A3; //Pulsador de segundos int varbuth = 0; //Variable para almacenar el valor del pulsador de horas int varbutm = 0; //Variable para almacenar el valor del pulsador de minutos int varbuts = 0; //Variable para almacenar el valor del pulsador de segundos void setup() { lcd.begin(16, 2); // Configuramos el número de columnas y filas del LCD. pinMode(buzzer, OUTPUT); //Pin de alarma --> Salida pinMode(buth, INPUT); //Pin de pulsador de horas --> Entrada pinMode(butm, INPUT); //Pin de pulsador de minutos --> Entrada pinMode(buts, INPUT); //Pin de pulsador de segundos --> Entrada
  • 9. pinMode(start, INPUT); //Pin de pulsador de arranque --> Entrada msg = 0; //Barrera del mensaje de bienvenida empieza = 1024; //Barrera de arranque varbuth = 1; //Barrera de horas varbutm = 1; //Barrera de minutos varbuts = 1; //Barrera de segundos } void loop() { if(msg==0) //Mostramos el mensaje de bienvenida solo una vez { lcd.setCursor(0,0); lcd.print("Temporizador con"); lcd.setCursor(1,1); lcd.print("Arduino + LCD"); delay(2500); msg = 1; lcd.clear(); } //------------------------------------------------------------------------------------------------- // LECTURA DE LOS BOTONES Y ELECCIÓN DEL TIEMPO, NO SALE DEL BUCLE HASTA PULSAR // EL BOTON DE ARRANQUE //------------------------------------------------------------------------------------------------- do { varbuth = analogRead(buth); //Leemos boton de horas varbutm = analogRead(butm); //Leemos boton de minutos varbuts = analogRead(buts); //Leemos boton de segundos if(varbuth == 0) //Si el boton ha sido pulsado, aumentamos las horas en una unidad { ahoras = ahoras + 1 ; delay(250); } if(varbutm == 0) //Si el boton ha sido pulsado, aumentamos los minutos en una unidad { aminutos = aminutos + 1;
  • 10. delay(250); } if(varbuts == 0) //Si el boton ha sido pulsado, aumentamos los segundos en una unidad { asegundos = asegundos + 1; delay(250); } lcd.setCursor(0,0); lcd.print("Elige el tiempo"); //Muestra mensaje y las HH:MM:SS que vayamos aumentando lcd.setCursor(4,1); if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un "0" delante. lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S (1:M:S) lcd.print(":"); if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone un "0" delante. lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S (H:1:S) lcd.print(":"); if (asegundos < 10) lcd.print("0"); // Si los segundos son menor que 10, pone un "0" delante. lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S (H:M:1) empieza = analogRead(start); //Lee el boton de arranque if (empieza == 0) //Si el boton de arranque, fue pulsado... { segundostotal = asegundos + (aminutos * 60) + (ahoras * 60 * 60); //Convierte el tiempo elegido en segundos!! } } while(empieza != 0); // Se repite el menu de elegir tiempo hasta que pulsemos el boton de arranque. //------------------------------------------------------------------------------------ ------------- // UNA VEZ PULSADO EL BOTON DE ARRANQUE Y ACUMULADO EL TIEMPO, ENTRA EN EL SIGUIENTE WHILE // Y NO FINALIZA HASTA TERMINAR LA CUENTA. //------------------------------------------------------------------------------------------------- while (segundostotal > 0) {
  • 11. delay (1000); //Descontamos en periodos de 1 segundo segundostotal--; ahoras = ((segundostotal / 60)/ 60); //Convertimos los segundos totales en horas aminutos = (segundostotal / 60) % 60; //Convertimos los segundos totales en minutos asegundos = segundostotal % 60; //Convertimos los segundos totales en periodos de 60 segundos lcd.setCursor(0,0); lcd.print("Tiempo restante"); //Mostramos mensaje de tiempo restante lcd.setCursor(4,1); if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un "0" delante. lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S (1:M:S) lcd.print(":"); if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone un "0" delante. lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S (H:1:S) lcd.print(":"); if (asegundos < 10) lcd.print("0"); // si el valor de segundo esta por debajo de 9 (unidad) antepone un cero lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S (H:M:1) if (segundostotal == 0) //Si finaliza el tiempo { while(1) //Bucle infinito mostrando mensaje y haciendo parpadear un led { lcd.clear(); lcd.setCursor(5,0); lcd.print("Tiempo"); lcd.setCursor(3,1); lcd.print("Finalizado"); digitalWrite(buzzer, HIGH); delay(200); digitalWrite(buzzer, LOW); delay(200); } } } }
  • 12. Otro #include <LiquidCrystal.h> //Incluimos la libreria de control del LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Inicializamos la libreria con los pines a utilizar void setup() { lcd.begin(16, 2); //Configuramos el numero de caracteres y filas a utilizar } void loop() { lcd.setCursor(0, 0); //Situamos el cursor en el caracter 0, fila 0 lcd.print("Hello World") //Escribimos sobre el LCD }
  • 13. CONCLUSIONES.  Con este proyecto aprendí principios de electrónica, como saber que herramientas utilizamos, que materiales, montar un circuito, programar un arduino.  Vi la necesidad que tenía nuestra institución de un timbre.
  • 14. HERRAMIENTAS.  Protoboard.  Alambre.  Multímetro.  Fuente variable de voltaje.