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 14 lip 2025, o 00:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 13 lut 2013, o 00:58 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Obrazek
    Korzystając z dobrodziejstwa bibliotek na TFT przygotowanych przez Mirka przygotowałem port klasycznej gierki na zestaw ATB.
    Opis hardware/połączeń:
    - ATB-GLCD TFT konwerter podłączony jest do portu A (dane), portu C (linie sterujące) oraz PD.2/INT0 (reakcja na dotyk). Domyślnie jak w przykładzie z książki.
    - Karta SD podłączona jest do portu B od 1 do 7 pinu. Nawet nie trzeba za bardzo kombinować - połączenie 1 do 1 7-żyłową taśmą (lub 8-żyłową, gdzie ostatnia linia jest niewykorzystana ). Wystarczy tylko zdjąć zworkę PwrON.
    - Buzzer podłączony jest do PB.0.

    Założenia gry:
    - Gra polega na ułożeniu obrazka z 12 elementów, gdzie 1 jest pusty. Przykład na zdjęciu poniżej.

    Obrazek

    - Można przesunąć element tylko na pustą pozycję. Gra kończy się, gdy wszystkie elementy znajdą się na właściwym miejscu. Nie jest liczony czas, a liczba wykonanych ruchów. Wynik ten jest pokazywany na końcu raz oczywiście podczas gry na wolnym polu.

    Założenia programu:
    - Postanowiłem skorzystać z wolnej pamięci w sterowniku wyświetlacza o czym jest mowa w książce "Język C Pasja programowania mikrokontrolerów 8-bitowych" tak więc nie jest widoczne wczytywanie żadnych grafik z karty SD. Wykorzystałem wszystkie dostępne bufory, które na początku ładowane są 11 obrazkami, a w trakcie gry tylko zamieniane. Jako, że w tle modyfikowane są 4 ekrany, a wyświetlany jest 5 to przesuwanie bloków i zmiana 4 małych obrazków zajmuje około sekundy skorzystałem z buzzera, który sygnalizuje gotowość do reakcji na kolejny dotyk.
    - Obrazek do gry to specjalnie przygotowane 12 plików w formacie rg8 (opis w książce, jest on podobny do bmp, ale bez niepotrzebnych danych oraz odpowiednio uszeregowaną kolejnością bajtów RGB). Troszkę czasu zajęłoby przygotowanie tych plików na piechotę. Dlatego też przygotowałem programik do konwersji dowolnych obrazków na 12 plików w formacie rg8, który najpierw skaluje obraz do rozdzielczości 320x240, a następnie zapisuje 12, 16, 20 lub 25 plików (do wyboru) w formacie rg8 lub bmp z kolejnymi numerami. W nazwie nie może być cyfr, ponieważ program na AVR przeszukuje kartę SD i ciąg liter to część wspólna wykorzystana do sklejania nazw plików wyświetlanych na TFT.

    Obrazek

    Nie zastosowałem, żadnego algorytmu losowania początkowego ułożenia "kafelków". Co oczywiście można zrobić jak ktoś uzna, że ma za łatwo. Tutaj również zawsze ostatni z elementów jest w prawym dolnym rogu co znacznie ułatwia ukończenie tego wyzwania.


    Oprogramowanie na ATB:
    - 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.

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

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

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

    - reszta to kody dołączone do drugiej książki Mirka.

    Jak będzie potrzeba to oczywiście mogę wytłumaczyć działanie poszczególnych funkcji, ale do zabawy wystarczy plik hex, którym nalezy zaprogramować ATMEGĘ644PA i przestawić na zewnętrzne taktowanie 20MHz oraz program do generowania obrazków. Następnie obrazki należy wrzucić na kartę, ale wszystkie inne obrazki w formacie rg8 muszą zostać z niej usunięte.
    Przy starcie program najpierw szuka plików i jak znajdzie to wyświetla nazwę serii i od razu ładuje 4 ekrany. Jak pojawi się napis READY należy dotknąć ekran i ładowany jest jeszcze jeden ekran. Po usłyszeniu sygnału dźwiękowego można zacząć główkować.


    Załączniki:

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

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 06:41 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3229
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    No, no, ładnie. ;-) To chyba pierwsza gra na ATB?

    Teraz kto zrobi Tetrisa? :lol:

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 08:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2011
    Posty: 582
    Lokalizacja: okolice Wrocławia :)
    Pomógł: 24

    No tak... ja się tu męczę że żeby coś tam wyświetlić na LCD 2x16 a tu takie rzeczy :P .

    Nie ma to jak wyświetlić sobie fotkę ATB na samej ATB i to jeszcze w formie gierki :).

    Gratuluję projektu i zazdroszczę umiejętności :oops: .

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 08:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lis 2011
    Posty: 534
    Lokalizacja: Mierzyn
    Pomógł: 9

    Super sprawa gratki :)

    _________________
    pozdrawiam
    Jachu



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 08:58 

    Pomógł: 0

    Sonix napisał(a):
    No tak... ja się tu męczę że żeby coś tam wyświetlić na LCD 2x16 a tu takie rzeczy :P .

    Nie ma to jak wyświetlić sobie fotkę ATB na samej ATB i to jeszcze w formie gierki :).

    Gratuluję projektu i zazdroszczę umiejętności :oops: .


    Dokładnie wyjąłeś mi to z ust. Od dłuższego czasu próbuję zmusić do działania 44780 na I2c (PCF8574) a tu takie kwiatki :D.

    Świetna robota.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 10:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Chapeau bas Krauser!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 11:07 
    Offline
    Moderator
    Avatar użytkownika

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

    Krauser ---> matko jedyna ;) ależ ty masz pomysły ..... normalnie odjazd .... i już nie chodzi mi o to że to na ATB czy ze zdjęciem ATB - ale o fakt właśnie pokazania TAK FAJNEGO wykorzystania tego buforowania sprzętowego w wyświetlaczu !!!

    no przy takiej grze tzn przy takich reakcjach ekranu kto by pomyślał że za jego plecami kryje się taki mały 8-bitowy biedny mały pikuś , który ponoć jest już na wymarciu ;)

    Świetny pomysł, rewelacyjna realizacja, dodatkowo program na PC, normalnie prześliczny PROJEKT !!! z mojej strony pełen szacunek za pokazanie kolejny raz takich swoich możliwości. SZOK i uznanie.

    Po twoich projektach mam normalnie chęć rzucić wszystko inne i zająć się tylko takimi rzeczami .... ale niestety rzeczywistość jeszcze mnie przytłacza wieloma innymi obowiązkami i muszę to wciąż zostawiać sobie na później i później .... kuuuuurka wodna ;)

    ------------------------ [ Dodano po: 15 minutach ]

    Pozwolisz Krauser, że pokażę ten projekt szerzej i wpuszczę go jako przyklejony globalny na głównej stronie naszego forum ;) ?

    _________________
    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: 13 lut 2013, o 12:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lut 2013
    Posty: 126
    Lokalizacja: Turbia
    Pomógł: 0

    Hehehe fajny projekt, oj zanim ja dotrę do takiej wprawy to już wnuki będe miał :P

    _________________
    Zestaw ATB 1.04
    Niebieska książka
    Zielona książka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 12:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 gru 2012
    Posty: 530
    Lokalizacja: Bydgoszcz
    Pomógł: 8

    Stwierdzam, że poziom moich umiejętności odpowiada zabawom w piaskownicy :|

    _________________
    sig off ;(



    Ostatnio edytowano 13 lut 2013, o 13:10 przez kila, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 12:51 

    Pomógł: 0

    kila napisał(a):
    Stwierdzam, że poziom moich umiejętności nie odpowiada zabawom w piaskownicy :|


    Nie jesteś sam ;). Swoją drogą faktycznie teraz nic tylko czekać na Tetrisa :).



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 15:21 
    Offline
    Użytkownik

    Dołączył(a): 11 lut 2013
    Posty: 140
    Lokalizacja: Kraków
    Pomógł: 10

    dexter napisał(a):
    Hehehe fajny projekt, oj zanim ja dotrę do takiej wprawy to już wnuki będe miał :P


    Ja również. :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lut 2013, o 15:59 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    hmmm.... no dobra super gratka
    Krauser rządzisz .....

    :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2013, o 10:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 lip 2012
    Posty: 238
    Pomógł: 5

    Aż chce się rzucić wszystko i też fajną grę na te małe 8 bitowce stworzyć , i poczuć się jak był rok 1987, kiedy to pisząc grę liczyło się każdy cykl procesora aby tylko zdążyć przed kolejnym odświeżaniem pionowym ekranu:)

    Krauser chyba nie jednego tu z Nas na forum podpaliłeś do napisania jakiejś gierki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2013, o 10:58 

    Pomógł: 0

    Jakieś wyścigówki :). W końcu na C64 było nawet wypaśne Test Drive ;).



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2013, o 11:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 lip 2012
    Posty: 238
    Pomógł: 5

    No ja wczoraj podczas podróży jako pasażer :) grywałem sobie w Stunt Car Racer na emulatorze C64 na Androidzie :) ... mam ostatnio takie chęci żeby w te staruchy sobie pograć.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2013, o 11:41 

    Pomógł: 0

    xbary napisał(a):
    No ja wczoraj podczas podróży jako pasażer :) grywałem sobie w Stunt Car Racer na emulatorze C64 na Androidzie :) ... mam ostatnio takie chęci żeby w te staruchy sobie pograć.


    Mógłbyś bardziej przybliżyć temat :).



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2013, o 15:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 gru 2011
    Posty: 97
    Lokalizacja: Radomsko/Poznań
    Pomógł: 0

    Super sprawa, widać wielkie umiejętności i doświadczenie kolegi Krauser. Osobiście posiadam ten wyświetlacz oraz konwerter więc na pewno przetestuje!! Osobiście pełen szacun !! ;) Pzdr



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO