domingo, 23 de marzo de 2014

Practica 19. control con cuenta atrás de display mediante sensor de luz LDR

Esta práctica consiste en iniciar una cuenta atrás de un display de 7 segmentos controlado mediante un sensor de luz que sérá el encargado de iniciar la cuenta atrás o de pararlo. Para ello será suficiente con interponer la mano entre el foco de luz y el sensor (LDR) y así variar la intensidad de luz que será la mgnitud que controle dicha cuenta atrás.
Se han empleado las siguientes conexiones:
Entrada analógica C.0, positivo y negativo.
Salidas B.0, B.1, B.2, B.4, B.5, B.6, B.7 y positivo.
Vídeo de la práctica


Código del programa:

'Prepara salidas
output B.0
output B.1
output B.2
output B.3
output B.4
output B.5
output B.6
output B.7
Let pins=%11110000 'Nada (Todo apagado)

lectura:
readadc 0, b0  'Leemos el valor de la variable b0 en la entrada C0
debug b0
if b0>180 then goto inicio 'si la variable es mayor de 180 empieza a contar (poca luz)
goto lectura  'Si hay mucha luz aún no comienza

inicio:
pause 200
nueve:
Let pins=%01001111 'número 9
pause 1000
readadc 0, b0
if b0>180 then goto nueve 'Si ponemos la mano y tapamos, se congela el número
Let pins=%11110000 'Nada (parpadea en blanco antes de cambiar de número)
pause 200

ocho:
Let pins=00001111 '8
pause 1000
readadc 0, b0
if b0>180 then goto ocho
Let pins=%11110000 'Nada
pause 200

siete:
Let pins=%11001001 '7
pause 1000
readadc 0, b0
if b0>180 then goto siete
Let pins=%11110000 'Nada
pause 200

seis:
Let pins=00101111 '6
pause 1000
readadc 0, b0
if b0>180 then goto seis
Let pins=%11110000 'Nada
pause 200

cinco:
Let pins=%01101111 '5
pause 1000
readadc 0, b0
if b0>180 then goto cinco
Let pins=%11110000 'Nada
pause 200

cuatro:
Let pins=%11011111 '4
pause 1000
readadc 0, b0
if b0>180 then goto cuatro
Let pins=%11110000 'Nada
pause 200

tres:
Let pins=%01001011 '3
pause 1000
readadc 0, b0
if b0>180 then goto tres
Let pins=%11110000 'Nada
pause 200

dos:
Let pins=00001010 '2
pause 1000
readadc 0, b0
if b0>180 then goto dos
Let pins=%11110000 'Nada
pause 200

uno:
Let pins=%11010001 '1
pause 1000
readadc 0, b0
if b0>180 then goto uno
Let pins=%11110000 'Nada
pause 200

cero:
Let pins=00001101 '0
pause 1000
readadc 0, b0
if b0>180 then goto cero
Let pins=%11110000 'Nada
pause 200
goto lectura  'Comenzamos de nuevo

No hay comentarios:

Publicar un comentario

En este espacio puedes comentar la entrada publicada o hacer preguntas o sugerencias