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



Teraz jest 25 kwi 2024, o 10:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 45 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 4 lut 2016, o 19:32 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

Witam,

Przyszedł mi dzisiaj zamówiony na stronie Pana Mirka wyświetlacz OLED SPI. Wczoraj pół dnia siedziałem i oglądałem poradniki, a potem przepisywałem biblioteki.
Niestety podłączyłem wyświetlacz i kicha. Mikroprocesor to Atmega32. Zasilanie wyświetlacza 5V.

Nóżki podłączyłem kolejno:

VCC - 5V
GND - masa
CLK - PC7
MOSI - PC6
CS - PC5
D/C - PC4

Multimetrem sprawdziłem połączenia od nóżki wyświetlacza, do nóżki Atmegi i wszystko jest ok. Napięcie między VCC i GND wyświetlacza 5V.

Pewnie gdzieś popełniłem błąd przy przepisywaniu bibliotek. Dodam, że nie przerabiałem ich zgodnie z poradnikiem nr 2 tak, aby były kompatybilne z I2C. Dodałem jedynie fukcje graficzne, z których będę korzystał. Proszę o pomoc :(

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.


mk_ssd1306.h

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


mk_ssd1306.c

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


Wszystko kompiluje się pięknie, ale niestety nie działa. Proszę o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 144
Pomógł: 2

Czy RST i CS nie powinny być na innych portach?
Ja bym to rozdzielił na 5 i 3, bo masz chyba dużo wolnych portów.

------------------------ [ Dodano po: kilkunastu sekundach ]

Tzn na tym samym porcie, ale innych pinach, żle się poprzednio wyraziłem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:18 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

lutekT napisał(a):
Czy RST i CS nie powinny być na innych portach?
Ja bym to rozdzielił na 5 i 3, bo masz chyba dużo wolnych portów.

------------------------ [ Dodano po: kilkunastu sekundach ]

Tzn na tym samym porcie, ale innych pinach, żle się poprzednio wyraziłem.



Wydawało mi się, że ma być podłączone albo CS albo RST.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Powinno pomóc http://forum.atnel.pl/topic8552.html?hilit=oled%20tester



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:20 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

Teraz zamiast CS do PC5, podłączyłem RST do PC5. Po inicjalizacji wyświetliły się losowe pixele, mimo, że nie powinny, bo przecież mam wywołane display w funkcji init.
Nie mogę żadną komendą wyczyścić ekranu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

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


i spróbuj z wsadem od p. Mirka, musi działać. :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:38 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

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


i spróbuj z wsadem od p. Mirka, musi działać. :D


Może się to wydać głupie pytanie, ale jak wgrać ten wsad (plik hex)?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A masz program mkAVRCalculator w pełnej wersji?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:44 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

No niestety nie posiadam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A jakiego używasz programatora?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:49 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

USBAsp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:50 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

No to możesz np. SinaProgiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Albo z dosu.
cmd
avrdude -p atmega32 -c usbasp -P usb -V -U flash:w:"E:\OLED_TESTER_m32.hex":i

Zapisz go bezpośrednio na dysku e:\ lub d:\ (zakładam, że masz takowy)
Jeśli zapiszesz go na dysku d:\ to będzie tak:
avrdude -p atmega32 -c usbasp -P usb -V -U flash:w:"D:\OLED_TESTER_m32.hex":i



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

eXtreme Burner, AVR Burn o mat (tu musisz mieć dodatkowo avrdude) - tym możesz też wgrać wsad.
Tylko JTAG w fusach wyłącz, bo tester jest na tych pinach akurat.
Ja mam tak, że Tester Pana Mirka mi nie działał - odesłałem do sprawdzenia, Pan Mirek zadzwonił, że sprawny.
No ale u mnie nie rusza z testerem, ale wgrałem wsad kolegi #ciemniak# (któremu też tester nie działał) i ten mi działa. Zupełnie nie rozumiem czemu tak jest. Wszystkim tester śmiga.
Ale piszę, bo czasem może ktoś to samo będzie miał.
Link do hexa kolegi #ciemniak#: topic8552.html?hilit=oled%20tester#p122951



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 20:59 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

anshar napisał(a):
Albo z dosu.
cmd
avrdude -p atmega32 -c usbasp -P usb -V -U flash:w:"E:\OLED_TESTER_m32.hex":i

Zapisz go bezpośrednio na dysku e:\ lub d:\ (zakładam, że masz takowy)
Jeśli zapiszesz go na dysku d:\ to będzie tak:
avrdude -p atmega32 -c usbasp -P usb -V -U flash:w:"D:\OLED_TESTER_m32.hex":i


A czy to nie przestawi mi taktowania atmegi? Mam teraz ustawione 1Mhz i wolałbym, żeby tak zostało.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Nie, nie przestawi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:02 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Nie nie powinno, ale on musi skompilować kod dla 1mhz jeśli są jakieś delay. I chyba jak masz taktowanie 1mhz to musisz dać jeszcze jeden parametr czyli jeszcze -B 8



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

avrdude -p atmega32 -c usbasp -P usb -B 8 -V -U flash:w:"E:\OLED_TESTER_m32.hex":i

Myślę, że i na 1MHz powinno coś zaświecić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:08 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

anshar napisał(a):
Nie, nie przestawi.


Obrazek

I co teraz powinno się wydarzyć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:10 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Masz stary flash w programatorze, ale mimo to wszystko chyba się wgrało.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A podłączyłeś oledzika tak jak w opisie?
Jeśli tak to powinno się ukazać na nim demo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:20 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

anshar napisał(a):
A podłączyłeś oledzika tak jak w opisie?
Jeśli tak to powinno się ukazać na nim demo.


Podłączyłem tak samo i nic się nie wyświetliło :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Właśnie podłączyłem do oledzika do Atmega32 ze ślimaczym taktowaniem 1MHz i działa, bardzo wolno ale działa.
Jeszcze raz jak patrzysz na oledzika od góry od lewej strony to po kolei podłączasz tak:
1. Vcc -- +5V
2. Gnd -- Gnd
3. CLK -- PC7
4. MOSI -- PC6
5. CS -- PC3
6. D/C -- PC4
7. RST -- PC5



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Spróbuj kolego też z tym kodem, o którym pisałem.
Ale to jak Ci z tym nie wyjdzie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 21:56 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

anshar napisał(a):
Właśnie podłączyłem do oledzika do Atmega32 ze ślimaczym taktowaniem 1MHz i działa, bardzo wolno ale działa.
Jeszcze raz jak patrzysz na oledzika od góry od lewej strony to po kolei podłączasz tak:
1. Vcc -- +5V
2. Gnd -- Gnd
3. CLK -- PC7
4. MOSI -- PC6
5. CS -- PC3
6. D/C -- PC4
7. RST -- PC5


Podłączyłem jeszcze raz od nowa do PORTUC, tak jak wskazałeś i nic nawet nie mrygnęło

Obrazek

Jakiś inny pomysł?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 22:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

A inne programy które wgrywasz tym programatorem do tego procka działają?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 22:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

michal1990 skoro nie miałeś programu do wgrania wsadu, to pewnie też nie grzebałeś w fusebitach?
A dla atmegi32 w tym przypadku koniecznie trzeba wyłączyć jtag ( odznaczyć bit jtagen), bo w tym przypadku OLED jest podłączony akurat na pinach od JTAGa i jak nie wyłączysz, to nie ma prawa działać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lut 2016, o 22:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

zoom napisał(a):
trzeba wyłączyć jtag


avrdude -p atmega32 -c usbasp -P usb -B 8 -V -u -U lfuse:w:0xE1:m -U hfuse:w:0xD8:m



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lut 2016, o 01:06 
Offline
Moderator
Avatar użytkownika

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

Panowie którzy podpowiadacie (nie piszę tego broń boże z jakąś złością czy coś - żeby mnie ktoś źle nie zrozumiał) ... ale przypomnę po raz kolejny - starajcie się zwracać uwagę u pytających na taki komunikat:

Obrazek

bo od razu po nim widać, że wszystkie wasze podpowiedzi idą jak grochem o ścianę - aż szkoda, nigdy nie zadziała parametr

-B 8

albo podobny w takiej sytuacji gdy ktoś kupi sobie tani chiński programator - bo wtedy ZAWSZE ten początkujący, który kupił go za 15 zł zgłasza się właśnie z problemami, że nic mu nie działa i pokazuje zawsze tę konsolę i wszyscy już myślą i podpowiadają o kablach, połączeniach, kondensatorach, zasilaniu, spalonym scalaku itp .... a to wszystko idzie jak krew w piach jak to się mówi

bo wina leży po stronie taniego chińskiego programatora który nie będzie działać z programowym przełączaniem prędkości ....

uwierzcie mi - to już jest plaga gorsza niż egipska te chińskie programatory za 15 zł i wciąż TEN SAM problem nie tylko na forach, na naszym forum ale, Jezu! .... ileż ja maili wciąż nadal dostaję - pomimo że w poradnikach proszę - że jak kupiłeś pan chińszczyznę i ci nie działa - a nie chciałeś kupić atnelańskiego programatora to przynajmniej proszę nie pisz do mnie na maila ....

a tymczasem średnio w tygodniu mam 15-20 maili które zaczynają się na bezczelnego tak:

"wiem, że pan mówił że te chińskie usbasp mają wady, ale nie stać mnie na droższy dlatego kupiłem chiński za 15 zł a pan się na tym zna to dla pana nie będzie problem żeby mi pomóc bo mam taki błąd: ...... (i tu chlast - właśnie ta czarna konsola) .... "

mi ręce opadają ale też przykro mi kasuję takie wątki z forum atnelowskiego - jakby kto pytał dlaczego znikają jakieś wątki z forum .... Bo może w końcu dotrze do ludzi, że nie wszystko co za 15 zł z Chin jest dobre i może też się ludzie przekonają w końcu co to znaczy cena w której zawarta jest prawdziwa pomoc techniczna .....

Bo jakoś do Chin nikt później nie dzwoni, nikt nie szuka pomocy na chińskim forum do chińskich programatorów a niech ktoś mi pokaże forum albo sprzedawcę z Polski chińskich programatorów kto ma założone forum chociaż (nie mówię już o pomocy na maila czy na telefon) - żeby pomóc z problemami chińskich programatorów za 15 zł ....

sorki ale musiałem to napisać - bo jak mówię - no udzielacie się - a idzie to jak "krew w piach"

_________________
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: 5 lut 2016, o 08:30 
Offline
Nowy

Dołączył(a): 29 sty 2016
Posty: 22
Pomógł: 0

zoom napisał(a):
michal1990 skoro nie miałeś programu do wgrania wsadu, to pewnie też nie grzebałeś w fusebitach?
A dla atmegi32 w tym przypadku koniecznie trzeba wyłączyć jtag ( odznaczyć bit jtagen), bo w tym przypadku OLED jest podłączony akurat na pinach od JTAGa i jak nie wyłączysz, to nie ma prawa działać.


Problem leży pewnie po stronie JTAGa, bo gdy w bibliotekach Pana Mirka zmieniłem port z C na A i podłączyłem do portu A to wyświetlacz śmiga normalnie.

Mam jedynie pytanie, mam Atmegę32 taktowaną 1 Mhz i podłączony do niej wyświetlacz OLED, czujnik ultradźwiękowy HC-SR02, mierzy on sobie odległość, którą potem wyświetlam na OLEDziku, drugim trybem jest tworzenie wykresu. Odnoszę wrażenie, że układ działa tak jakby trochę za wolno. Powiedzmy tworzę wykres na tym wyświetlaczu, odległość w funkcji próbek. Z wyjątkiem delaya 10ms w funkcji trigger, żeby podawać sygnał na wejście trig czujnika przez 10ms (aby aktywować pomiar) oraz w tej samej funkcji delay 60ms, żeby pomiary się nie nakładały, nie używam żadnych opóźnień. Chciałbym trochę przyspieszyć działanie układu, aby było bardziej płynne.

Czy uważacie, że 1Mhz to za mało? Jestem amatorem jeśli chodzi o AVR, ale poczytałem trochę i zastanawiam się, czy nie kupić i nie podłączyć zewnętrznego kwarca 16 Mhz, podobno oprócz tego, że procesor działa ok. 16 razy szybciej, to czas liczony przez timer jest znacznie dokładniejszy, a zatem sam mój pomiar byłby dokładniejszy. Czy uważacie, że to pomoże?

Zakres pomiaru to ok. 2-250 cm

250*58 = 14500 mikrosekund = 14,5 ms (*58 bo w nocie czas stanu wysokiego na wyjściu od czujnika/58 = wynik w cm), zatem czujnik
w sumie potrzebuje maksymalnie ok=. 85ms aby wykonać jeden pomiar

Czyli właściwie powinienem na wyświetlaczu obserwować bardzo płynną zmianę odległości. Jednak odnoszę wrażenie, że zmienia się ona trochę skokowo, nie płynnie.

Jeśli chodzi o tworzenie wykresu to rozumiem, że szybciej raczej nie da rady. Liczmy jeden pomiar trwa ok 100ms, wyświetlacz ma 128 pikeli szerokości, zatem żeby zapełnić całą szerokość wyświetlacza próbkami potrzebuje więcej niż 10 sekund. Ale np. jeśli chodzi o wyświetlanie samej odległości, to chyba nie powinny być ona skokowe, raczej 10 pomiarów na sekundę, to powinna być płynna zmiana.

Czy rezonator kwarcowy jest w stanie w jakikolwiek sposób pomóc, czy to w dokładności, czy w szybkości działania układu?



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: 45 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 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