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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 lip 2025, o 18:44


    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    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 8 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