;Aquest
programa controla el plegat i desplegat d'un tendall basant-se
en el nivell de llum i la velocitat del vent.
;El procés pot fer-se automàtic o manual.
;Al SADEX connectem els mòduls a les sortides de la següent
manera:
; A: luxòmetre
; B: tacòmetre
; C: entrades digitals (entrades 1 i 2, sensors de final de
cursa)
; D: motors (motor 1) ;TOLDO.
Inici del procés general. Qualsevol tecla premuda desactiva
el control automàtic.
Procediment
toldo
Escriu [esborra.text Per a control manual, prem qualsevol
tecla]
Mentre [tecleig = "fals] [executa [tacom]] [executa [manual]]
fi
;TACOM.
Es fa la mesura de la velocitat del vent. Si és major
a 4 rps de l'anemòmetre, el tendall no s'estén
per a evitar que es trenqui.
Procediment
tacom
(escriu [Velocitat de l'anemòmetre (rps) = ] tacòmetre.llegit
"b)
Mentre [tacòmetre.llegit "b < 4] [executa [luxom]]
[executa [plega]]
executa [toldo]
Fi
;LUXOM.
Es mesura l'intensitat luminosa. Si és major a 200
lux, es desplega el tendall. Si és inferior a 100 lux
es replega. A valors intermitjos no hi ha acció.
Procediment
luxom
(escriu [Nivell de llum (lux) = ] luxòmetre.llegit
"a)
Mentre [luxòmetre.llegit "a > 200] [esborra.text
escriu [Desplegant el tendall] executa [desplega]]
Mentre [luxòmetre.llegit "a < 100] [esborra.text
escriu [Plegant el tendall] executa [plega]]
Executa [toldo]
Fi
;DESPLEGA.
Accionament del motor i encesa del LED de la sortida 1 com
a indicació. L'entrada 2 (del sensor de final de cursa)
desconnecta el motor i atura el procés.
Procediment
desplega
mentre estat.entrada? "c 2 [activa.sortida "e 1
esquerra.motor "d 1] [desactiva.sortida "e 1 atura.motor
"d 1]
Executa [luxom]
fi
;PLEGA.
Accionament del motor en sentit de gir invertit i encesa del
LED de la sortida 2 com a indicació. L'entrada 1 (del
sensor de final de cursa) desconnecta el motor i atura el
procés.
Procediment
plega
mentre estat.entrada? "c 1 [activa.sortida "e 2
dreta.motor "d 1] [desactiva.sortida "e 2 atura.motor
"d 1]
Executa [luxom]
fi
;MANUAL.
Indicació dels controls del teclat per a accionar manualment
el tendall.
procediment
manual
esborra.text
Escriu [Control manual]
Escriu [Tecla B: Baixar el tendall]
Escriu [Tecla P: Pujar el tendall]
Escriu [Tecla S: Aturar el motor]
Escriu [Tecla A: Tornar a control automàtic]
executa [cmanual :tecla]
fi
;CMANUAL.
Accionament manual del tendall.
procediment
cmanual :tecla
posa.a "tecla caràcter.llegit
si :tecla = "a [escriu [Tornat a control automàtic]
executa [toldo]]
si :tecla = "b [escriu [Desplegant el tendall] esquerra.motor
"d 1]
si :tecla = "p [escriu [Plegant el tendall] dreta.motor
"d 1]
si :tecla = "s [escriu [Motor aturatl] atura.motor "d
1]
cmanual :tecla
fi |