Tinus-online
http://www.tinus-online.nl :: Corolla G6 :: EOS 5D
Hoi co,
Weet iemand hie ik met visual basic de STROBE, AUTOFEED en INIT op commando (knoppen) aan en uit kan zetten?
en hoeveel ma. kunnen deze uitgangen leveren?
(genoeg voor een BC547B?)
snuugel
PowerPC603
4096 LED's of meer afzonderlijk sturen met parallelle poort? Easy...
Welk systeem gebruik je om de poort aan te sturen?
Werk je met DLLs of met IOPort/NTPort?
Als je IOPort of NTPort gebruikt, moet je het adres aanpassen waarnaar IOPort schrijft.
Standaard staat deze ingesteld op 888, dit zijn de 8 datalijnen.
Op adres 889 zitten de statuslijnen (dit zijn 5 ingangen) en op 890 zitten de controllijnen (de 4 uitgangen die jij nodig hebt).
Dus bij een knop zet je simpelweg:
IOPort.address = 890
Hier kan je dan data naartoe sturen om deze controllijnen te sturen.
/C0 = Strobe (geïnverteerd) = pen 1
/C1 = AutoLineFeed (geïnverteerd) = pen 14
C2 = Initialize (normaal) = pen 16
/C3 = SelectIn (geïnverteerd) = pen 17
Dus als je hier dan het volgende doet:
IOPort.value = 15 (= binair: 1111)
Dan staan alle uitgangen LAAG (geïnverteerde uitgangen), behalve C2 (deze staat HOOG).
Wanneer je daarna terug data op de datalijnen wilt zetten, doe je simpelweg:
IOPort.address = 888
Dit zal ook wel zo werken met een DLL, als deze het toestaat om het adres te veranderen.
De hoeveelheid stroom die de parallelle poort kan leveren, is genoeg om 1 TTL-ingang te sturen (misschien 2, hangt van uw poort af).
Het beste kan je eens de specificaties van je moederbord eens raadplegen of je dit erin terugvindt).
Ik gebruik altijd eerst een TTL-buffer IC om er zeker van te zijn dat ik mijn poort niet kan beschadigen.
In het begin nam ik eerst ook BC547 transistoren en dan tussen een poortpen en de basis van de transistor een weerstandje van 10K (dan kom je uit op een basisstroom van +/- 0,4mA.
Dit is voor mij reeds voorbijgestreefd, omdat ik bidirectioneel werk.
Tinus-online
http://www.tinus-online.nl :: Corolla G6 :: EOS 5D
