Fórum témák
» Több friss téma |
Fórum » 2 digites 7 szegmenses LED kijelző vezérlés LPT-ről multiplex-szel
Témaindító: hackerfish, idő: Jún 20, 2010
Témakörök:
Ha nem két egyforma PNP tranzisztort használok, meg kel néznem, hogy mekkora ellenállás kell a bázisukra?
Ha jól tudom, szokott lenni valami grafikon, hogy mekkora feszültség hatására mekkora áramot engednek át. Ebből pontosan hogy kell kiszámolni, hogy mekkora ellenállás kell a bázisra? Most megyek pihenni, ennyi elég volt mára. :wave: Köszi az eddigi segítséget!
Szia!
Ha telítésbe vezérled (jóval nagyobb bázisáramot adsz neki, mint amit az áramerősítési tényezőjéből kiszámítasz) a két eltérő tranzisztor is működhet jól... Ha venni kell a tranzisztorokat, a 8 szegmens áramához (8 * 10mA) inkább egy kicsit nagyobb pnp tranzisztor vennék BC640, BD140... Milyen feszültségeket mértél? Szia
Lehet 4 vezetéken is 7szegmenses kijelzőt használni ha közbe iktatsz egy BC4511B IC-t. Csak a szám BCD kódját kell kiküldeni
0000 : kijelzőn 0 0001 : kijelzőn 1 0010 : kijelzőn 2 0011 : kijelzőn 3 0100 : kijelzőn 4 0101 : kijelzőn 5 0110 : kijelzőn 6 0111 : kijelzőn 7 1000 : kijelzőn 8 1001 : kijelzőn 9
Aha, ez a BCD kód benne volt az informatika érettségi anyagában is
Ha jól emlékszem, az adott számot számjegyenként binárisan kódolva írjuk le. Viszont már elhatároztam, hogy az egyszerűség kedvéért a status porton fogom vezérelni a multiplexet, S5-tel, és S6-tal, az áramkörbe két PNP tranyó kerül: BC212B, 1K ellenállással. Ez így jó lesz nem? Viszont így, hogy a multiplex, és a szegmensek nem egy porton vannak, a vezérlésnél közbe kell iktatni egy törlést is, nem? Szóval pl első digitre kiküldöm, hogy "1", de ha most átkapcsolok második digitre, azon is megjelenik az 1. Ha meg előbb megváltoztatom a szegmenseket, és utána küldöm ki a multiplex jelet, akkor ugyanott vagyok. De egy szünet megoldja a dolgot nem? Szerintem nem fog látszani.
Ugyan még nem kaptunk választ a kérdésre, miszerint mekkora feszültségszinteket lehet mérni az LPT kimeneten, de én gyanítom, hogy elég "kicsiket". Amivel én találkoztam LPT portok, azokon egyiken sem volt 4.5-5V körüli a magas szint, inkább volt jellemző a 2-3V körüli, TTL-kompatibilis H. Valószínűleg nem véletlenül volt az eredeti kapcsolásban a 3.3V-os szinteltoló Zener. A másik, amit kifogásoltál is, hogy az eredeti rajzon "alsó" digit kapcsolásához a "felső" digit LED-jein átfolyó áram kell, ez eléggé unszimpatikus megoldás, de még akár működhet is, csak valószínű, hogy a "felső"-n derengeni fog az "alsó"-ra kirajzolt kép is. Talán szerencsésebb lenne az általad javasolt 3 vagy inkább 4 tranzisztoros megoldást megépíteni.
Amire viszont még senki sem prüszkölt, de én azért nem tartom túl szerencsésnek, hogy a szegmensek közvetlenül az LPT kimeneti bitjein ülnek. Nomost, mivel ezek logikai kimenetek, nem illene mindenféle meghajtás nélkül sok mA-es terheléseket rájuk akasztani, szerencsétlen esetben akár tönkre is mehetnek. Persze a rajzon látható 330 ohm-ok eléggé korlátozzák az áramot (elméletileg kb 8-9mA alakul ki a szegmenseken), de szerintem akkor sem erre való az LPT port kimenetei. Arról nem is beszélve, hogy a megfelelő fényerőhöz sem biztos, hogy elég lesz ez az áram, főleg multiplexelve.
Nekem lejön a 4,5V.
Hali!
Attól függ mit akarsz csinálni. Vegyünk pl. egy egszerű számlálót, ami elszámol 99-ig. Kiderítgeted, melyik számnak milyen kódot kell kiküldeni a data portra, ha megvan mint a 10 (0..9), akkor ezeket letárolod egy tömbbe, majd kiirod a 0-át. Ezután váltasz a másik kijelzőre, de a 0 marad. Utána kiirod az 1-et, majd váltasz, és kiirod megint a 0-át, majd váltasz, kiirod a 2-őt és így tovább. Őszintén szólva nem tudom hogy a törléssel mi a helyzet, bár így biztos jó lesz, de azért próbáld meg hogy váltás előtt binárisan 0-t küldesz ki, tehát a data porton végig 0 lesz a kimenet, ezekután váltasz kijelzőt és kiírod a számot, megint törölsz.. stb. Szilva: az én kapcsirajzomba már tranyók is vannak :yes:
Szerintem egyre gondolunk, vagy nem?
Én is úgy gondoltam a törlést, hogy 0-t küldök ki. Pontosabban 1-et, mert invrtálnom kell.
Próbáld ki törléssel, és anélkül!
(Szerintem nem lesz sok különbség)
A pnp.jpg jó?
Mert azt most építettem meg, de nem működik. Ha a tranyók E-ét, és C-át rövidre zárom, világít a megfelelő szegmens. A bázison 1K-n keresztül kapják a 4,81V-t.
Miért kell törölni? Első szegmens kimeneteit beállítod kijelölöd a kijelzőt (Sx) meguntad kikapcsolod az Sx -et , adatporton a másik kijelző képét beállítod ,másik kijelzőt bekapcsolod( Sy).Így egyszerre nincs kijelölés és hamis kép.
Ezek a tranyók mit kapcsolnak?
Az én kapcsirajzomat nézted? A weboldaladon csináld meg a "2. pályát" is!
Ez a két tranyó az 5V-ot (külső táp) kötné rá a digitekre.
Melyik kapcsirajzot? A rajzon a két dióda jelöli a két kijelzőt, és természetesen 7 vezeték megy a D0-ba, D1-be... D7-be., csak azokat nem rajzoltam le. [OFF] Mindenképpen. Már többen is írtatok a játékkal kapcsolatban, muszáj lesz megcsinálni rendesen, felhasználósra, pár héten belül. :yes:
Ez az enyém.
Az általad feltöltött kapcsi elvileg jó, tehát vagy a programban van hiba vagy a tranyó lábait cserélted fel, vagy a közös katódnál van valami gubanc, vagy máshol
Közben rájöttem, hogy nem tudom vezérelni a status portot
Igen, néztem. Most megpróbálok átmenni control portra...
Oké, ez megy. C0-t, és C1-et tudom kapcsolgatni. Mind a kettő inverz. "invertálom hogy normális legyen."
"átcsinálom" a kapcsolást is, aztán majd meglátjuk, hogy mi történik
Minden portnak külön Gnd-je van?
Vagy elég, ha csak az egyik Gnd-t kötöm be?
MŰKÖDIK!
Na most már kérünk képeket is!
Itt a kész progi. Ezzel a verzióval megnézhetem az egyes karakterek kódjait. A következő verzió már képes lesz szöveg kiírására. Még lesz vele egy kis munka, de megéri. Majd rakok fel képeket, meg a progi is letölthető lesz, csak előbb még befejezem. Viszont most nem az igazi, mert a géptől alig látszanak a számok, úgy terveztem, hogy hosszabbítós lesz, csak rossz hosszabbítót rendeltem, ha megjön az LPT csati, átkötöm, és lesznek képek. Talán még a "Ki mit épített"-be is bekerül. Köszönöm a segítségeteket! A pontot kinek adjam?
Egyáltalán mi volt a megoldás?
+ mondtátok, hogy általában nem egy kimenettel szokták vezérelni a multiplexet + control port + 2 pnp Megvan a nyertes
Áááá, félrenyomtam. Ilyenkor mi van?
Tulajdonképpen Gabi20 ugyanazt írta le mint én, csak ő később. De hát Te tudod...
Melyik hozzászólásra gondolsz?
Bővebben: Link
vs. Bővebben: Link Bár az én rajzomon nincsenek értékek az alkatrészeknél, de szerintem azok egyértelműek.
Bocsi, igazad van.
zenetom - 17:15 Gabi20 - 18:03 Megköszönném a moderátoroknak, ha mégiscsak zenetom kapná a pontot!
Nem akartam erősködni, csak felhívtam a figyelmedet, ha így döntesz, akkor köszi a pontot! :yes:
Apropó. Váltás előtt törlöd a data portot?
Elkezdtem megcsinálni a multiplexes progit is.
Így néz ki a lényeg: [ciklus eleje] PortOut(888, 255) // törlöm az adatbiteket PortOut(890, 31) // törlöm a control biteket PortOut(888, digit1szam) // kiküldöm az első digit adatbitjeit PortOut(890, 2) // bekapcsolom az első digitet PortOut(888, 255) // törlöm az adatbiteket PortOut(890, 31) // törlöm a control biteket. PortOut(888, digit2szam) // kiküldöm a második digit adatbitjeit PortOut(890, 1) // bekapcsolom a második digitet [ciklus vége] A sebesség jó, nem villog a kijelző. De valamiért halványan világítanak olyan szegmensek is, amiknek nem kellene. (A számok kódolása tutira jó.) Ez mitől lehet? |
Bejelentkezés
Hirdetés |