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 10 lip 2025, o 08:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 18 mar 2015, o 23:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 27 maja 2013
    Posty: 562
    Lokalizacja: Bydgoszcz
    Pomógł: 23

    Chciałby zaprezentować wstępną bibliotekę po "SPI" do wyświetlacza 3,5" 480 x 320 TFT LCD opartego o sterownik HX8357D firmy Adafruit https://www.adafruit.com/product/2050 napisaną przeze mnie na podstawie oryginalnej biblioteki od firmy Adafruit dla Arduino oraz doświadczeń zdobytych podczas nauk Mirka dotyczących wyświetlaczy OLED oraz tzw. Green Booka.

    Myślę że na początek film z jej pracy na wyświetlaczu, na żywo wygląda to zdecydowanie lepiej niestety kamera, którą posiadam nie oddaje "ładności" świecenia jego jednakże bardziej mam na celu pokazanie pracy i możliwości funkcji jakie posiada biblioteka.



    A teraz kod :) Myślę że za specjalnie nie ma co go komentować osobno, albo raczej mi się tak wydaję bo starałem się napisać ją czytelnie i w miarę zrozumiale dodając stosowne komentarze.
    Nie będę może zupełnie całego programu testowego publikować na stronie ale dodam go całego spakowanego na końcu tematu jako załącznik do obejrzenia i ewentualnych własnych testów jak ktoś w/w wyświetlacz nabędzie.

    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.


    hx8357D.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.


    hx8357D.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.


    hx8357D_graphic.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.


    intre_demo.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.


    intre_demo.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.


    timers.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.


    timers.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.


    I jak? ;)
    No cóż trochę się naklepałem, jeszcze są pliki z bitmapami i ustawieniami skórki dla dema higrometru ale to zostawiam do obejrzenia w załączniku. Ogólnie nie mam pojęcia czy tą bibliotekę jak również program demonstracyjny napisałem dobrze czy źle, to już pozostawiam do oceny w waszej gestii.

    Napiszę że na pewno mi ta biblioteka działa i ja osobiście jestem z niej zadowolony, funkcjonalność jaką ja potrzebuje do jakiś swoich projektów mam wystarczającą, rzekłbym aż nad to.
    Biblioteka w załączniku jest skompilowana na procesor Atmega 32A pracująca z zegarem 18 432 000, z innymi mniejszymi kwarcami też chodzi ale nie zalecałbym niczego niżej niż 16Mhz - już mocno zwalnia. Testowałem ja na różnych procesorach np. A32A, A128 (po odchudzeniu nawet na A8 najmniejszy jaki próbowałem) jak i również na A644PA oraz A1284P i tu mam małe pytanie bo zagadką dla mnie jest to że o ile ze starszymi wymienionymi procesorami komunikacja SPI przy 5V działa idealnie bez zastrzeżeń to jak skompiluje tą bibliotekę na nowsze procesory serii 644 itd. to amen, złe działanie, defakto krzaki na ekranie, niestabilność, masakra. Jednakże jak przestawię tylko napięcie zasilania na 3,3V lub dam dodatkowy dzielnik napięcia to ręka odjoł biblioteka działa tak samo dobrze jak na A32 itp. o co tu chodzi, coś się zmieniło w nowszych procesorach, analizowałem notę jest tam coś o zasilaniu w przypadku używania SPI, coś powiązane z UART że trzeba dać 0 wrejestr PWR, ale domyślnie są 0 no nie jasne to dla mnie, może ktoś z bardziej doświadczonych kolegów wyjaśni o co chodzi, mówię przestawiam na 3,3V i jest ok, a ze starszymi procesorami obojętnie czy na 5V czy na 3,3V jest też ok.

    Z innych uwag jakie mam albo mi nie wyszły to wyświetlanie zmiennej z pamięci flash, ona się wyświetla na ekranie ale oprócz niej jakieś krzaki, może ktoś obejrzeć funkcje i mi podpowiedzieć jaki mam błąd lub może ficzer trzeba zrobić by było ok :) Już nie aktualne bo poprawione - aktualizacja biblioteki w załączniku ;)

    W demie aż się pewnie prosiło o latający napis spoza ekranu na wyświetlacz, ot taka pętelka - no cóż mała masakra z prędkością wyświetlania jakby AVRkowi pary zabrakło jak cały napis wjedzie :lol: dlatego z prezentacji tego zrezygnowałem ale kto wie może coś źle robię....

    Z innych rzeczy jak ktoś bliżej się przyjrzy temu wyświetlaczowi to stwierdzi że ma on dotykowy rezystancjny ekran oraz czytnik kart MicroSD, i to się zgadza wszystko jest. Jeszcze tego nie opanowałem z jednej strony sprzętowo bo chcę dotykowy ekran zrobić na opisanym przez Mirka układzie STMPE811 https://www.sklep.atnel.pl/pl/searchquery/STMPE811/1/phot/5?url=STMPE811 i tutaj walczę z przylutowaniem jego bo jest ciut za duży :lol: :) ale myślę że za jakiś czas go opanuje i dodam stosowną aktualizacje biblioteki o funkcjonalność dotyku ale opartą o kod Mirka z zielonej książki więc by go uruchomić będzie wymagane dogranie jej sobie. Czytnik kart SD udało mi się bez większych problemów odpalić w wyświetlaczu również za pomocą biblioteki PetiFS Mirka z zielonej książki jednakże poległem na razie na pisaniu funkcji wyświetlającej zdjęcia z karty, no cóż jest to szerszy problem który opisze w nowym wątku ze stosownymi pytaniami oraz niejasnościami jakie mam i jak to opanuję również dodam zaktualizowaną funkcjonalność. Wyświetlacz ma jeszcze tryb 8-bit ja jednakże raczej nie będę go oprogramowywać - chociaż może kiedyś dla zabawy to też kod zamieszczę.

    To z grubsza, tyle jak są jakieś pytania czy nie jasności to chętnie odpowiem. Dodam jeszcze że ten wyświetlacz w PL można nabyć np. w sklepie Botland:
    http://botland.com.pl/wyswietlacze-graficzne/2666-wyswietlacz-dotykowy-tft-lcd-35-320-x-480-z-czytnikiem-microsd.html

    I jeszcze napisze dla malkontentów, powiem wam że jestem przeszczęsliwy, wniebowzięty wręcz że po jakimś tam czasie, w sumie nie długim ja wiem roku-póltorej nauki języka C od 0 z Mirkiem, jego poradnikami oraz książkami opanowałem sobie sam bez niczyjej pomocy obsługę jakiegoś tam przypadkowego wyświetlacza LCD TFT, którego widzę pierwszy raz na oczy w jakiś tydzień wraz z programem demonstracyjnym. I to jest dla mnie najlepsze wręcz bezcenne, a o Mirku świadczy że robotę jaką robi robi ją bardzo dobrze :)


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Ostatnio edytowano 19 mar 2015, o 01:30 przez Intre, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 01:06 
    Offline
    Moderator
    Avatar użytkownika

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

    nie wyświetla ci poprawnie znaków z pamięci Flash bo masz babola:

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


    pętla while próbuje sprawdzać zawartość wskaźnika w pamięci RAM a nie FLASH - więc leci na wariata po całym RAMie aż natrafi na zero a wyświetla znaki czytane z Flash w kolejnej linii ;)

    zrób tak:

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


    Oczywiście jak to mówią KAWAŁ DOBREJ ROBOTY ;)


    i powinno być ok ;)

    _________________
    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: 19 mar 2015, o 01:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 27 maja 2013
    Posty: 562
    Lokalizacja: Bydgoszcz
    Pomógł: 23

    Dambo polecam naprawdę fajnie świeci :) Sam mam już wizję zrobienia takiej sobie stacji pogodowej jak opanuje inne rozpoczęte projekty.


    Mirku dziękuje zmiany w bibliotece naniesione, przetestowane, teraz działa ta funkcja super :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 01:37 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Super projekt! No to i ja jeszcze dodam, że KAWAŁ DOBREJ ROBOTY :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 09:34 
    Offline
    Użytkownik

    Dołączył(a): 15 lip 2014
    Posty: 63
    Lokalizacja: Polska
    Pomógł: 12

    :shock: Takie efekty na 8-bitowcu?! WOOOWWWW... :o



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 11:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 lut 2014
    Posty: 173
    Lokalizacja: Bytom
    Pomógł: 2

    Biedna Atmega się tam poci i daje resztki sił :D A tak na serio KAWAŁEK DOBREGO KODU !



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 20:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Już rano widziałem lecz nie mogłem pisać.

    Biblioteka piękna tylko czy rysowanie nie migło by być z bufora aby każdy piksel zapalił się w tym samym momencie?

    Namazane ze smarta.

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2015, o 21:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 27 maja 2013
    Posty: 562
    Lokalizacja: Bydgoszcz
    Pomógł: 23

    majster napisał(a):
    Biblioteka piękna tylko czy rysowanie nie migło by być z bufora aby każdy piksel zapalił się w tym samym momencie?


    480 * 320 * 2 = 30 7200 ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2015, o 14:32 
    Offline
    Użytkownik

    Dołączył(a): 15 cze 2013
    Posty: 599
    Lokalizacja: Lubin
    Zbananowany użytkownik

    Pomógł: 35

    taki wyświetlacz do kupienia w Polsce?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 mar 2015, o 16:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 27 maja 2013
    Posty: 562
    Lokalizacja: Bydgoszcz
    Pomógł: 23

    OdeOn Jak najbardziej:

    np. w Botland

    http://botland.com.pl/wyswietlacze-graficzne/2666-wyswietlacz-dotykowy-tft-lcd-35-320-x-480-z-czytnikiem-microsd.html



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

    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO