Framsidan

Datorstyrt
belyssning
Del 1
Del 2
Del 3
Del 4
Del 5

Inredning
100 liters

325 lites

550 liters


Datorstyrt akvariebelysning del 2
I början tackar jag igen Anders Jackson samt alla andra, som har korrigerat mitt text.

Mera text samt bilder kommer dagligen! Fråga gärna!

När vi nu fått vår leksak färdig, kan vi börja leka med den. Först stänger vi av datorn, för säkerhets skull. Därefter kopplar vi in skrivarporten, slår på datorn och bootar den i DOS.

För att veta hur skrivarporten kan programeras, bör vi veta vilken adress den har. Då är det bra att ha tillgång till programmet DEBUG.EXE som finns i DOS.
Så om vi inte är i dos, så startar vi om datorn i DOS-läge.
I DOS skriver vi sedan följande:
debug
Efter debug-kursorn skriver vi:
-d 0040:0008 L8
På skärmen syns:
0040:0008       78 03 78 02 00 00 00 00
eller något liknande
Nu skriver vi upp de fyra första siffrorna på skärmen lite baklänges. Så detta exempel ger oss 0378 och 0278. Adressen 0378 ger oss adressen till LPT1 och 0278 är adressen till LPT2. Om man inte använder helt standardiserade portar, så kan adresserna man får vara lite annorlunda. I så fall så får ni byta ut 0378 i exemplena mot det ni då får.

OUT &H378, 0 (då slås D0 på LPT1 av)
OUT &H378, 1 (då slås D0 på LPT1 på)

Om allt fungerar så skall lysdioden vara tänd nu. Om vi nu skriver:

OUT &H378, 0
så kommer ljusdioden att slockna.

Så enkelt fungerar det, i vart fall om allt är rätt kopplat. Om ljusdioden inte lyser och slocknar som den skall, så kontrollera att ni har gjort alla kopplingar och lödningar på rätt sätt. Jag kan tyvärr inte hjälpa er med detta. Så se till att optokopplaren är kopplat till D0 på skrivarporten.

Ifall ni inte har tillgång till DEBUG.EXE, så kan skrivarportens adress vara någon av följande adresser: 0378 eller 03BC. Man kan alltså prova dem, men enklast hittar man adressen med DEBUG.EXE.

Init-pinnen hör till kontrolldelen av skrivarporten, vilket gör att man hittar den på en högre adress: Om dataporten är 0378, så är kontrollporten 037A (dvs två steg högre upp). Om dataporten är 03BC så är kontrollporten på 03BE, osv. Init är D2 på kontrollporten, dvs binärt 4 (D0=1, D1=2, D2=4, D3=8, D4=16, D5=32, D6=64 och D7=128).

Blinkande ljusdiod programmeras t.ex. så här:

CLS ' Töm skärmen
DO
SLEEP 1 ' Vänta en sekund
PRINT "Ljusdioden släcks"
OUT &H378, 0 ' Släck ljusdioden
SLEEP 1
PRINT "Ljusdioden tänds"
OUT &H378, 1 ' Tänd ljusdioden
LOOP ' Tillbaka till looppens början

När detta program körs kommer lysdioden att blinka med en sekunds intervall. Om man vill styra D1, så byter man ut 1:an i OUT &H378 mot 2 (enligt ovan). Om skrivarporten inte är på adress 0378, så byter man ut 378 mot den adress som skrivarporten använder.

Nu är det tillfälle att tillverka leksak 2. Dvs nu skall vi ha nio lysdioder i rad som vi skall kunna kontrollera från datorn. Detta är ett lämpligt verktyg att lära sig kontrollera dessa portar innan man kopplar in ljusrampen på riktigt.

Vad vi gör är att vi tar åtta likadanna motstånd, optokopplare, lysdioder och socklar som tidigare och kopplar dem till stift D1-D7 samt till stift Init på skrivarkabeln (dvs stift 3-9 samt 16).


Den nionde hade jag på en extra veroplatta, vilket inte visas på bilden. Optokopplarna finns som vita eller svarta.P>

Här kommer ett par program som man kan prova portarna med.

CLS
DO
 PRINT "Månen släcks"
 OUT &H37A, 0
 OUT &H378, 0
  FOR a = 1 TO 255
  PRINT a;" ";
  OUT &H378, a
  SLEEP 1
 NEXT
 PRINT
 PRINT "Månen tänds"
 OUT &H37A, 4
 SLEEP 1
LOOP

De olika ljusdioder tänds med:
OUT &H378,a där a är = 1,2,4,8,16,32,64,128
OUT &H37A, 4 för att tända Init-stiftet.
och släcks med att sätta a=0.

OUT &H378,0
OUT &H37A,0

Nu börjar spänningen stiga, hoppas jag.
Vi börjar nu tillverka den analoga delen, med vilken belysningen styrs.

Skillnaden mot det vi redan gjort är inte så stor. Alla nio kopplingar mellan optokopplarna och datorns parallellport är samma som vi har gjort, men på andra sidan tas ljusdioderna bort samt motstånden byts och kopplas annorlunda.

Vi bygger ett enkelt motståndsnät, med vilket binära värden bygger upp analog spänning. Det kommer således att bli 255 olika spänningar att styra ljuset med. Det finns färdiga digital till analogomvandlare (D/A-omvandlare) att köpa, men de kostar lite mer. Det är dock enkelt (och billigt) att bygga en egen omvandlare, som ger 0 - 10 volt.


Motstånden:
R1 = 1 Kohm (1 kilo-ohm, 1/4w 8 stk)
R2 = 20 Kohm (20 kilo-ohm, 1/4w 9 stk.)
R3 = 10 Kohm (10 kilo-ohm, 1/4w 7 stk.)


Batterieliminator i 220 volts uttag som levererar 12 volt.

Fortsättning följer...

?Till del 1?Till del 3

borjanTill början av sidan



Sist uppdaterad 9.9.2003 12:40

E-mai till mig:E-maili-osoitteeni
Kopiera mitt E-mail-address