Projekt: ”All in
One”
Lys, lyd og billeder samlet i en...
Selve applikationen er i sit
første udkast yderst simpel. I applikationens hoved loop gør man
følgende:
Man bliver i dette loop hvis der
inden aktivitet er.
-
Hvis der er IR-signal, så
springer man til et sted i koden, hvor det undersøges om den
modtagne er identisk med en af de gemte koder. Hvis det er
tilfældet så tænder/slukker man den pågældende udgang i 5
stikdåsen og returnerer til hoved loopet.
-
Hvis en af programmerings
knapperne er trykket. Så sændes lysdioden og der afventes en
IR-kode. Den gemmes i EE-prom hukommelsen. derefter slukkes
lysdioden og der returneres til hoved loopet.
Lysdæmper udgangene var mere
kompliceret at få til at virke. Først havde jeg tænkt mig at bruge
en momostabil multivibrator som skulle være placeret i udgangen (se
diagramet). Disse multivbratorer ville
blive reaktiverede med repetition frekvensen fra min fjernbetjening,
på den måde ville udgangen være tændt lige så længe knappen på
fjernbetjeningen blev holdt nede.
Det virkede bare ikke... for
IR-signalet fra LK-fjernbetjeningen blandede sig med signalet fra
min universal fjernbetjening og det betød at IR-koden ikke kunne
læses korrekt. Derfor blev udgangen til lysdæmperen slukket. På den
måde kunne jeg ikke opnå hvad jeg ville.
Nu var ideen så at bruge en
timer placeret internt i microprocessoren. Denne timer skulle
startes når man modtager et rigtigt IR-signal. Derefter leder jeg
efter pulser med længden 2,66ms, for en sådan puls indikerer at
knappen på universal fjernbetjeningen stadig et trykket. Hvis jeg
ikke finder sådan en puls inden timeren løber ud, så slukkes
lysdæmper udgangen og der returneres til hoved loopet.
Denne ide virker fordi ingen
pulser er længere end en startpuls i RC-6 protokollen. Startpulsen
for LK-fjernbetjeningen er ikke længere end 1,5ms. Begrænsningen i
denne løsning er, at lysdæmperne skal programmeres ind på universal
fjernbetjeningen på en knap der genererer en RC-6 kode. men det kan
jeg godt leve med.
Løsningen betyder dog også at
der skal laves en ændring af hardwaren. Den momostabile
mulitvibrator (74LS123N) på lysdæmerenes udgange skal fjerens og der
skal laves en kortslutning fra ben 9 til ben 5 og en fra ben 1 til
ben 13. Når det er gjort så virker applikationen. Du finder koden
til applikationen herunder:
Applikationes koden finder du her:
RClight.ASM (PDF)
Du kan læse mere om Hardwaren
til dette projekt her.
|