Está en la página 1de 4

Práctica: Simulación del control de nivel mínimo

de líquido en varios depósitos.

Para realizar las siguientes prácticas


emplearemos el picaxe 18A, una placa con pulsadores
para simular las entradas y otra placa con leds para las
salidas.

Propuesta A. Deseamos controlar el nivel mínimo de liquido en 2 depósitos


simultáneamente. Cuando en ambos depósitos el líquido este por encima de un
mínimo se encenderá un led verde. Si en cualquiera de ambos desciende del mínimo
se encenderá un led amarillo y si los dos
Deposito1 Deposito 2 Salida descienden del mínimo un led rojo.
0 0 Rojo
0 1 Amarillo
1 0 Amarillo
1 1 Verde

Una posibilidad para el programa de control seria:

symbol deposito1 = input1


symbol deposito2 = input2

main:

if deposito1=0 and deposito2=0 then goto rojo


if deposito1=1 and deposito2=1 then goto verde
if deposito1=0 or deposito2=0 then goto amarillo

goto main

verde:
let pins = %10000000
goto main

amarillo:
let pins = %01000000
goto main

rojo:
let pins = %00100000
goto main
Propuesta B. Igual planteamiento que el caso anterior
pero con tres depósitos.

Deposito1 Deposito 2 Deposito 2 Salida


0 0 0 Rojo
Uno o dos depósitos por debajo del mínimo Amarillo
1 1 1 Verde

Una posibilidad para el programa de control seria:

symbol deposito1 = input1


symbol deposito2 = input2
symbol deposito3 = input0

main:
if deposito1=0 and deposito2=0 and deposito3=0 then goto rojo
if deposito1=1 and deposito2=1 and deposito3=1 then goto verde
if deposito1=0 or deposito2=0 or deposito3=0 then goto amarillo
goto main

verde:
let pins = %10000000
goto main

amarillo:
let pins = %01000000
goto main

rojo:
let pins = %00100000
goto main
Propuesta C. A diferencia del caso anterior en esta
propuesta se encenderá el led verde si hay al menos un
deposito que baja del mínimo, el led amarillo si hay 2
depositos que bajen del mínimo y el rojo si los tres
depósitos bajan del mínimo. Si todos los depósitos están
llenos todos los leds estarán apagados.

Deposito1 Deposito 2 Deposito 2 Salida


0 0 0 Rojo
Dos depósitos por debajo del mínimo Amarillo
Un deposito por debajo del mínimo Verde

Una posibilidad para el programa de control seria:

let b0=0

main:
let b0=pins
if b0=%0000000 then rojo
if b0=%0000011 or b0=%0000110 or b0=%0000101 then verde
if b0=%0000001 or b0=%0000100 or b0=%0000010 then amarillo
let pins = %00000000
goto main

verde:
let pins = %10000000
goto main

amarillo:
let pins = %01000000
goto main

rojo:
let pins = %00100000
goto main
Propuesta D. Mismo caso que la A, pero en esta ocasión emplearemos el display para
mostrar el nivel de los
depósitos.

Una posibilidad para el programa de control seria:

symbol deposito1 = input1


symbol deposito2 = input0
pause 500
serout 7,N2400,(254,1)
serout 7,N2400,("Nivel bajo en:")

main:

if deposito1=0 and deposito2=0 then goto rojo


if deposito1=1 and deposito2=1 then goto verde
if deposito1=0 or deposito2=0 then goto amarillo

goto main

verde:
pause 500
serout 7,N2400,(254,192)
serout 7,N2400,("0 depositos")

goto main

amarillo:
pause 500
serout 7,N2400,(254,192)
serout 7,N2400,("1 deposito")
goto main

rojo:
pause 500
serout 7,N2400,(254,192)
serout 7,N2400,("2 depositos")
goto main

También podría gustarte