Jak podłączyć 8 diód na porcie lpt lub com i jak nimi sterować? Nie kasujcie tego, bo nie mogę nigdzie znaleźć konkretnych informacji.
[code]
Potrzebujemy:
1) 8 LED - ( 2 żółte, 2 niebieskie, 2 zielone, 2 czerwone) żeby było
lepiej widać co do nas mrugaj± :P
2) kabel 9'io żyłowy
3) wtyczka do LPT (DB25)
4) 2 rezystory okolo 47k Ohm (do niebieskich LED)
5) 6 rezystorów okolo 2k Ohm (do pozostałych LED)
Mrygaczek ten to prymitywne podł±czenie diód pod piny od 2-9 + masa :>
czyli wyj¶cie danych. Aby się nie powtarzać to wklejam tu opis portu LPT
z tłumaczenia coffee HOWTO.
Przy okazji podziękowania dla Tygrysa, który przetłumaczył ten tekst na J. polski!
Już pro¶ciej być nie mogło :D
kopia z http://www.jtz.org.pl/Html/mini/Coffee.pl-2.html#ss2.1
2.1 Napięcie kontrolujace 0-5V z komputera
Oto prosty przyklad pobrania napięcia 0-5V z portu równoleglego komputera.
Widok od tylu
Męskie zlacze ----- Pin 10 - ACK
DB25 | | Pin 9 - D7
| | Pin 2 - D0
~Strobe v v v Pin 1 -
_________________________________________________________
/
\ 13 12 11 10 9 8 7 6 5 4 3 2 1 /
\ /
\ 25 24 23 22 21 20 19 18 17 16 15 14 /
___________________________________________________/
Pin 1 to ,,Strobe'' (logika odwrotna)
Piny 2-9 to sygnaly SZYNY DANYCH (DATA BUS), dokladnie to, co zostalo
wpisane do (hmm ,,klamek''??? (latches) - przyp. tlum.) komenda OUTB.
((hmm ,,zatrzasków''??? przy. przypisku tlum.))
Pin 10 to sygnal potwierdzenia (ACK) sterowany przez ciebie, tak zebyć
mógl wyprodukować przerwanie.
Piny 18-25 sa zwarte i jest to uziemienie (GND).
Dokladniej:
<= we pin Glówny Nazwa
=> wy DB25 pin sygnalu Bit Uwagi
=> 1 1 -Strobe C0- Ustaw niskie napięcie >0.5us do wysyl.
=> 2 2 Dane 0 D0 Ustaw na pierwsze znaczace dane
=> 3 3 Dane 1 D1 ...
=> 4 4 Dane 2 D2 ...
=> 5 5 Dane 3 D3 ...
=> 6 6 Dane 4 D4 ...
=> 7 7 Dane 5 D5 ...
=> 8 8 Dane 6 D6 ...
=> 9 9 Dane 7 D7 Ustaw na ostanie znaczace dane
<= 10 10 -Ack S6+IRQ Niskie napięcie ~ 5uS, po zaakcept.
<= 11 11 +Busy S7- 1 Dla Zajęte/Offline/Blad
<= 12 12 +PaperEnd S5+ 1 Dla braku papieru
<= 13 13 +SelectIn S4+ 1 Dla wybranej drukarki
=> 14 14 -AutoFd C1- Ustaw na 0 dla LF
<= 15 32 -Error S3+ 0 dla Blędu/Offline/Końca papieru
=> 16 31 -Init C2+ Ustaw niskie napięcie > 50uS do inicjalizacji
=> 17 36 -Select C3- Ustaw na 0 do wybrania drukarki
<==> 18-25 19-30 GND
Zainteresowanych odsyłam na tamt± stronę :) Konstrukcja jest przednia :D
Lutujemy sobie kabel 9'io żyłowy do wtyczki.
Kolejne kable do pinów 2, 3, 4, 5, 6, 7, 8, 9. + które¶ z mas± np 18.
(2 - 9) na tym będ± diody LED
18 - masa
Można kupić sobie uniwersaln± płytkę cyfroniki, chyba pro¶ciej jest
wlutować sobie czę¶ci w ni± niż lutować wszystko na paj±czka :)
Schemat:
< do LPT
pin 2 o--------------)|---/\/\/\/\------------------.
D1 Y 2,3k |
|
pin 3 o--------------)|---/\/\/\/\------------------+
D2 B 47k |
|
pin 4 o--------------)|---/\/\/\/\------------------+
D3 G 2,3k |
|
pin 5 o--------------)|---/\/\/\/\------------------+
D4 R 2,3k |
|
pin 6 o--------------)|---/\/\/\/\------------------+
D5 Y 2,3k |
|
pin 7 o--------------)|---/\/\/\/\------------------+
D6 B 47k |
|
pin 8 o--------------)|---/\/\/\/\------------------+
D7 G 2,3k |
|
pin 9 o--------------)|---/\/\/\/\------------------+
D8 R 2,3k |
|
pin 18 o--------------------------------------------'
(GND)
Opis:
D1..8 - kolejne diody LED
Y - yellow LED
B - blue LED
G - green LED
R - red LED
GND - masa
masy s± zwarte z pinem 18
Pamiętajcie, że dioda ¶wieci w jedn± stronę :P
plus (+) diody jest na długiej nóżce :) a (-) na krótkiej (masa)
pobrane z http://www.kwant.info/projekty/elektronika/diody/readme.txt
[/code]
jest to opis jak to zrobic od strony sprzetowej... pozniej trzeba wyslac bajt do portu lpt a jak to zrobic znajdziesz w faq
Ta procedura z wysyłaniem bajta... Jaki kod ASM ma port LPT? Czy 2 oznacza numer pina?
Witam....mam pytanko odnosnie postu...czy zamiast tych diód mozna zastosowac sylniczki krokowe ??? nie koniecznie 8 :-) chocby dwa....ale tak zeby nie spalic portu. Pozdrawiam :)
Wlasciwie to nie wiem, nigdy sie w to nie bawilem, ale jak nie kcesz spalic portu to wzor na rezystancje:
R = U / I
:] U - napiecie pradu, I - natezenie pradu
wynik wychodzi w ohm'ach, taki rezystor musisz uzyc. wiecej nie powiem bo nie wiem :P
Tak tylko w kwestii tych diód ;-)
Mam nadzieję, że rozmawiamy o diodach, a nie diódach
więc proszę pisać 8 diod.
Z uszanowaniem dla języka polskiego
Pozdrawiam
wynik wychodzi w ohm'ach, taki rezystor musisz uzyc. wiecej nie powiem bo nie wiem
Taka może być minimalna rezystancja pojedyńczej cewki uzwojenia silnika. Więcej [wszystko] na http://www.elektroda.pl
Odnośnie tego silniczka to wszystkim odradzam bezpośrednie ( i z dodatkowym rezystorem) włączenie bezpośrednio pod LPT.
Nikt przecież nie wspomniał o powstających przepięciach ( uszkodzenie portu !!! ) w wyniku szybkozmiennych impulsów sterujących tym silniczkiem.
Najbezpieczniejszą metodą jest zastosowanie izolacji galwanicznej tzn. transoptora, który całkowicie zabezpieczy nam port od wszystkich nieszczęśliwych wypadków (zwykle tansoptory wytrzymują przepięcia powyżej 3kV a ich cena waha się ok. 3zł za szt., ale nikomu nie polecam tego sprawdzać z napięciem sieciowym, już 230V ).
Oki, najpierw co do Naszego języka... Zastanawiałem się nad tym, ostatecznie pisząc "diód". Sorki, faktycznie.
A co do silniczków... Oczywiście znowu macie rację.
Co nie zmienia faktu, że napisałem "nigdy się w to nie bawiłem".
Z pozdrowieniami...
Mam jeszcze pytanie dotyczące wysyłania bajtów na $378:
Jeżeli wyślę wartość binarną 00101011, to wyślę napięcie na pierwszy, drugi, czwarty i szósty pin?
Dobre pytanie, także jestem ciekawy... A ponowne wysłanie takiego ciągu wyłączy je, czy należy aby je wszystkie wyłączyć wysłać ciąg 00000000 ?
Wydaje mi sie, ze to bedzie tak.
Jezeli wyslemy 00101011 to na D0, D1, D3, D5 pojawi sie stan wysoki, jesli mnie pamiec nie myli to D0 jest na 2 pinie i tak po kolei dla reszty.
Obadaj to, moze Cie oswieci:
http://www.elektroda.pl/rtvforum/topic29620.html
A ja juz jestem pewien, bo niedawno wytrawilem plytke i podlaczylem do kompa :] Tam gdzie jedynki tam wysyla sie napiecie. Jak sie wysle wartosc np. 3, to jest w bin 00000011, zapala sie dwie ostatnie. Jak sie wysle 5, 00000101, wiec ostatnia i trzecia od konca :] Tak jak sie konwertuje z dziesietnego na dwojkowy, tak beda swiecic.
Mam jeszcze jedno pytanie: Jakie jest maksymalne obciążenie portu LPT? Dioda ma 0,02A, ale mi jej nie szkoda. Nie chcę spalić portu. Pytam, bo mi te diody przy 2200 kOhm slabo swieca :]
Pozdro.
no dobra, a jak zapalisz 9 diodę ?
A wiesz ze siem nad tym zastanawialem :] Potrzeba jakis przelacznik pod wplywem napiecia, nie znam sie na tym (tranzystor?!). No i wtedy wysylac dwa bajty, ostatni bit zawsze 1. W ten sposob mozna zapalic 14 diod. Ale ja jestem z tego ciemny, a pisze to jako programista, nie jako elektronik.
Ale moje pytanie: Jakie jest max obciążenie portu LPT? (diody 0.02A)
Stary, chcesz byc pewny, ze nie popsujesz to zastosuj transoptor, albo inny element, ktory pozwoli odizolowac galwanicznie port od eksperymentalnego ukladu i bedzie po klopocie. Jesli nie kumasz to zrob tak jak ja za dawnych czasow. Idziesz do pobliskiego sklepu elektronicznego i mowisz Pani (albo Panu), o co Ci chodzi i jesli to dobry czlowiek to Ci odpowie, albo doradzi jakies inne ciekawe rozwiazanie, moze nawet zaoferuje Ci gotowy układ lub uklad do samodzielnego montazu.
Eee... Mam ojca elektronika :P
Poza tym full części w warsztacie z jakichś starych układów. Chodzi mi o to, jaki max rezystor zastosowac (bo 2200kOhm slabo swieci), aby nie spalic portu. PORTU, nie diody :]
jak chcesz to poczytaj sobie to..
http://www.elektroda.pl/dla_kompa/discolitez.html
powinno pomóc..
PS co do rezystora to ja mam 10kom na Niebieskich Ledach i działa dobrze.. a port sie niepali ;P
ja mam takie pytanko - czy nadaje się do tego kabel 8+1 ? Tzn., 8 izolowanych kabelków w środku i jeden nieizolowany kabel (czy na masę może być ?)... to wszystko oplata ekran.
//Dopisane:
Przed podłączeniem i napisaniem programu chciałbym sprawdzić czy wszystko działa na akumulatorze. Możecie mi powiedzieć, jakie napięcie jest na pinach portu LPT w komputerze ? 12V ?
//Dop.:
A nie wiesz może jeszcze jak to wszystko zapalić ? Bo powyżej win98 ponoć niektóre instrukcje assemblera nie podobają się OSowi... a ja jestem niestety nieszczęśliwym posiadaczem WinXP... Może jakiś VCL czy cóś ?
Napiecie to 5 V (sprawdz miernikiem na mase i piny od 2-9). Kabel.... Raczej pasuje, osobiście używam jedenastożyłowego, wszystkie zaizolowane :]
Powodzenia!
Jak odebrać coś przez port LPT i w programie odczytać? Chodzi mi o taki zewnętrzny przycisk, którego naciśnięcie powoduje wysłanie wartości. Wiem, że są 4 piny rejestru wejściowego i 4 dwukierunkowe. Jak je wykorzystać?
Numery portu LPT (dla LPT1):
Wyjście - 378
Wejście - 379
Dwukierunkowy - 37A
Numery portu LPT (dla LPT2):
Wyjście - 278
Wejście - 279
Dwukierunkowy - 27A
Numery portu LPT (dla LPT3):
Wyjście - 3BC
Wejście - 3BD
Dwukierunkowy - 3BE
Przelacz na tryb ECP/EPP i poczytaj o tych trybach.
Jak odebrać coś przez port LPT i w programie odczytać?
Ustawiasz piąty bit portu AdresBazowy+2 (np. $37A) i od tej pory linie danych pracują jako wejścia. Gdy są nieobciążone jest na nich 5V i odczytywany bit ma wartość 1, jeśli zewrze się do masy bit wyzeruje się.
Theriel - Poszukaj info o sterowniku i źródłach ZlPortIO. Bardzo prosta obsługa, działa na Win 2000/NT/XP. Polecam!
piwko28: A gdzie znaleźć to coś?
DOPISANE:
Mam (ze źródłem - naciśnijcie Ctrl + F i wpiszcie ZlPortIO):
http://delphi.icm.edu.pl/newl/midxd50f.htm
Znalazłem jaką fajną kartę w necie. Można do niej podłączyś wszystko. Wejdż na stronię http://www.conrad.pl lub http://www.conrad.com i wpisz w wyszukiwarce <font color="violet">967720</span> -do karty i <font color="violet">967730</span>-do programu obsługującego tą kartę. Jest tam jeszcze do tego obudowa i zasilacz.Na polskiej stronie jest polska instrukcja. I na pewno można to programować z Delphi.
dzięki wielkie za pomoc, mój "układzik" już jest i pięknie działa, mam jednak jeszcze pytań kilka: dlaczego na pinie 4 i 8, po podłączeniu do komputera wtyczki, powstaje napięcie i trwa w nieskończoność ? Jak się tego "automatycznego bajera" pozbyć ? Kolejne moje pytanie, to czy jest taka możliwość:
chciałbym umieścić na płytce drukowanej "coś", co umożliwiłoby mi programowanie tego i obsługę jego zdarzeń... np:
zaprogramować układzik, że:
If $pinwejscianr(5)=TRUE then WyslijNaPinNr(3,jakas_wartosc)
etc...
Pozdrawiam,
Theriel
theriel - ja na razie testuje na starym kompie z win98, zapala mi sie 3 dioda przy starcie systemu. Nic na to nie poradzisz, ew. przy starcie Twojego programu wszystkie piny mogą się zerować. To port od drukarki, wiec moze w drukarce jest to jakis sygnal kontrolny :-)
damiann - nie uwazasz, ze produkty conrada sa troche drogie? Fakt, niektore rzeczy maja supertanie, ale za taka plytke nigdy w zyciu nie dalbym 200 zl!! No i przesylka 19 zl pocztą (paczka doszla do mnie po trzech tygodniach :-) ) lub 29 zl Servisco (dochodzi po 24h, ale druga przesylka).
No i pytanie ode mnie: Pomijajac tą plytke, idzie jakos kontrolowac 8 diod przez port com? Przy czym nie chce placic za to powyzej 30 zl (rzecz jasna najlepiej nic nie placic :]).
dobra, mam 8 diód na LPT to idziemy dalej - mam pytanie - z jakim silniczkiem zacząć zabawę ? #-] Krokowym czy może jakimś innym ? i czy ktoś wie jak go obsłużyć ? [browar] #-D.
Pozdrawiam
Theriel