Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Schemat z LED-owym imieniem

Voydzin 25 Paź 2016 18:51 894 23
  • #1 25 Paź 2016 18:51
    Voydzin
    Poziom 4  

    Pragnę zapytać, czy ktoś z Was ma pomysł, jak wykonać tabliczkę imienną (bądź jakikolwiek napis) z diod LED (różnokolorowych), ale żeby litery z niej utworzone w jakiś sposób się "poruszały". Chodzi mi NA PRZYKŁAD o uzyskanie efektu, żeby literki kolejno się zapalały i na końcu gasiły. NIE chciałbym, aby moje diody "chodziły" w rytm muzyki. Proszę o pomoc :P :please:

    0 23
  • #2 25 Paź 2016 19:04
    nadprzewodnik22
    Poziom 15  

    Może połącz je wszystkie do zasilania i reguluj mocą świecenia (poprzez PWM) tak jak tu

    0
  • #3 25 Paź 2016 19:37
    Voydzin
    Poziom 4  

    nadprzewodnik22 napisał:
    Może połącz je wszystkie do zasilania i reguluj mocą świecenia (poprzez PWM) tak jak tu


    Dzięki wielkie za pomoc ! Ale chodziło właśnie żeby LEDY NIE świeciły w rytm muzyki :) Odnosząc się do tej propozycji to chciałbym żeby diody samodzielnie się zmieniały za pomocą jakichkolwiek układów scalonych :)
    Pozdrawiam

    0
  • Pomocny post
    #4 25 Paź 2016 20:52
    krzysztof212
    Poziom 18  

    Jeśli chcesz zrobić kolejno zapalające się literki, możesz to zrobić za pomocą rejestru przesuwającego 74164.
    Literki będą się zapalać po kolei, potem wszystkie zgasną i zapalanie zacznie się od nowa. Jutro podeślę schemat.

    Pozdrawiam, Krzysztof

    0
  • #5 26 Paź 2016 00:40
    Voydzin
    Poziom 4  

    Witaj !
    Krzysztofie wlasnie o to mi chodziło, trafiłeś w punkt :) czekam na schemat.
    Gorąco pozdrawiam
    Dawid

    0
  • #7 26 Paź 2016 09:48
    Voydzin
    Poziom 4  

    dondu napisał:
    Możesz wykorzystać jakiś mikrokontroler i sam zaprogramować efekt migania lub nawet kilka: http://mikrokontrolery.blogspot.com/p/spis-tresci.html


    Dzięki wielkie za pomysł Dondu, ale myślę że na mikrokontrolery przyjdzie czas, narazie chciałbym zebrać trochę informacji teoretycznych na ich temat a potem wezmę się za własne projektowanie. Pozdrawiam

    0
  • #8 26 Paź 2016 13:22
    dondu
    Moderator Mikrokontrolery Projektowanie

    Ot i cały program:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Uzyskany efekt dla 8 diod:

    Cytat:
    00000001
    00000011
    00000111
    00001111
    00011111
    00111111
    01111111
    11111111
    11111111
    11111110
    11111100
    11111000
    11110000
    11100000
    11000000
    10000000


    1 - dioda świeci
    0 - dioda zgaszona

    0
  • #9 26 Paź 2016 14:27
    Voydzin
    Poziom 4  

    Dondu dzięki wielkie !!! Gdybym tylko wiedział jak się zabrać za programowanie takie mikrokontrolera, ale wydawało mi się ze znajdę to w tym poradniku który mi udostepnileś. Pytanie do rozkazów : co musiałbym zrobić żeby dioidy świeciły od lewej do prawej.
    Czekam ma schemat od Krzysztofa, wtedy rozwaze dwie opcje :) dzięki za pomoc ludziska ! :)

    0
  • #10 26 Paź 2016 14:42
    dondu
    Moderator Mikrokontrolery Projektowanie

    W zakresie mikrokontrolerów wszystko jest pod wskazanym linkiem.
    Poświęć parę dni na lekturę, a potem wrócisz z konkretnymi pytaniami to podpowiemy :)

    0
  • #11 26 Paź 2016 16:59
    yokoon
    Poziom 28  

    dondu napisał:
    Ot i cały program:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Uzyskany efekt dla 8 diod:

    Cytat:
    00000001
    00000011
    00000111
    00001111
    00011111
    00111111
    01111111
    11111111
    11111111
    11111110
    11111100
    11111000
    11110000
    11100000
    11000000
    10000000


    1 - dioda świeci
    0 - dioda zgaszona


    Czy ten program został sprawdzony?
    U mnie w Eclipsie podczas kompilacji wyrzuca dużo błędów.

    0
  • #12 26 Paź 2016 18:22
    Voydzin
    Poziom 4  

    Ja nic nie sprawdzalem...
    Musimy poczekać na odpowiedź od dondiego,
    Pozdrawiam serdecznie

    0
  • #13 26 Paź 2016 18:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    Bo to tylko funkcja main(), a należy na samym początku dodać nagłówki:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    + oczywiście ustawić F_CPU: http://mikrokontrolery.blogspot.com/2011/03/fcpu-gcc-gdzie-definiowac.html


    Edit:

    No i jeszcze przed while(1) dodać ustawienie wszystkich pinów portu B na wyjścia czyli:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Łącznie więc program wygląda tak:


    Kod: c
    Zaloguj się, aby zobaczyć kod


    Voydzin napisał:
    ... od dondiego,

    Nie odmieniaj - po prostu dondu :)

    0
  • Pomocny post
    #14 26 Paź 2016 18:57
    _jta_
    Specjalista elektronik

    Ile ma być liter? Czy to ma być tak, że zapala się pierwsza litera, potem druga.... aż do ostatniej, a potem kolejno gasną, czy może, że gasną wszystkie naraz, czy odrębne zapalanie się LED-ów, bądź ich grup w ramach jednej litery, potem następnej?

    Ograniczeniem pojedynczego 74164 (czy innych 8-bitowych rejestrów SIPO) jest to, że można mieć tylko 8 grup - jak napis ma więcej liter, to albo trzeba użyć więcej rejestrów, albo zapalać więcej liter jednocześnie. Można zrobić kolejne zapalanie, a potem kolejne gaśnięcie.

    Taki rejestr ma wejście danych, zegara i zerujące, oraz 8 wyjść. Działanie takiego rejestru wygląda tak, że zbocze sygnału zegara powoduje przesunięcie zawartości wyjść o 1 pozycję i wpisanie danej z wejścia na tę pozycję, która nie ma poprzedzającej, czyli jeśli masz np. 01100101, a na wejściu jest 1, to wyjdzie 11001011 (tu zapis jest taki, że przesuwa się w lewo).

    Do twojego zastosowania potrzebne są inne układy 0 i 1 - na wejście trzeba podać negację tego, co jest na ostatnim wyjściu, a za początku wszystko wyzerować, wtedy wyjdzie kolejno 00000000, 00000001, 00000011, 00000111, 00001111, 00011111, 00111111, 01111111, 11111111, 11111110, 11111100, 11111000, 11110000, 11100000, 11000000, 10000000, 00000000, 00000001,... i tak w kółko.

    Można jeszcze użyć CD4060 jako generatora sygnału zegara - to pozwoli uzyskać taki sam efekt nawet bez działania zerowania. CD4060 zawiera generator impulsów i licznik 14-bitowy, o ile dobrze pamiętam nie ma wyjścia z bitu 11 i bitów 1-3. Podłączyć wejście zegarowe 74164 pod bit 9, wejście danych pod bit 14 - uzyskasz taki efekt, że kolejno, w odstępie czasu T zaświeci 8 liter, potem przez czas 8T będą świecić wszystkie, potem zaczną kolejno gasnąć, po zgaśnięciu wszystkich przez czas 8T nie będzie świecić żadna.

    Można pokombinować z użyciem dodatkowo bramek OR - są układy, które zawierają 4 takie bramki. Całkowity okres musi być potęgą 2, ale można uzyskać np. to, że każda litera będzie świecić przez 3/4 czasu (na to wystarczy jedna bramka OR, żeby pod wejście 74164 podłączyć bity 13 i 14 z CD4060), ale to da nieco długi czas świecenia wszystkich liter: 8T na zaświecenie 8 liter, 16T świecą wszystkie, 8T na zgaszenie, i potem znowu się zapalają (tylko przez 1T nie świeci żadna). Więcej bramek OR chyba nie da nic ciekawego.

    Można pokombinować z przerzutnikami D (np. 7474, albo 4013) - pewnie łatwo uda się uzyskać np. świecenie każdej litery przez 5/8 czasu: 8T na zaświecenie wszystkich po kolei (od 0 do 7), 12T świecą wszystkie 8, potem 8T na kolejne gaszenie, 4T wszystkie zgaszone.

    Można - ale wtedy może się przydać inwerter, a może trzeba by zrobić tak, żeby to 0 dawało świecenie - wykorzystać wejście zerujące CD4060, żeby uzyskać inną długość cyklu - tylko trzeba podłączyć jakąś bramkę tak, żeby w odpowiednim momencie uzyskać sygnał zerowania.

    Inwerter albo i bramkę w razie potrzeby da się zrobić z diod, tranzystora i oporników (inwerter z tranzystora i 2 oporników); przerzutnik D, a tym bardziej rejestr SIPO i CD4060 są zbyt złożone, by robić ich odpowiedniki "ręcznie" z pojedynczych elementów.

    0
  • #15 26 Paź 2016 19:05
    Voydzin
    Poziom 4  

    _jta_, wyraz ma być 5 literowy (w sensie moje imię - Dawid) chciałem zeby każda literka zapala się kolejno (od lewej) a gdy wszystkie będą zapalone po krotkiej chwili zgasna i proces zacznie się od nowa. Dzięki za tak rozbudowana listę możliwości ale że tak powiem jeszcze jestem za "mały" w tych dziedzinach żeby kombinować jak najbardziej. W skrócie chodzi o to żeby układ zadziałał mi w jak najprostrzym schemacie.
    Pozdrawiam i stokrotne dzieki!!!

    0
  • #16 26 Paź 2016 20:34
    yokoon
    Poziom 28  

    Brak średników przy delay'ach.

    0
  • #17 26 Paź 2016 20:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    yokoon napisał:
    Brak średników przy delay'ach.

    Dzięki za spostrzegawczość - poprawione.

    Voydzin napisał:
    W skrócie chodzi o to żeby układ zadziałał mi w jak najprostrzym schemacie.

    Mikrokontroler jest właśnie takim rozwiązaniem.
    W dodatku efekty można zmieniać odpowiednio pisząc program.
    Nie ma się czego bać - trzeba spróbować. :)

    0
  • #18 27 Paź 2016 00:47
    _jta_
    Specjalista elektronik

    Jeśli ma być 5 liter i po zapaleniu wszystkich mają wszystkie naraz gasnąć, to najprościej użyć 74164 i np. wyjściem 6 powodować reset. Dla 74164 reset jest aktywny przy stanie 0 na wejściu, i daje stan 0 na wyjściach, więc trzeba połączyć przez inwerter. Można uzyskać kolejno np. (nic), D, DA, DAW, DAWI, DAWID, DAWID, (nic)... i tak w kółko, maksymalny czas to 8 cykli zegara, minimalny to 6 (jakby był 5, to ostatnie D nie zaświeci nigdy).

    A jakby miała świecić tylko jedna litera naraz, to trzeba by było użyć CD4017 (do 10 liter, można mniej), albo CD4022 (do 8) - to są takie liczniki, które mają 10 (albo 8) wyjść, po których krąży 1, na pozostałych jest 0.

    Z tym, że oprócz generatora sygnału zegarowego, 74164 i inwertera, będzie potrzebne coś, co wzmocni prąd - 74164 można obciążyć jednym LED-em na każdym wyjściu, ale na więcej wypadałoby użyć tranzystora średniej mocy (BC338, BC337), albo układu ULN200x (zastępuje 7 tranzystorów, trzeba by popatrzeć, która wersja by pasowała).

    0
  • #19 27 Paź 2016 07:22
    krzysztof212
    Poziom 18  

    _jta_ napisał:
    Jeśli ma być 5 liter i po zapaleniu wszystkich mają wszystkie naraz gasnąć, to najprościej użyć 74164 i np. wyjściem 6 powodować reset. Dla 74164 reset jest aktywny przy stanie 0 na wejściu, i daje stan 0 na wyjściach, więc trzeba połączyć przez inwerter. Można uzyskać kolejno np. (nic), D, DA, DAW, DAWI, DAWID, DAWID, (nic)... i tak w kółko, maksymalny czas to 8 cykli zegara, minimalny to 6 (jakby był 5, to ostatnie D nie zaświeci nigdy).

    A jakby miała świecić tylko jedna litera naraz, to trzeba by było użyć CD4017 (do 10 liter, można mniej), albo CD4022 (do 8) - to są takie liczniki, które mają 10 (albo 8) wyjść, po których krąży 1, na pozostałych jest 0.

    Z tym, że oprócz generatora sygnału zegarowego, 74164 i inwertera, będzie potrzebne coś, co wzmocni prąd - 74164 można obciążyć jednym LED-em na każdym wyjściu, ale na więcej wypadałoby użyć tranzystora średniej mocy (BC338, BC337), albo układu ULN200x (zastępuje 7 tranzystorów, trzeba by popatrzeć, która wersja by pasowała).



    Voydzin w załączniku masz schemat poglądowy, tylko jak koledzy wspomnieli trzeba użyć np ULN2803 lub tranzystora,

    0
  • #20 27 Paź 2016 11:39
    _jta_
    Specjalista elektronik

    ULN2003 - 7 tranzystorów, wystarczy do 7 liter. ULN2803 - 8 tranzystorów i chyba sporo wyższa cena (ale czasem trzeba 8 i niewygodnie pakować 2X ULN2003, choćby to wychodziło taniej). Mozna również użyć 5 tranzystorów - jeśli zamiast 74164 będzie odpowiednik CMOS, to mogą to być MOSFET-y LL bez dodatkowych elementów.

    0
  • #21 27 Paź 2016 12:33
    Voydzin
    Poziom 4  

    Dzięki za wszystkie pomysły !!! Stokrotnie :D Za któryś się na pewno wezmę, na pewno też spróbuje się z mikrokontrolerem :) Jakby ktoś jeszcze miał jakiś pomysł bądź schemat jakikolwiek to piszcie :) Najlepiej prosiłbym o jakiś schemat :)
    Pozdrawiam !

    0
  • #22 27 Paź 2016 14:34
    _jta_
    Specjalista elektronik

    Jeśli nie ma w sklepie 74164, to rejestr SIPO można zrobić z 74LS273. Jeśli maksymalny okres ma być 6 (czyli wyświetlasz 0,1,2,3,4,5 liter, każdą wersję przez 1 cykl zegara), to również z 74174.

    Układy z serii 74 występują w różnych wariantach - standardowe miały oznaczenie 4-5 cyfr, początkowe 74, zwykle poprzedzone literami zależnymi od producenta, np. UCY74174 robiło CEMI. Potem zrobiono różne warianty o szybszym działaniu, albo zmniejszonym zużyciu energii, i po 74 zaczęto dodawać jakieś litery. 74LS273 chyba nie było w wersji standard, jest w wersji LS.

    Jak będziesz kupował układy, to dobrze jest wiedzieć, co jakie litery oznaczają - najbardziej popularne są 'LS' = mała moc i przyśpieszone działanie (z LS znalazłem w sklepie 273), 'HC' = CMOS (nieco inne poziomy logiczne), 'HCT' = CMOS (ale poziomy logiczne jak standardowe i LS); dla HC i HCT znalazłem 164, 174, 273. Do nich wszystkich nadaje się ULN2003; ULN2004 wymagałby sterowania z układu 40* zasilanego wyższym napięciem.

    Najtańsze LED-y są nominalnie na prąd 20mA, a w praktyce lepiej dać im odrobinę mniej - jakieś 15-16mA. Prąd każdego LED-a trzeba ograniczać osobnym opornikiem włączonym szeregowo - trzeba policzyć, jakie oporniki będą do tego pasować i kupić odpowiednią ilość, tego pewnie będzie sporo...

    W układzie z #19 wykorzystuje się tylko 2 z 4 bramek 4093 (każda bramka działa jako inwerter); można pozostałe dwie bramki wykorzystać, żeby nie podłączać 74164 bezpośrednio do tej bramki, która generuje sygnał zegarowy; wejścia nieużywanych bramek trzeba połączyć z masą. Zamiast 4093 może być 74132, albo (ale to jest 6 inwerterów) 7414, najlepiej w wersji HC.

    Nie wiem, jak autor schematu z #19 chciał świecenia 3 LED-ów połączonych szeregowo przy zasilaniu 5V - LED czerwony potrzebuje od 1.5V do 1.8V, żółty/zielony od 2.0V do 2.5V, biały/niebieski ponad 3V - żeby 3 połączone szeregowo świeciły, musiałyby być czerwone, i to takie, którym wystarcza 1.5V.

    0
  • #23 27 Paź 2016 15:26
    krzysztof212
    Poziom 18  

    Nie wiem, jak autor schematu z #19 chciał świecenia 3 LED-ów połączonych szeregowo przy zasilaniu 5V - LED czerwony potrzebuje od 1.5V do 1.8V, żółty/zielony od 2.0V do 2.5V, biały/niebieski ponad 3V - żeby 3 połączone szeregowo świeciły, musiałyby być czerwone, i to takie, którym wystarcza 1.5V.[/quote]

    Kolego JTA schemat jest poglądowy, i jak widzisz to zestaw Jabla.
    Zaproponowałem go by kolego mógł w prost sposób sobie zrobić świecące imię.
    Czyli kolejne zapalanie się literki a potem ich zgaszenie i tak w kółko.
    Sam korzystałem z tego schematu, i do większej ilości diodek używam np ULN2803

    0
  • #24 27 Paź 2016 16:10
    _jta_
    Specjalista elektronik

    Rozważyłem możliwość zrobienia całej logiki na układach 40, bez układu 74164 (albo 74174, 74273...).

    4006 - zawiera 4 ciągi, w tym 2 4-stopniowe, i 2 5-stopniowe z dodatkowym wyjściem z 4-go stopnia; w połączeniu z CD4060 można by tego użyć, sygnał zegarowy musiałby być szybszy (np. wpisujemy do CD4006 sygnał z wyjścia 2^14 CD4060, te 4 ciągi łączymy szeregowo, wykorzystując długość 4, pierwszą literę sterujemy z wyjścia CD4060, drugą z wyjścia pierwszego ciągu... zmiana będzie co 4 impulsy zegara, po 16 zaświeci ostatnia litera); będą potrzebne dodatkowe inwertery, bo 4006 daje na wyjściach sygnał zanegowany; w sumie to jest mało wygodne.

    4014 i 4021 to są rejestry przesuwne, ale mają wejście równoległe, a wyjścia tylko z 3 ostatnich stopni - nie nadają się.

    4015 - 2 4-stopniowe rejestry przesuwne z wyjściami równoległymi, reset '1' (w przeciwieństwie do 74164 nie jest potrzebny inwerter do sygnału reset, wystarczy połączenie) - to jest to!

    4094 - 8-stopniowy rejestr przesuwny z wyjściami równoległymi z zatrzaskiem na wyjściach (odrębne wpisywanie do rejestru i przepisywanie na wyjścia), co tutaj będzie utrudnieniem, do tego brak resetu - raczej się nie nada.

    Czyli, jeśli będzie w sprzedaży, wypada kupić CD4015 (może mieć inne litery na początku).

    I jeszcze kwestia: ULN2003 (albo ULN2004 - do CD4015 zasilanego np. napięciem 10V ULN2004 powinien być w sam raz), czy tranzystory? To można uzależnić od cen i ilości pracy przy montowaniu - tranzystory bipolarne wymagają dodatkowych oporników, a jak chcesz podłączać więcej, jak 5 LED-ów równolegle, to potrzebne są nieco mocniejsze i koszt będzie zbliżony do ULN-ów, MOSFET-y chyba będą znacznie droższe od ULN-ów. To by chyba przemawiało za wyborem ULN-ów, jeśli ilość LED-ów nie jest zbyt duża (do 20 łączonych równolegle na literę; można do zasilania LED-ów użyć wyższego napięcia, ULN-y wytrzymują do 50V, co pozwala połączyć nawet kilkanaście szeregowo).

    0