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



Teraz jest 20 kwi 2024, o 14:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
Autor Wiadomość
PostNapisane: 16 sty 2021, o 13:41 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041


_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2023, o 13:17 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Witam
Jestem w trakcie przerabiania BB. Własnie "studiuje" cwiczenie "4.6 Wyświetlacz LCD (hd44780). Przeczytałem cały rozdział wgrałem program (który otrzymałem wraz z książką o nazwie 04_LCD). Program się skompilował i po wgraniu do procesora (używam atmega 8a) na wyswietlaczu nie ma nic. Zauważyłem w programmie, w pliku main.c adnotacje "UWAGA .... w tym projekcie trzeba wlaczyc w Eclipse ladowanie pliku *.eep do pamieci EEPROM przy wgrywaniu wsadu HEX" . Nie wiem jak to zrobić. Dodatkowo w książce na str. 235 jest mowa o adresowaniu komórek pamięci DDRAM, że czasem trzeba wpisywać je metodą prób i błędów (nie dokońca rozumiem jaka wartość ma być tych addresów, w jakim zakresie mają się zmieniać). Nie posiadam noty do mojego wyświetlacza. Poza tym w programie zauważyłem kilka linijek kodu który nie jest opisany w książce (plik main.c volatile uint8_t pwm1, pwm2, pwm3; plik lcd44780.h // Komendy sterujace
#define LCDC_CLS 0x01
#define LCDC_HOME 0x02
#define LCDC_ENTRY 0x04
... itd )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2023, o 13:35 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Po pierwsze jeśli przeczytałeś rzeczywiście cały rozdział to z tego co piszesz tak nie do końca to wynika bo nic nie napisałeś o tym jak skonfigurowałeś piny w pliku *.h a od tego trzeba zacząć - zamiast wgrać na ślepo program dostarczony do książki bo wciąż powtarzam w książce że ja wszystko testuję na ATmega32 więc na 100% są tam zdefiniowane inne piny niż ty podłączyłeś to do swojej ATmega8

a z tym eep to jest najmniej ważne i nie zależy od tego czy zadziała biblioteka czy nie

więc pierwsze co zrób to skonfiguruj piny - i pokaż jak je skonfigurowałeś jeśli nadal nic nie będzie ci działać. Bo biblioteka jest taka - że jak się ją skonfiguruje (te piny) to działa BEZ MRUGNIĘCIA OKIEM na każdym AVR nie ważne jakie masz taktowanie procka.

------------------------ [ Dodano po: 1 minucie ]

Krystian321 napisał(a):
Dodatkowo w książce na str. 235 jest mowa o adresowaniu komórek pamięci DDRAM, że czasem trzeba wpisywać je metodą prób i błędów (nie dokońca rozumiem jaka wartość ma być tych addresów, w jakim zakresie mają się zmieniać). Nie posiadam noty do mojego wyświetlacza.

Zostaw to, nic nie konfiguruj ani nie wymyślaj o ile oczywiście masz standardowy wyświetlacz oparty na HD44780 i jest to wyświetlacz 2x16 czyli dwa wiersze po 16 kolumn

------------------------ [ Dodano po: 2 minutach ]

Krystian321 napisał(a):
Poza tym w programie zauważyłem kilka linijek kodu który nie jest opisany w książce (plik main.c volatile uint8_t pwm1, pwm2, pwm3; plik lcd44780.h // Komendy sterujace

to też zostaw bo to jest do czegoś innego zupełnie i szukasz nie tam gdzie trzeba problemu

jeszcze raz mówię - PROSTA RZECZ - konfiguracja pinów

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 14:48 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Od tego zacząłem (konfiguracji pinów). Oto moja konfiguracja:
// tu konfigurujemy port i piny do jakich podlaczymy linie D7..D4 LCD
#define LCD_D7PORT D
#define LCD_D7 6
#define LCD_D6PORT D
#define LCD_D6 5
#define LCD_D5PORT D
#define LCD_D5 4
#define LCD_D4PORT D
#define LCD_D4 3
// tu definiujemy piny procesora do których podlaczamy sygnaly RS,RW, E
#define LCD_RSPORT D
#define LCD_RS 0

#define LCD_RWPORT D
#define LCD_RW 1

#define LCD_EPORT D
#define LCD_E 2
Cały układ zbudowałem na "stykówce", sprawdziłem połączenia miernikiem (ok).
Mam standardowy wyswietlacz HD44780 2x16, zastanawiam sie nad samym wyswietlaczem. Moze tu jest problem, jutro powinień dojść nowy wyświetlacz podłącze drugi i zobaczymy.
PS. Poprzednie ćwiczenia też wykonywałem z użyciem Atmega8, co wymagało konfiguracji pinów oraz z zewnętrznym kwarcem. Z drobmymi problemami (co jest pewnie normalne na początku nauki) wszystko działało jak należy. Wiem, że problem leży gdzieś po mojej stronie, prosze o tylko jakies podpowiedzi.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 14:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

A ja mam takie pytanie: jak podłączyłeś wyświetlacz? Jak nie ma nic, to może kontrast źle ustawiony? A zasilanie jest? I podświetlenie podłączone?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 14:59 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Podłączyłem według shematu wydaje się ok. Przy wgrywaniu wsadu delikatnie mrógnie i to wszystko. Dodatkowo podłączyłem podswietlenie piny 15 (+) 16 (-). Zamówięm takze atmege 32 wiec jak tylko ją otrzymam spróbuję wgrać i zobaczymy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 16:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Odłącz od zasilacza sygnały z procesora. Podłącz zasilanie. Co widzisz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 17:16 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Odłączyłem piny RS/RW/E/ D4/D5/D6/D7. Podłaczone Vss(-) Vdd(+) V0 (kontrast) oraz piny od podswietlenie 15(+)/ 16(-). Tylko podswietlenie działa. Jak odłacze piny 15/16 to nic nie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 18:28 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Mam jeszcze płytkę arduino uno (clone). Zainstalowałem srodowisko arduino, ściągnąłem biblioteki, napisałem krótki program i to samo. Tylko podświetlenie działa. Poza tym pin od kontrastu (nr 3 / V0) według schematu podłączony do potencjometru, gdy nim manipuluje tylko górny rząd zmiena się a dolny nie reaguje.
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 18:40 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Krystian321 napisał(a):
Poza tym pin od kontrastu (nr 3 / V0) według schematu podłączony do potencjometru, gdy nim manipuluje tylko górny rząd zmiena się a dolny nie reaguje.

to jest prawidłowy objaw - konfiguracja pinów wydaje się być ok ale wolałbym żebyś wkleił większy fragmet pliku *.h z tą konfiguracją - z innymi wcześniejszymi ustawieniami i formatowaniem kodu bo będzie łatwiej dojść gdzie masz problem

jesteś już blisko ;)

tylko jak wiele osób pewnie nie zdajesz sobie sprawy jakie problemy sprawiają stykówki i same przewody połączeniowe które potrafią w środku w tych złączach plastikowych "nie stykać" toż już od kilku lat te przewody w środku są tak głupawo zaciskane że niektóre w ogóle nie dają połączenia elektrycznego. dlatego PRZEDZWOŃ brzęczykiem w mulitimetrze każde połączenie od nogi procka do pinu LCD

tak inny LCD też warto sprawdzić

------------------------ [ Dodano po: 1 minucie ]

ja bym na twoim miejscu w ogóle wypierniczył te wszystkie przewody połączeniowe bo to istna masakra i wpiął wyświetlacz wprost w stykówkę - przecież da się tak zrobić i porządnymi przewodami do stykówki zrobił połączenia z pinami wyświetlacza - a nie że wisi to na kablach

nie wspomnę już że nie pokazałeś zdjęcia samej stykówki a może się okazać że masz ją źle podłączoną - więc wrzuć też wyraźne fotki

jak przebrniesz te pierwsze Porblemy to później już zawsze będziesz to odpalał bez problemu

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 21:41 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Rozłączyłem wszystko podłączyłem na płytce jeszcze raz, tym razem wyświetlacz wpiąłem bezpośrednio do płytki stykowej, sprawdziłem połączenia miernikiem (ok). Tym razem użyem Atmegi328 oraz zmieniłem konfigurację pinów. Teraz są tak: PC0-E, PC1-RW, PC2-RS, D7-PD3, D6-PD2, D5-PD1, D4-PD0. Dalej ten sam efekt, nic się nie zmieniło.
ObrazekObrazek

------------------------ [ Dodano po: 4 minutach ]

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




------------------------ [ Dodano po: 10 minutach ]

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Po pierwsze, nie wstawiaj całych bibliotek Mirka, zwłaszcza, że prosił tylko o konfigurację.
Po drugie, doprowadź do sytuacji, gdzie na samym zasilaniu widzisz kwadraty w górnym rzędzie (pokręć potencjometrem).
Jak już zobaczysz kwadraty, odłącz zasilanie, podłącz procka i uruchom. O ile się nie mylę, coś się pojawi.

I jeszcze jedno. Kody programów wstawiamy inaczej, jest gdzieś instrukcja na forum, poszukaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 22:25 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Nie wiedziałam co może być istotne więc wstawiłem cały kod. Następnym razem tego nie zrobię. Co chdzi o "kwadraty na wyświetlaczu" to jakbym nie ustawił potencjometru są tylko w jednym rzędzie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 22:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

tak jak pisał kolega wyżej - nigdy więcej nie wklejaj tu kodów bibliotek - po co ? jaki cel? toż każdy kto ma książkę to ma te kody a one są poprawne. Jak już to możesz wklejać swój main.c. I pokaż go tutaj - gdzie będzie tylko prosta inicjalizacja LCD i wyświetlenie byle napisu

------------------------ [ Dodano po: 1 minucie ]

a tu masz INSTRUKCJĘ jak się wstawia kody programów na forum

topic7402.html

i stosuj się do niej proszę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2023, o 22:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Krystian321 napisał(a):
Co chdzi o "kwadraty na wyświetlaczu"
Jeśli je widzisz, to znaczy, że masz dobrze ustawiony kontrast, ale nie ma inicjalizacji wyświetlacza.

Spróbuj wprowadzić konfigurację w pliku lcd44780.h (le to już chyba masz), a w pliku main.c daj tylko załączenie podświetlenia i 3 linijki przed pętlą while(1):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i zobacz, co się stanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lis 2023, o 23:26 
Offline
Nowy

Dołączył(a): 02 lis 2023
Posty: 8
Lokalizacja: Londyn
Pomógł: 0

Wkońcu działa na wsadzie dołączonym do ksiązki (po zmianie konfiguracji pinow pod atmega8). Za pierwszym razem przyczyną prawdopodobnie były kable (brak połączenia, bomba kablowa ;) , pózniej po zmontowaniu na stykówce pomyliłem piny (zamieniłem RS z E). Wczoraj byłem już zbyt zmęczony. Dziś przyszedł nowy lcd podłączyłem i to samo. Miernik w rękę no i wyszło (zamienione połączenie). Dziękuje za pomoc, napewno będę się jeszcze odzywał. Mirku (jeżeli mogę tak się do Ciebie zwracać) mam pytanie: Gdzie zamieszczać posty odnośnie moich przyszłych problemów z BB (które nie wątpliwie nadejdą :D)? Jaka jest generalna zasada?
ObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2023, o 17:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Krystian321 napisał(a):
Jaka jest generalna zasada?
Odpowiem za Mirka. Jeden problem - jeden temat.
Wybierasz odpowiedni dział, zakładasz temat. Raczej nie podpinaj się pod istniejące tematy. Chyba, że masz taki sam problem i nie zadziałało to, co jest opisane



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lis 2023, o 19:12 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Krystian321 napisał(a):
Jaka jest generalna zasada?

DOKŁADNIE tak jak pisze kolega wyżej - każde PYTANIE to NOWY WĄTEK w wybranym dziale forum a nie broń Boże dołączać się do starych wątków jak tutaj

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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: 18 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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