logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega8] Podłączenie wyświetlacza led ze wspólną anodą

lukasz1235 25 Paź 2009 09:47 11471 28
  • #1 7171919
    lukasz1235
    Poziom 10  
    Witam
    Jak podłączyć do uC wyświetlacz led ze wspólną anodą? Z tego co wiem to musiałbym z portu wysyłać minus a przecież normalnie wysyłany jest plus.
    Z góry dzięki za odpowiedzi
  • #3 7171950
    kamyczek
    Poziom 38  
    Z portu możesz wysłać i plus i minus bo AVR ma inna budowę jak układy z grupy 51 . Musisz jedynie w nocie katalogowej sprawdzić jaki jest maksymalny prąd obciążenia dla pojedyńczej końcówki i sumaryczny dla całego układu . w przypadku anody należy dodać tranzystor w układzie sterowania.
  • #4 7171954
    lukasz1235
    Poziom 10  
    kamyczek napisał:
    Z portu możesz wysłać i plus i minus
    Więc jak ustawić czy ma być plus czy minus?
  • #5 7171961
    simpson777
    Poziom 11  
    Anode podłącz najlepiej poprzez tranzystor do minusa a katody z wyświetlacza poprzez rezystor do portu i wtedy z portu dajesz stan wysoki czyli plus
  • #6 7171962
    Cubaza
    Poziom 14  
    Lukasz1235, a przeczytałeś tematy, które dał Ci simpson777? Czy nie? Bo tam masz opisane jak podłączyć wyświetlacze ze wspólną anodą/katodą do mikrokontrolera. Chodzi mi głównie o stronę wkretak.pl, którą podał simpson777
    A tutaj masz odpowiedź jak sterować takimi wyświetlaczami.
    http://wkretak.pl/readarticle.php?article_id=19
  • #8 7171981
    lukasz1235
    Poziom 10  
    Artykuły czytałem. Wynika z nich że muszę z portu wysłać minus a nie za bardzo wiem jak to zrobić
  • #9 7171991
    simpson777
    Poziom 11  
    A w jakim programie piszesz??
  • #10 7171997
    lukasz1235
    Poziom 10  
    Chyba chodzi Ci o język albo kompilator. C i avr-gcc
  • #11 7172009
    kamyczek
    Poziom 38  
    Całą zabawę musisz zacząć od konfiguracji portu jako wyjść zapisując wartości 1 do poszczególnych bitów w rejestrze DDRX które mają być wyjściami. Nie wiem jakiego języka używasz więc operacja może wyglądać różnie. Dla asemblera np :
    
    Ldi r16,0xff
    out ddrd ,r16
    nop
    

    sterując portem wystarczy wpisywać odpowiednie wartości do rejestru portX
    
    ldi r16,0x0f
    out potrd,r16
    nop
    
  • #12 7172017
    simpson777
    Poziom 11  
    Ach ja w bascomie to robię tak że na odpowiedni port wysyłam "0" jeżeli chodzi o minus a "1" jak o plus, a jak jest w C to ciężko mi powiedzieć
    Ale kolega ci dał konkretny link tylko go przeanalizuj

    Cubaza napisał:
    A tutaj masz odpowiedź jak sterować takimi wyświetlaczami.
    http://wkretak.pl/readarticle.php?article_id=19
  • #13 7172029
    lukasz1235
    Poziom 10  
    Czyli jeżeli chcę zapalić jakiś segment to wysyłam 0 a jak zgasić to 1?
  • #14 7172049
    simpson777
    Poziom 11  
    [atmega8] Podłączenie wyświetlacza led ze wspólną anodą
    troche na szybko
  • #15 7172061
    lukasz1235
    Poziom 10  
    Czemu napisałeś że do anody należy podłączyć minus skoro na wkrętaku pisze że ma być plus?
  • #16 7172066
    simpson777
    Poziom 11  
    a sory pomyliłem się
  • #17 7172078
    lukasz1235
    Poziom 10  
    Więc jeżeli na anodę dam plus i na katodę też to dioda raczej się nie zaświeci
  • Pomocny post
    #18 7172092
    simpson777
    Poziom 11  
    nie no na katode dajesz wtedy 0 i powinno grać
  • #19 7172097
    lukasz1235
    Poziom 10  
    Dobra. Zobacze. Dzięki za pomoc
  • #20 7172337
    sp3ots
    Poziom 38  
    Witam !
    Poprawiłem schemat:
    Dodałem rezystory aby procesor i wyświetlacz nie zagotował się.
    [atmega8] Podłączenie wyświetlacza led ze wspólną anodą

    W ostatnim czasie podłączałem do ATtiny2313 pięć wyświetlaczy LED
    (multipleksowanie) i nie używałem tranzystorów kluczujących.
    Procesor zimny.
    Pozdrawiam. Stefan GG6293398
  • #21 7172355
    simpson777
    Poziom 11  
    a działa czy nie??
  • #22 7172381
    sp3ots
    Poziom 38  
    Działa. Gdyby nie działał to bym nie pisał o tym.
  • #23 7172402
    lukasz1235
    Poziom 10  
    I znowu mamy sytuację że na anodę dajemy plus i na katodę plus
  • Pomocny post
    #24 7172502
    sp3ots
    Poziom 38  
    Lukasz1235 ma rację, zero zapala Led a jedynka gasi led w tym wypadku.
    Dodaję foto 5x wyświetlacz ze wspólną anodą , bez sterowania kluczami tranzystorowymi.
    [atmega8] Podłączenie wyświetlacza led ze wspólną anodą
    Pozdrawiam. Stefan
  • Pomocny post
    #25 7172541
    Cubaza
    Poziom 14  
    Programy jakie pisałem na płytce, na której miałem wyświetlacze siedmiosegmentowe wspólna anoda:
    Schemat połączeń taki, nie chciało mi się ucinać połowy schematu aby wyciągnąć jeden wyświetlacz:
    [atmega8] Podłączenie wyświetlacza led ze wspólną anodą

    A do połączeń mamy tak:
    SV3:
    wyprowadzenie 5: +5V
    wyprowadzenia 1-4: stan niski(0V) z mikroprocesora
    SV2:
    do każdego wyprwadzenia jest doprowadzony stan niski dzięki czemu mamy zaświecenie wyświetlacza.

    Wyświetlacze na schemacie to wspólna anoda.
  • #26 7215347
    Piotrek992
    Poziom 16  
    Czyli istnieje potencjał elektryczny między stanem wysokim i niskim na portach procka ?
  • #27 7215715
    m.bartczak
    Poziom 16  
    Pamiętaj tylko o maksymalnym natężeniu jaki może AVR zaakceptować.

    Dane znajdziesz w nocie katalogowej, ale z tego co pamiętam to chyba było 200mA (czyli jakieś 10 diod), i to rozłożonych na cały układ a nie na jednego pina.

    Praktyka pokazuje że AVR'ki mogą znacznie więcej, ale producent już tego nie gwarantuje ;)

    Dodano po 4 [minuty]:

    Piotrek992 napisał:
    Czyli istnieje potencjał elektryczny między stanem wysokim i niskim na portach procka ?


    Oczywiście, jeśli skonfigurujesz porty jako 'output', to zapis '1' do portu oznacza 'drive high', a zapis 0 oznacza 'drive low'.

    Między takimi portami masz wtedy różnicę potencjałów równą napięciu zasilania.
  • #28 7217589
    Konto nie istnieje
    Poziom 1  
  • #29 7219196
    Piotrek992
    Poziom 16  
    m.bartczak napisał:

    Oczywiście, jeśli skonfigurujesz porty jako 'output', to zapis '1' do portu oznacza 'drive high', a zapis 0 oznacza 'drive low'.

    Między takimi portami masz wtedy różnicę potencjałów równą napięciu zasilania.


    Dzięki wielkie ! ;) Pozdro :D
REKLAMA