0 calificaciones0% encontró este documento útil (0 votos) 323 vistas9 páginasTemporizador - Arduino + LCD
Armado de temporizador con Arduino y display LCD 16x2
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Temporizador: Arduino + LCD
2 22inepOTIL6IOR2OLe OD RADNANO 1 172 COMENTARIOS
Floy 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 interaccidn visual de la electrinica de un modo rapido, sencilloy efcaz
2Qué es un display LCD?
De un modo muy resumido, las siglas LCD signifcan “Liquid Cristal Display” o en espaiiol “Pantalla de cristal liquido”, y es una pantalla
delgada y plana, formada por un nimero de pixeles en color 0 monocromos colocados delante de una fuente de luz 0 reflectora. (Wikipedia
ls, wikipedia ong/wikilP ristal ADs
[uso de estas pantalla, esté tan extendide hoy en dia, 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 tamafo, mimero de pixeles color, y la gran mayoria tienen un coste de unos pocos €uros en
cualquier tienda de electronica.
El que voy a utilizar yo, es del tipo mis sencillo de controlar, y son los displays LCD disefados para interactuar con circuitos integrados, de entrada
dle 4/8 bits en paraleio, basados en el controlador Hitachi HDA4780 (hit:/ www sparkéun com/datasheets/t CD/HDAA7SD pd
[Estos se caracterizan principalmente por el nlimero de caracteres que son capaces de representar, que viene dado en su datasheet generalmente por
tangs niimeros del tipo "BI", "16+2", "204, que significan “Numero de caracteres x Néimero de filas”, asf pues, un display LCD 16»2,e3 capa dle
representar 2 ilas de 16 caracteres
El display LCD que utilizaré yo (Gracias a Dani (htipu/cuningen wordpress.com) es de 162 caracteres, de fondo verde y caracteres negros con
retroiluminacisn led de color verde:
(htipsdelectronicavm files,wordpress.com/2011/06/3430-led162b-vhy-pny
gue leyendo! (hitpss/electronicavm.wordpress,com/?011/06/22/temporizador-arduino-led/tmore-67
Estos displays se controlan muy facilmente con tna placa Arduino o un PIC y muy pocas lineas de cédigo. Para ello veamos sus pines para saber
‘como se conectan
tpslfelectronicavm files wordpress com/201/yled?3.png)
= Pin 1 Vss: GND o terra
DOOOOOC000000000)
~ Pin 2— Vdd: Alimentacin Veco *3V. OOOOOOUOOOOOoOog}
(Algunos pueden alimentarse a3 Vee)
~ Pin 3 Vo: Control del contraste del display, conectamos este pin al terminal variable de un. ha
potencidmetro conectade a Vee y Masa en sus terminales extremos, Nea Best
= Pin 4 RS: Selecciin de Registro. 2 | vai [ 5
0 logico: Registro de comandos (escritura), eee
1 logico: Registro de datos (escrtura,lectura) a [as [Renter Sl
~Pins- RW: S| E | Emsble (spate)
0 légico: Escritura del LCD. 7 [po [baa 58
1 L6gico: Lectura del LCD. 3 | pt _| baa
| po | Dass
= Pin 6 Enable: El famoso Enable de casi todos los componentes de la electénica digital. Un 10 [Ds] Dawa
1 logico sefala el inicio de escrtura o lectura del LCD, un 0 lio, desactiva todas las [Da Dae
funciones, [ps [Dae
15 | D6 | Date
~ Pin 7-10 - Do/D3: Pines correspondlientes al bus de datos, 1s | D7 [Das TE
DO corresponde a bit menos signifcativo.
Estos pines nose utilizan si realizamos operaciones sobre el LCD de bis
= Pin 11-14 - D4/1D7; Pines correspondientes al bus de datos
D7 corresponde al bit més signficativo y puede utlizarse como “Busy Flag",
sileemos sobre este pin, un 1 légico nos indicaré que el LCD se encuentra ocupado,
ro permitiendonos realizar ninguna operacion hasta que se deshabilite,Ena tabla no aparecen, ya que no todos los displays disponen de los pines 15 y 16, yo he modificado la imagen para afadirlos,y son simplemente:
= Pin 15 - Anodo de la retroiluminacién :R + 5.
Ahora si, podemos meternos de leno en el control del LCD.
Ena web de Arduino (tpy/wwwarduino.ccles) vienen muchos siemplos (httpularduino.cces/Tutorial/HomePage) con sus correspondientes
Imagenes de eonexié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 sencllo,yse trata simplemente de declarar los pines a utilizar porel LCD, situar el cursor
tenel caracter que deseemos escribir (N? caracter, Fila) y escribir sobre el LCD.
Arduino simplifca el trabajo de escribir sobre un LCD hasta un punto que resulta muy facil. Aqui un ejemplo de cédigo para escribir una frase
sobre un LCD.
2] //eJenplo Frase “Helle World" en LCD con Arduino
3] inctude //incluinos 1a Libreria de control del Leo
$] Lsoutcrystat teeta, 1, 5, 4 3, 295 //InkcLlisonos 20 Libreria con los pines 9 vtsltear
2| Yearvegingls, 29; //contiguranos et numero ce caracteres y filas a utilizar
>
12| void loop() ¢
12| ed.sercursor(o, 0); //Situaros el cursor en el caracter @, fila @
33] led.print(*Hello world") //Esertbinos sobre el LCD
wy
‘Yo he preferido hacer algo més interesante que los ejemplos que vienen en dicha web, asi que me he puesto a programar un temporizador.
Empezando porla conexién del circuit, la siguiente imagen creada con Extzing (purivzing org!
(Fantastico programa freeware y multiplataforma para crear esquemas) nos muestra como conectar el LCD con Arduino y algunos componentes
mas necesarios para este proyectllo, como son pulsadores, led 6 un buzzer.
(httpsulelectronicavms files wordpress.com/2011i06/esquema.png)
El esquema consta de un Arduino UNO, un display LCD 16-2, un potenciémetro para el control de contraste del LCD, un led de sei de fin de
temporizacién, y 4 pulsadores con su resistencia Pull-down de 10KQ, los 3 pulsadores cuyos cables son naranje son los que permitian la eleccién.
del tiempo (Horas, Minutos y Segundos) mientras que el 4to pulsador, el del cable azul, es que que dard la sefial de inicio del temporizador.
Una vez. conectado todo, solo queda la programacién y ponerto en funcionamiento,
Mi cédigo es algo largo asi que dejaré el archivo Temporizados.pde (http! /electronicavim comuy.com/Temporizador pd de Arduino para el que
uiera descargarlo y echarle un vistazo.
Ya funcionar!Temporizador con Arduino + LCD
foc rices
space for
eet
© ARDUINO, COMPONENTES FLECTRONICOS ARDUINO, DISPLAY LCD, HD478), VOLTIMETRO
172 comentarios en “Temporizador: Arduino + LCD”
Estefania dice:
(0109/2005 alas 1204
1
Vota este comentario
Hola Buenas tardes, Ya no aparece el eédigo para descargar me manda a otra pagina serias tan amable de enviarmelo. Gracias,
RESPONDER
MikiCOC dice:
2/07/2016 a las
Vota este comentario
‘A mi igual!
RESPONDER
JHON VERA dice:
(0400/2015 9 las 1452
2Vota este comentario
POR FAVOR QUIEN ME PUEDE PASAR EL CODIGO
RESPONDER
Juan Felipe Acevedo dice:
1210922015 alas O14
a
°
°
Vota este comentario
Amigo muchas gracias por compartir tus disefos con nosotros, pero por alguna razon no he conseguide bajar el codigo te agradeceria si melo
puedes enviar al correo
RESPONDER
Papa dice:
2UD9/2015 alas 1317
4
°
°
Vota este comentario
El proyecto esta bien, Pero sin cddigo no vale para nada. A buscar otto proyecto.
Vota este comentario
Primero para programar deben estudiar el codigo en base a ejemplos, Estos los consiguen en la pagina ofician de arduino o en la Gui de
«ejemplos del compilaror . Hay que tener logica del codigo y saber que hace cada linea. No es satisfactorio para ningun aprendiz solo pedir
codigo, copiar y pegar.
RESPONDER
abe dice
‘5072016 a as 2021
°
°
Vota este comentario
andaaaaaa hacete cojer puta loca
RESPONDER
david dice
2510922015 alas 0859
Vota este comentario
amigo por favor me podrias hacer Iigear el codigo, es que lo necesito pronto y el imnk envia a otra pagina
RESPONDER
John dice:(08/10/2015 2 as 01:53
‘Vota este comentario
ditpulforum arduino.c/index php?topic-90086.0
RESPONDER
Fabio dice:
2015 a las
Vota este comentario
Gostaria do codigo se possivel
RESPONDER
John dice:
(08/10/2015 2 las 01-41
‘Vota este comentario
ppara los que no tienen todavia Ia programacion o codigos de esta pagina visiten hitp forum arduino co/index.php?topic-90086 0 al parecer
alguien la tenia y Ia resubio en otta pagina
RESPONDER
Fabio dice:
(08/10/2015 9 las 03:25
‘Vota este comentario
finclude
indude
define TONO_ERROR 600
define TIME_INTERVAL 3000
LiquidCrystal led, 7, 9,10, 11,12); Inicializar a biblioteca com o niimero de pinos utlizados
fi Pinos do UNO
{define Linhal AO // Linha 1 do teclado no pino 4
define Linha? Al // Linha 2 do teelado no pino 5
fdefine Linha A2 // Linha 3 do teclado no pino 6
define Linhad A3 // Linha 4 do teelado no pino 7
{define Row! 3// Coluna I do tecado no pino 8
#éefine Row? 4 /} Coluna 2 do teclado no pino 9
define Row3 13 // Coluna 3 do teclado no pino 10
7
{Pinos do Mega
{define Linhal 34 // Linha 1 do teclado no pino 34
define Linha2 35 // Lina 2 do teclado no pino 38
{define Linha® 36 /! Linha 3 do teclado no pino 36
##define Linhad 37 / Linha 4 do teclado no pino 37
{define Row! 38 // Coluna 1 do teclado no pino 38,
define Row2 39 // Coluna 2 do teclado no pino 39
{define Row3 40 // Coluna 3 do teclado no pine 40byte Digito 0; / Variave Digitodigitado
byte
byte contagem =; / Numero de digitos digitados
‘unsigned long Acumulado =O; Vaiavel Digites acumulados
‘unsigned long Tempo = 0; // variavel Tempo de atraso = Digito Acumulado
‘unsigned Inicio =0;
“unsigned int horas = 0; Variavel para moslar no LCD as Horas
‘unsigned int minutos =O; / Varidvel para mostar no LCD as Minutos
“unsigned int segundos = 0; // Variével para mostar no LCD as segundos:
unsigned int segundostotal =O; //Tempo Total
int rele~5; /Rele
int buzzer = 6;//Alarme
Int msg~ 0; //Barreira para mensagem de boas vindas
ae
‘void setup)
(
led. begin(16, 2); Defini o numero de colunas elinhas do LD 16%2
pinMode(rele, OUTPUT); /Define o pino como saida
pinMode(ouzzer, OUTPUT); //Pino de alarme — Salida
msg = 0; (Barrera para mensagem de boas vindas
Serial begin(9600);
)
WH
void loop)
(
if{msg-0) Mostrar a mesnsagem de boas vindas apenas uma vez.
(
led setCursor(00);
led print("Peneirador PVE"),
led setCursor(1,1);
led print(” Temporizador");
delay(8500);
msg;
ledicleat:
/} Leitura dos botdes de selegao de tempo
J] Nao sai do loop ate precionar botio de inicio
while (nico = 0) Ndo sai da rotin detelado enguanto Inicio for igual a0
(
Ted setCursor.1
if (horas < 10) led print'0); / Seas horas estio a menos de 10, cologue um "0" na frente
as); [Sem esse cdigo, ele mostra assim : HM (IIMS)
if (einutos < 10) led print"07; Se as minutos esto a menos de 10, cologue um 0" na frente,
led. print{minutos);
led. print);
if Gegundos < 10) led.print
led print{segundos);
{1 Se as segundos estio a menos de 10, coloque um
for (int porta = 4; porta 0 )digitalWriterel, HIGH; Seo tempo for maior que 0 segundos inicia 0 rele
segundostotal ~ segundos + (minutos * 60) + (horas * 40 * 60); //Converteo tempo selecionado em segundos!
while (segundostotal >0)
(
delay (1000);
segundostotal~
horas = ((segundostotal / 60)/ 60); /torna os segundos totais em horas
minutos = (egundostotal/ 60) % 60; f/toma os segundos totais em minutos
segundos = segundostotal % 60; tora os segundos totais em periodos de 60 segundos
led setCursor(0.0):
led print(” Tempo Restante”);led. setCursor(4);
if (horas < 10) led print(’07,
led printthoras);
led. print"),
if (eimutos < 10) led print);
led. print(minutos),
led. print
if Segundos «< 10) led.print(0");
led. print{segundos);
if (segundostotal = 0)
(
while(1)
(
Ied.clearQ;
led setCursort5.0):
led.print("Tempo"},
led setCursor(3,1)
led print(Finalizado")
igitalWrite(tele, LOW); /[Ao fnalizar processo destiga o rele
sonarTono(TONO_ERROR,TIME_INTERVAL};
ledicleat);
setur;
fest);
void sonarTonofinttono, int duracion)
(
tone(buzzer 4500);
delay(1000);
{Destigando o buzzer.
noTone(buzzer);
=3) & (contagem 60) minutos
)
if (ontagem >) & (contagem 60) segundos =0; Se segundos maior que 24 faa igual 0.
)
)
iF Digito
1 Se minutos maior que 24 faca igual 0
123) jf Se for igual a ¢ equivalente a enterMasa
Inicio 1; Sai da rotina do teclado
if (Digito = 0x24) / Se for igual a* equivalentea cancela
HI Faca
contag
horas ~0; / Zera Resultado
minutos = 0; Zera Resultado
segundos = 0; / Zera Resultado
Ignacio dice:
29/11/2015 alas 19:33
‘Vota este comentario
‘oye amigo, podrias ayudarme diciendo que elementos lleva este proyecto? te lo agradeceria mucho
RESPONDER
Ignacio dice:
2O/112015 3 las 1803
8
Vota este comentario
alguien podria decirme que elementos se necesitan para llevar a cabo este proyecto? Io agradeceria mucho
RESPONDER
John dice:
Vota este comentario
Unarduino de cualquiera (uno, mega, ..) un buzzer, 3 interuptores, una pantalla led para arduino, y To demas solo es cables (las conexiones
del arduino ala led los interruptores y la fuente de alimentacién del arduino
RESPONDER
Lucas Cruz dice:
29/05/2016 3 las 154
8
Vota este comentario
code please
RESPONDER
Antonio dice:
(01/07/2016 3 las 0739
10
Vota este comentarioyet Padnano
Podrias ayudarme con un eédigo, necesito hace
go parecide a esto pero con unos motores podrias ayudarme??
RESPONDER
gabriel dice:
4082016 8 as 03.97
1.
°
°
Vota este comentario
Hasta ahora no recibo los cédigos de programacién,
RESPONDER
BLOG DE WORDPRESS.COM,
También podría gustarte
HRV CVT
Aún no hay calificaciones
HRV CVT
43 páginas
en PDF
Aún no hay calificaciones
en PDF
44 páginas
Caja ZF
Aún no hay calificaciones
Caja ZF
50 páginas
LCD Arduino
Aún no hay calificaciones
LCD Arduino
69 páginas
Manual 9001
Aún no hay calificaciones
Manual 9001
26 páginas