Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 wrz 2024, o 18:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 5 gru 2013, o 18:06 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 32
Pomógł: 1

Witam
Od nie zbyt długiego czasu interesuję się elektroniką, ale postanowiłem na początek zrobić trochę bardziej ambitny projekt z wykorzystaniem uC, niż migająca dioda :) Postanowiłem zbudować termostat z wyświetlaczem pokazującym temperaturę oraz wilgotność. Jak postanowiłem tak zrobiłem: zaprojektowałem układ, przygotowałem płytkę, polutowałem wszystko i zaprogramowałem atmegę. Na początku działy się dziwne rzeczy, ale problemem okazały się złe luty, albo inne błędy amatora :) Wszystko pomierzyłem, posprawdzałem(przynajmniej tak myślę) i układ zaczął ze mną nawet współpracować. Niestety nie mam pojęcia, dlaczego pojawiają mi się śmieci na wyświetlaczu, zamiast tego co bym chciał. Prosiłbym o pomoc co jest nie tak.

Procesor: Atmega88pa-pu
Wyświetlacz: http://sklep.avt.pl/lcd-2x16-alfanumery ... yh-ct.html
Schemat układu:
Obrazek

Program:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Użyłem biblioteki ze strony: http://radzio.dxp.pl/hd44780/hd44780_av ... norw_c.htm z następującymi zmianami w portach:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Co mi się pojawia na wyświetlaczu:

Obrazek

P.S. Jeśli macie jakieś porady, sugestie, słowa krytyki to bardzo chętnie bym je usłyszał :)

Kody wklejamy przy pomocy syntax=c - Różowy J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

Moim zdaniem coś jest nie tak z tymi bibliotekami do lcd... Później jak będę miał czas to przejrzę kod i dam znać :)

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 19:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

już sprawdziłem... biblioteka do lcd jest dobra, wszystko ładnie chodzi. :)

nie wiem tylko dlaczego sobie utrudniasz sprawę i w ustawieniach portów piszesz takie wartości: 0x40, 0x20 itd... czy nie lepiej wygląda zapis jak był początkowo w kodzie???

a i jeszcze jedno: podaj kod plików dht.h i dht.c.. bo to raczej w nich coś jest poknocone

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 20:02 
Offline
Użytkownik

Dołączył(a): 21 lis 2013
Posty: 48
Pomógł: 0

co zrobiłeś z pinem RW?? do masy?? na schemacie go nie widzę, też używam tych bibliotek i działa wyświetlacz, może spróbuj cos innego mu wyświetlić, ew zobacz czy przypadkiem nie pomieszałeś pinów DB4-DB7 wyświetlacza (sam to pozajączkowałem i trochę sie namęczyłem zanim doszedłem co i jak), nie wiem po co też tyle mas ładujesz z programatora (wystarcza z pinu 10) ale to nie temat o tym



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 gru 2013, o 20:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

directx91 napisał(a):
nie wiem po co też tyle mas ładujesz z programatora (wystarcza z pinu 10)


masę można brać z pinu 4, 6, 8, 10 (obojętne) tak czy tak w programatorze te piny są razem połączone..

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 gru 2013, o 17:13 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 32
Pomógł: 1

Cytuj:
nie wiem tylko dlaczego sobie utrudniasz sprawę i w ustawieniach portów piszesz takie wartości: 0x40, 0x20 itd... czy nie lepiej wygląda zapis jak był początkowo w kodzie???
W sumie mi taki zapis nie sprawia specjalnej trudności i jakoś tak go użyłem, bo krócej :)
Proszę oto kody od dht, ale nie sądzę, żeby wina leżała po stronie tych plików, bo jak dam tylko instrukcję na wyświetlacz w kodzie to efekt jest ten sam.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Cytuj:
co zrobiłeś z pinem RW?? do masy??
Tak RW jest poprowadzone do masy.

Cytuj:
ew zobacz czy przypadkiem nie pomieszałeś pinów DB4-DB7 wyświetlacza
Okazało się, że pomieszałem 4 z 5 i były na odwrót poprowadzone. Teraz są dobrze, ale zamiast śmieci nic się nie pojawia. Wyświetlacz się uruchamia, ale jest pusty(sprawdzałem przy różnych kontrastach). Na początku stwierdziłem, że może to być wina instrukcji clear, która się wywołuje zaraz po wypisaniu, ale po przeniesieniu jej przed ify nic się nie zmienia. Macie może jakieś pomysł co może być nie tak?

P.S.
Cytuj:
masę można brać z pinu 4, 6, 8, 10 (obojętne) tak czy tak w programatorze te piny są razem połączone.
Dziękuję za sugestię na pewno zapamiętam :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 gru 2013, o 21:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

No to żeby mieć jeszcze pewność czy dobrze masz wszystko z lcd to spróbuj uruchomić jakiś testowy napis.... bo teraz nie wiadomo czy masz coś z lcd czy z dht.h i dht.c....

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2013, o 18:11 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 32
Pomógł: 1

Wgrałem przykładowy program tylko wyświetlający napis i dalej dostaje tylko pusty ekran. Przemierzyłem też jeszcze raz kilkukrotnie czy odpowiednie porty połączone są z odpowiednimi wejściami na wyświetlaczu i wszystko wydaje się być OK. Straciłem już wszystkie pomysły gdzie może leżeć błąd. Chyba, że wyświetlacz nie działa tak jak powinien.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2013, o 19:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

no chyba że coś pomieszałeś w definicjach tych pinów....

wgraj sobie ten program:

main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


HD44780.h:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


HD44780.c

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


jak ten kod nie zadziała to raczej jest coś nie tak z lcd (tylko jak byś teraz zmieniał definicje pinów to używaj tego sposobu co ja, żeby się nie pogubić)

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO