logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

LCD od S65 sterowany przez ATmega16.

pmichniewski 28 Sty 2006 15:11 168773 366
REKLAMA
  • #121 5088767
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2818
    Innymi tranzystorami polowymi z kanałem N za BSS123 i z kanałem P za BSS84, napięcie 50V prąd do 0.5A
  • REKLAMA
  • #122 5089038
    mastermariusz
    Poziom 12  
    Posty: 65
    Ocena: 66
    Witam wszystkich.
    Ktoś tu chyba miał problemy z wrzuceniem obrazka do atmegi.
    Kiedyś też miałem.
    Więc napisałem sobie prosty programik.
    Dla chętnych programik konwertujący obrazki BMP do postaci tablicy z 16-bitowymi danymi opisującymi kolor każdego pixela(tablica w C++). Jak wiadomo obrazki BMP są zapisane w 24-bitowej palecie barw. Mój programik konwertuje pixel do postaci 16bitowej, w sam raz do LCD od S65 gdzie dana opisująca kolor jest w postaci 16bitów.
    Jeśli chce sie wyłuskać daną z tablicy to robimy coś takiego:

    	
    					graphiccolor= pgm_read_word(&grafika[wiersz][kolumna]);
    																	
    					lcd_graphic_wrdat16(graphiccolor);
    

    po małych przeróbkach i umieszczeniu w odpowiedniej pętli odczytujemy sobie wszystkie pixele z tablicy. Użyta funkcja lcd_graphic_wrdat16(graphiccolor);
    pochodzi ze strony Christian-a Kranz-a
    W rezultacie można otrzymać coś takiego:

    LCD od S65 sterowany przez ATmega16.

    W załączniku programik.
    Mam nadzieje że komuś sie przyda.
    Pozdrawiam Mariusz
    Załączniki:
    • BMPconverter.rar (283.84 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #124 5096466
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2818
    A czy umiesz czytać, czy czekasz tylko na gotowce ?
    M65 CX65 CX70 S65 CXV70 mają taki sam wyświetlacz.
  • #125 5097687
    Madnesxx
    Poziom 16  
    Posty: 262
    Pomógł: 15
    Ocena: 3
    tak umiem !! wiem ze maja takie same tylko czy moze byc atmega16 czy musi byc 128
  • #126 5097724
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Kolego, przeczytaj temat od początku, albo zwróć uwagę na jego tytuł. Czy gdzieś jest wspomniane, że musi być ATmega128?
  • REKLAMA
  • #127 5097727
    greatlukas
    Poziom 14  
    Posty: 122
    Pomógł: 3
    Ocena: 7
    ten wyświetlacz możesz wysterować czym zechcesz AVR, PIC, ARM, albo nawet bezpośrednio z portu LPT, wszystko zależy od "inwencji twórczej" :) i umiejętności :P
  • #128 5098863
    Madnesxx
    Poziom 16  
    Posty: 262
    Pomógł: 15
    Ocena: 3
    chodziło dokładnie o procesor a nie o wyswietlacz
  • #129 5105907
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2818
    Sulejczak napisał:
    tak umiem !! wiem ze maja takie same tylko czy moze byc atmega16 czy musi byc 128

    To po jakiego grzyba pytasz czy może być wyświetlacz od CX65 ?????
    Wskazujesz na źródłowy artykuł Christian Kranz'a a nie przeczytałeś go.
    Autor napisał PWM Programming example ATmega128 (AVR)
    co znaczy przykład programowania ATMega128. Można z tego artykułu i ze strony Christiana domyślić się, że pewnie ma płytkę "prototypowa" na 128., a poza tym jakby się zastanowić, to w ATMega 128 zmieści po prostu ew. więcej obrazków w swojej pamięci
  • #130 5107160
    Madnesxx
    Poziom 16  
    Posty: 262
    Pomógł: 15
    Ocena: 3
    czyli obojetnie jaka atmega ?
  • REKLAMA
  • #131 5107579
    K_o_n_r_a_d
    Poziom 23  
    Posty: 318
    Pomógł: 86
    Ocena: 9
    Freddy napisał:
    Sulejczak napisał:
    tak umiem !! wiem ze maja takie same tylko czy moze byc atmega16 czy musi byc 128

    To po jakiego grzyba pytasz czy może być wyświetlacz od CX65 ?????
    Wskazujesz na źródłowy artykuł Christian Kranz'a a nie przeczytałeś go.
    Autor napisał PWM Programming example ATmega128 (AVR)
    co znaczy przykład programowania ATMega128. Można z tego artykułu i ze strony Christiana domyślić się, że pewnie ma płytkę "prototypowa" na 128., a poza tym jakby się zastanowić, to w ATMega 128 zmieści po prostu ew. więcej obrazków w swojej pamięci

    Sulejczak napisał:
    czyli obojetnie jaka atmega ?
    ROTFL, może być nawet ATTiny.
  • #132 5108450
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    hyhy a podobno zrozumiał ;)
  • #133 5108665
    Madnesxx
    Poziom 16  
    Posty: 262
    Pomógł: 15
    Ocena: 3
    zejdzcie ze mnie, Pan urodzony elektronik
  • #134 5108781
    Krzysiek_1993
    Poziom 12  
    Posty: 43
    Dobra podziękować ale zostawić Sulejczaka ma być miła atmosfera na forum xD

    No różne mogą być procesory ale maja inne wejścia ...


    @down : Ja tak samo xD
  • #135 5109128
    Madnesxx
    Poziom 16  
    Posty: 262
    Pomógł: 15
    Ocena: 3
    No i o to chodzi jestem jak narazie poczatkujący ;D
  • REKLAMA
  • #136 5135574
    slotkevitch
    Poziom 1  
    Posty: 1
    Hello, anybody made S65 lcd and Atmega16 interface? I was trying to launch it but...
  • #137 5144196
    Krzysiek_1993
    Poziom 12  
    Posty: 43
    Każdy z zasilaczy do PC ma napięcia :
    3.3V 5V i 12V
    Reszty domyślacie się sami ...
  • #138 5144311
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Krzysiek_1993 napisał:


    Każdy z zasilaczy do PC ma napięcia :
    3.3V 5V i 12V
    Reszty domyślacie się sami ...

    Ale chodzi właśnie o to, żeby w urządzeniu mieć tylko jedno napięcie. W elektronice panuje trend do obniżania napięć. Dodatkowy stabilizator to przecież żaden problem i nie trzeba takiej cegły z wentylatorem, jak w Twoim linku ;)
  • #139 5168996
    Krzysiek_1993
    Poziom 12  
    Posty: 43
    Coś mnie dziwi ;/

    Niektórzy zamieścili swoje schematy ale nie podali wartości kondensatorów itp. Więc jak początkujący elektronik może to wykonać?
    Chodzi mi o te schematy pod ATmege32 ...

    No i jak ktoś by miał spis po kolei elementów np.
    C1 = 100uF itp ;)
  • #140 5169048
    holcer
    VIP Zasłużony dla elektroda
    Posty: 861
    Pomógł: 50
    Ocena: 19
    A jak początkujący elektronik zaprogramuje ATmegę ;) ?
    Pozdrawiam
    Holcer
  • #141 5169692
    Krzysiek_1993
    Poziom 12  
    Posty: 43
    Początkujący elektronik posiada programator i adapter xD więc? ;D

    Zależało by mi na bardziej przejrzystym schematem kolegi don diego
    Jeśli go oczywiście posiada ;P
  • #142 5169729
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Krzysiek_1993 napisał:
    Zależało by mi na bardziej przejrzystym schematem kolegi don diego
    Jeśli go oczywiście posiada ;P

    O jaki schemat Ci chodzi? Ja mam podłączone linie SPI oraz zasilanie według pinoutu dostępnego na stronie podanej w pierwszym poście tego tematu. Używam mikrokontrolera zasilanego z 3,3V więc nie są mi potrzebne żadne konwertery poziomów.
    Zasilanie podświetlenia mam z zewnętrznego zasilacza.
  • #143 5171424
    Krzysiek_1993
    Poziom 12  
    Posty: 43
    Pomyłka zaszła xD

    Chodziło mi o schemat kolegi markosik20

    Zainteresowała by mnie właśnie taka lista elementów poszczególnych może któryś z użytkowników sobie taką sporządził?? No i schemat do tego ;)

    Zamierzam robić wszystko pod ATmege32 , mam schemat ( z tego tematu)
    Ale nie pisze na nim jakie są wartości elementów ;/ I to jest właśnie problem ;/

    hmm jeszcze jedno używam Eagle 5.0.0 Light a schemat był tworzony w 4.16
    Może mieć to wpływ? Wydaje mi się że chyba nie ...
  • #144 5221091
    MEGA88
    Poziom 11  
    Posty: 7
    To pytanie już tu padło ale nie bylo odpowiedzi: czy musi byc dokładne 2,9 V czy moze być 3V lub 3,3V? czy ktoś juz probował na tych napieciach?
  • #145 5221322
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Tak może być 3,3V...
  • #146 5230772
    arus85lbn
    Poziom 12  
    Posty: 50
    Jak szybko moze sie wczytywac obrazek na caly ekran przy kwarcu 16MHz ? U mnie zajmuje to cos ok 7 sek i z tego co czytalem w tym temacie to chyba troche dlugo ;/ Program mam napisany w C a nie w asemblerze i byc mzoe to jest przyczyna?
  • #147 5231307
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Prawdopodobnie masz ustawioną niską częstotliwość zegara dla SPI...
    Dla kwarcu 16MHz max częstotliwość powinna być 8MHz...
    Przy czym nie jest to nawet połowa max częstotliwości dla tego LCD...
  • #148 5231326
    arus85lbn
    Poziom 12  
    Posty: 50
    No wlasnie nie mam nic ustawiane bo nie korzystam ze sprzetowego SPI. Sam poprostu na podstawie oscylogramow napisalem wszystkie potrzebne funkcje ktore obsluguja wyswietlacz.
  • #149 5231383
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Rozumiem sztuka dla sztuki...?
    Więc masz w takim razie programowe SPI...
    Które i tak powinno działać o niebo szybciej...
    Odpalałem coś takie z tym, że tylko reszta funkcji bazowała na opracowaniu Christiana Kranza...
    Spróbuj porównać jego opracowanie ze swoim...
  • #150 5231510
    arus85lbn
    Poziom 12  
    Posty: 50
    Kiedys srednio rozumialem te jego programiki az do teraz :) Wiem juz o co tam biega. Faktycznie on wykorzystuje sprzetowe SPI a przynajmniej ustawia predkosc tej transmisji a wszystkie podstawowe funkcje ma napisane w asemblerze przez co pewnie dziala mu to wszystko duzo szybciej. U mnie jest tylko taka lipa ze ja przez SPI komunikuje sie z karta SD i nie bardzo wiem jak podlaczyc i komunikowac sie jednoczesnie z wyswietlaczem i karta chociaz wtedy cala komunikacja odbywalaby sie duzo szybciej :( Moze ktos wspomoze jakims pomyslem? Widzialem wczesniej schemat gdzie jest to tak podlaczone jednak chyba nie ma nigdzie zadnego kodu a bez tego jakos nie wiem jak zaczac.

Podsumowanie tematu

✨ Dyskusja dotyczy sterowania wyświetlaczem LCD Siemens S65 (model LS020) za pomocą mikrokontrolera ATmega16 oraz innych układów AVR i ARM. Autor projektu wykorzystał kod źródłowy Christiana Kranza, modyfikując go pod kątem kalibracji oscylatora i protokołu transmisji z kontrolą CRC16, aby poprawić stabilność komunikacji przez port szeregowy. Wątek porusza kwestie podłączenia wyświetlacza, zasilania podświetlenia (stosowanie przetwornic impulsowych, LM317, napięć 2.9V-3.3V), oraz problemów z prędkością transmisji danych i błędami wynikającymi z zakłóceń elektromagnetycznych. Dyskutowano o alternatywach dla RS232, takich jak USB z układem FT245BM, oraz o planach migracji na procesory ARM (np. LPC2103) dla zwiększenia wydajności i szybkości SPI (do 20-30 MHz).

Wielu uczestników dzieliło się doświadczeniami z wyświetlaniem grafik BMP i animacji, wskazując na ograniczenia prędkości transmisji i konieczność optymalizacji kodu (np. asembler, sprzętowe SPI, buforowanie danych z karty SD). Poruszono też temat konwersji obrazów do formatu zgodnego z wyświetlaczem (16-bitowa paleta kolorów 5R-6G-5B) oraz narzędzi do generowania tablic danych w C. Wspomniano o problemach z dostępnością elementów, takich jak tranzystory BSS84, BSS123, cewki indukcyjne oraz stabilizatory 3.3V, a także o projektach schematów i płytek PCB w Eagle.

Dyskusja obejmuje również praktyczne zastosowania, takie jak elektroniczne ramki na zdjęcia, wyświetlanie parametrów sprzętu, proste animacje, a nawet oscyloskop na bazie wyświetlacza S65. Użytkownicy wymieniali się linkami do filmów prezentujących efekty działania, kodów źródłowych i schematów. Podkreślono, że wyświetlacz działa poprawnie bez podświetlenia, przy zasilaniu 3.3V, a podświetlenie wymaga osobnego zasilania i sterowania PWM. Wskazano, że prędkość transmisji i stabilność działania zależą od taktowania mikrokontrolera, jakości protokołu komunikacji oraz zastosowanego sprzętu.

Podsumowując, projekt sterowania LCD S65 za pomocą ATmegi jest wykonalny, ale wymaga starannego doboru elementów, optymalizacji oprogramowania i odpowiedniego zasilania, a dla bardziej zaawansowanych zastosowań rekomendowane jest użycie szybszych mikrokontrolerów ARM i interfejsów SPI o wysokiej prędkości.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA