Práctica: Simulación del control de nivel mínimo de líquido en varios

Anuncio
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
1
1
0
1
0
1
Rojo
Amarillo
Amarillo
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
0
0
0
Uno o dos depósitos por debajo del mínimo
1
1
1
Salida
Rojo
Amarillo
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
0
0
0
Dos depósitos por debajo del mínimo
Un deposito por debajo del mínimo
Salida
Rojo
Amarillo
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
Descargar