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

Atmega 8 - termometr na 18b20 i LCD

syphon001 13 Wrz 2014 11:57 2094 9
  • #1 13 Wrz 2014 11:57
    syphon001
    Poziom 6  

    Witam mam pewien problem . Jakiś czas temu szukałem gotowego schematu i wsadu procesora aby zrobić termometr 4 kanałowy na wyświetlaczy 16x2.
    Zrobiłem płytkę, zaprogramowałem w bascomie mikrokontroler gdy podłączyłem wszystko, na wyświetlaczu w 1 linijce mam tylko kwadraty i tak cały czas, nie znam się na programowaniu ale staram się jakoś tego uczyć zdążyłem zauważyć w programie że jest podany wyświetlacz 20x2 ale nie mam pojęcia jak edytować ten program żeby nic nie zepsuć ;) .

    Załączniki :

    1 Wsad :

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
    [/code]

    0 9
  • Arrow Multisolution Day
  • Pomocny post
    #2 13 Wrz 2014 12:06
    Gunslinger
    Poziom 29  

    Kwadraciki na wyświetlaczu oznaczają problem z konfiguracją. Wyświetlacz jest sprawny. Uzupełnij swój schemat o pełne połączanie z wyświetlaczem, i umieść go na schemacie.

    0
  • Arrow Multisolution Day
  • Pomocny post
    #3 13 Wrz 2014 12:19
    kuuczoo
    Poziom 26  

    Po pierwsze w programie możesz (powinieneś) zmienić linijkę
    Config Lcd = 20 * 2
    na:
    Config Lcd = 16 * 2 (przecież taki masz wyświetlacz)
    Zakładam że procesor potrafisz programować (wybrać typ, ustawić fusebity (!!!) do odpowiedniej prędkości itp.)?

    0
  • #4 13 Wrz 2014 12:38
    syphon001
    Poziom 6  

    zaprogramowałem to ze zmianą na 16x2 i już jest jakiś progres :D
    wyskoczyły krzaki na całym LCD, a i dodam jeszcze że gdy pin z LCD ( RW jest odłączony od masy to są kwadraty ale gdy podłącze to są te krzaczki)

    0
  • Pomocny post
    #5 13 Wrz 2014 17:49
    Dople
    Poziom 19  

    Twój schemat jest wybrakowany, czy nie masz kondensatora filtrującego (gnd-vcc)? Brakuje też podłączenia drugiego pinu GND i AVCC... A rezystor przy pinie RESET?
    To wszystko jest? Pytam, bo... różnie to bywa.

    Jeżeli podłączysz RW do masy to wyświetlacz odczytuje dane wysyłane z mikrokontrolera - w przeciwnym wypadku sam je wysyła (tj. przy stanie wysokim).
    edit: Innymi słowy nie uzyskasz nic poza prostokątami w 1. linii wyświetlacza, kiedy nigdy nie pojawi się na RW stan niski. ;)

    edit2: To jest LCD HD44780, czy "tylko" zgodny z nim?

    0
  • #6 13 Wrz 2014 19:11
    syphon001
    Poziom 6  

    Zaraz wszystko uzupełnię i dam znać czy coś się zmieniło w sprawie.
    Ten wyświetlacz jest zgodny z HD44780 tu wysyłam link do aukcji z której go kupiłem.....
    edit :

    z tego co się orientuję to te kondensatorki mają być 100 mikro, tak ?

    Moderowany przez piotrva:

    3.1.18. Zabronione jest publikowanie informacji do źródeł, które po pewnym czasie wygasają (publikowanie odnośników do stron o charakterze krótkotrwałym).
    Czyli linki do Allegro itp. serwisów aukcyjnych.

    0
  • Pomocny post
    #7 13 Wrz 2014 19:25
    Dople
    Poziom 19  

    100nF, ceramiczne!

    Więcej szczegółów tutaj: http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
    Powinieneś podłączyć wszystko wg zaleceń!

    Cóż, napisali w nagłówku aukcji, że to HD44780, a w jej (aukcji) szczegółach, że jest z nim zgodny.
    "Tylko zgodny" czasami może wymagać, np. innego sposobu inicjalizacji i warto to sprawdzić (noty katalogowe).
    Choć wygląda na to, że to jest jakas wersja HD44780.

    Jednak nie ma na razie co sprawdzać... przynajmniej do momentu poprawnego podłączenia uC. ;)

    0
  • #8 13 Wrz 2014 20:33
    syphon001
    Poziom 6  

    Ok podłączone wszystko według zaleceń z podanego linku i zero reakcji LCD'ka (nadal krzaki)

    nazwa LCD : 1602a v2.0

    edit :
    Po włączeniu zasilania przez około 1 sekunde
    Atmega 8 - termometr na 18b20 i LCD

    Następnie
    Atmega 8 - termometr na 18b20 i LCD

    0
  • Pomocny post
    #9 14 Wrz 2014 06:42
    emarcus
    Poziom 35  

    syphon001 napisał:
    Ok podłączone wszystko według zaleceń z podanego linku i zero reakcji LCD'ka (nadal krzaki)


    To nie jest brak reakcji...
    Coś ci się wyświetla, a to znaczy bardzo dużo.!!!
    Wyświetlenie jakichkolwiek znaków z tabeli kodu oznacza że wyświetlacz został zainicjonowany i komunikuje się z processorem. Komunikacja ta jednak jest błędna,

    Sprawdź poprawnośc podłączenia 4-ch linii 'data' (DB.4 do DB.7) LCD do processora (PortB.1 do PortB.4).
    Ma byc zgodne z tym co określiłeś w: Config Lcdpin = Pin,...........

    Wystarczy że dwie z nich zą zamienione miejscami i masz swój efekt.
    Prawdopodobnie DB.5 jest na swoim miejscu - inaczej nie przełączyłbyś go na 4-bitową komunikacje (pozostałby nie zainicjonowany). Szczegóły w datasheet.

    e marcus

    0
  • #10 14 Wrz 2014 11:02
    syphon001
    Poziom 6  

    Tak podłączyłem wszystko od nowa i działa :D:D:D:D:D:D:D:D:D

    DZIĘKI WIELKI KAŻDEMU KTO MIAŁ CZAS I WYRAZIŁ CHĘĆ POMOCY W TEJ SPRAWIE. ;)

    0