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 168701 366
REKLAMA
  • #211 6824132
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #212 6826911
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    No to jeśli LCD jest sprawny i dobrze wszystko podłączyłeś to prawdopodobnie jest problem w programie albo fusach ;)
  • #213 6834480
    vooltano
    Poziom 14  
    Posty: 169
    Ocena: 11
    Witam mam takie dwa pytania co dokładnie jest potrzebne aby zrobić coś takiego i ile będzie to kosztować.
  • REKLAMA
  • #214 6834654
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    wyswietlacz 20zł
    płytka uruchomieniowa 50-100zł
    programator 40zł
    i sporo wolnego czasu ;)
  • REKLAMA
  • #215 7447304
    sebek_sc
    Poziom 11  
    Posty: 20
    Witam,
    Już drugi dzień walczę z tym wyświetlaczem i nie umiem go uruchomić.
    Mam na pokładzie Arma AT91SAM7S256 i chce użyć jego sprzętowe ISP do komunikacji z wyświetlaczem LS020. Wzorując się na przykładach z tej stronki:http://www.shop.kristech.eu/product_info.php?products_id=238
    przykłady projektów/rozdział 9 - sprzętowe SPI wydziergałem taki kod:
    
    #include "common.h"
    
    
    void init(void)
    {
    	// enable peripheral clock for PIO controllers
    	AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
    	
    	// enable reset-key on board 
    	AT91C_BASE_RSTC->RSTC_RMR = (0xA5000000 | AT91C_RSTC_URSTEN);
    	
    	//initialize LEDs
    	RESET_INIT;
    	RS_INIT;
    	
    }
    
    #define SPI_PINS_MASK AT91C_PA11_NPCS0 | AT91C_PA12_MISO | AT91C_PA13_MOSI | AT91C_PA14_SPCK     
    
    #define SPI_PIO				AT91C_BASE_PIOA
    
    #define SPI					AT91C_BASE_SPI
    #define SPI_ID				AT91C_ID_SPI
    
    const uint32_t NPCS_CODE_MASK[4] = { 0<<16, 1<<16, 3<<16, 7<<16 };
    
    //tablica inicjalizacji
    uint16_t INIT1[]= { 0xFDFD, 0xFDFD};
    
    uint16_t INIT2[]={0xEF00, 0xEE04, 0x1B04, 0xFEFE, 0xFEFE, 
    				0xEF90, 0x4A04, 0x7F3F, 0xEE04, 0x4306};
    	
    uint16_t INIT3[]= { 0xEF90, 0x0983, 0x0800, 0x0BAF, 0x0A00,
    					0x0500, 0x0600, 0x0700, 0xEF00, 0xEE0C,
    					0xEF90, 0x0080, 0xEFB0, 0x4902, 0xEF00,
    					0x7F01, 0xE181, 0xE202, 0xE276, 0xE183};
    
    uint16_t INIT4[]= {0x8001, 0xEF90, 0x0000};
    
    //zapis wyswietlacza
    uint16_t MEMWR[]= {0xEF90, 0x0500, 0x0600, 0x0700};
    
    int i; 
    
    
    
    uint16_t spiTransfer(uint16_t dataToSend, uint8_t channel)
    {
    	uint16_t receivedData;
    	
    	while( !( SPI->SPI_SR & AT91C_SPI_TDRE ) );
    	SPI->SPI_TDR = NPCS_CODE_MASK[channel] | dataToSend;
    	
    	while( !( SPI->SPI_SR & AT91C_SPI_RDRF ) );
    	receivedData = (uint16_t)( SPI->SPI_RDR );
    	
    	return(receivedData);
    }
    
    
    int main( void )
    {
    	init();
    	
    	//initialize SPI (common for all channels)
    	
    	//disable PIO control on hardware controlled SPI pins
    	SPI_PIO->PIO_PDR = SPI_PINS_MASK;
    	
    	//SPI pins are peripheral A
    	SPI_PIO->PIO_ASR = SPI_PINS_MASK;
    	
    	//enable SPI clock
    	AT91C_BASE_PMC->PMC_PCER = ( 1 << SPI_ID );
    	
    	//SPI enable and reset
    	SPI->SPI_CR = AT91C_SPI_SWRST;
    	
    	const uint8_t DELAY_BETWEEN_CHIP_SELECTS = 0x00;
    	const uint32_t DLYBCS_MASK	= (uint32_t)DELAY_BETWEEN_CHIP_SELECTS << 24;
    	
    	//SPI Mode Register: Fault detection disable, variable periph. chip select
        SPI->SPI_MR  = DLYBCS_MASK | AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | AT91C_SPI_PS;
    	
    	SPI->SPI_CR = AT91C_SPI_SPIEN;
    	
    	const uint8_t BAUD_DIVIDER = 6;
    	const uint8_t DELAY_BEFORE_SPCK = 0;
    	const uint8_t DELAY_BETWEEN_CONSECUTIVE_TRANSFERS = 0;	
    	
    	//masks for SPI_CSR registers
    	const uint32_t SCBR_MASK = (uint32_t)BAUD_DIVIDER << 8;
    	const uint32_t DLYBS_MASK = (uint32_t)DELAY_BEFORE_SPCK << 16;
    	const uint32_t DLYBCT_MASK = (uint32_t)DELAY_BETWEEN_CONSECUTIVE_TRANSFERS << 24;
    	
    	//initialize NPCS0 to "Mode 0"
    	SPI->SPI_CSR[0] = AT91C_SPI_BITS_8 | SCBR_MASK | DLYBS_MASK | DLYBCT_MASK | AT91C_SPI_NCPHA;
    	
    	//initialize NPCS1 to "Mode 1"
    	//SPI->SPI_CSR[0] = AT91C_SPI_BITS_8 | SCBR_MASK | DLYBS_MASK | DLYBCT_MASK;
    	
    	//initialize NPCS2 to "Mode 2"
    	//SPI->SPI_CSR[0] = AT91C_SPI_BITS_8 | SCBR_MASK | DLYBS_MASK | DLYBCT_MASK | AT91C_SPI_NCPHA | AT91C_SPI_CPOL;
    	
    	//initialize NPCS3 to "Mode 3"
    	//SPI->SPI_CSR[0] = AT91C_SPI_BITS_8 | SCBR_MASK | DLYBS_MASK | DLYBCT_MASK | AT91C_SPI_CPOL;
    	
    	//wlaczenie resetu (aktywny 0)
    	delay_ms(1000);
    	RESET_OFF;
    	delay_ms(1000);
    	//wylaczenie resetu
    	RESET_ON;
    	//wysylanie komend
    	RS_ON;
    	
    	
    	for(i=0;i<sizeof(INIT1)-1;i++)
    		spiTransfer(INIT1[i], 0);
    	
    	delay_ms(50);
       
    	
    
       for(i=0;i<sizeof(INIT2)-1;i++)
    		spiTransfer(INIT2[i], 0);
    
        delay_ms(7);
    	
    
        for(i=0;i<sizeof(INIT3)-1;i++)
    		spiTransfer(INIT3[i], 0);
    
        delay_ms(50);
    	
    
       for(i=0;i<sizeof(INIT4)-1;i++)
    		spiTransfer(INIT4[i], 0);
    
        delay_ms(50); 
    	
    	for(i=0;i<sizeof(MEMWR)-1;i++)
    		spiTransfer(MEMWR[i], 0);
    
        delay_ms(50); 
    	
    	RS_OFF;
    	
    	for(;;)
    		{
    		spiTransfer(0xFFFF,0);
    		}
    	return(0);
    }
    
    
    
    ... jednak jak to zwykle bywa nie działa, a co najgorsze nie wiadomo dlaczego. Mógłby mnie ktoś z was obeznanych z tematem naprowadzić czego to może być wina??
    Wyświetlacz powinien po poprawnej inicjalizacji wyświetlać jakieś śmieci?? Ja mam biały ekran. Może wyświetlacz już odmówił posługi - tyle, że kupiłem go nowego na allegro więc jego ostatniego podejrzewam o dezercje.
    RESET i CS ma być aktywny 0 czy 1??

    Proszę o wszelaką pomoc.
  • #216 7457138
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    Standardowo LCD podpięty pod zasilanie nie powinien nic pokazywać. Po inicjacji pokazuje śmieci.
    Zrób zdjęcie tyłu wyświetlacza. Zobacze który model ci się trafił.
  • #217 7457160
    sebek_sc
    Poziom 11  
    Posty: 20
    To jest wyświetlacz LS020 na sterowniku Sharpa. Odpaliłem już ten wyświetlacz ale na programowym SPI a nie na sprzętowym ARM-owskim. I rzeczywiście po zainicjowaniu pokazuje śmieci i jak narazie umiem go wyczyścić kolorem. Teraz biorę się za znaki ;D.
    Jakby ktoś miał jakieś wątpliwości to RESET i CS są aktywne w stanie niskim (to dla tych którzy zaczynają dopiero zabawę z tym wyświetlaczem tak jak ja).

    Pozostaje tylko zagadka czemu to nie działa na sprzętowym SPI. Kod jak w poprzednim poście.
  • #218 7479084
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    Albo zle skonfigurowany SPI (kolejność bitów itp) albo po prostu sprzętowy SPI jest za szybki. nie znam się na armach ale jak męczyłem się z AVRami to właśnie z konfiguracją miałem problem.Zawsze możesz podpiąć analizator stanów logicznych i porównać różnce pomiedzy programowym a sprzetowym wysyłaniem danych
  • #219 7480891
    sebek_sc
    Poziom 11  
    Posty: 20
    At91SAM7S pozwala na 4 tryby pracy sprzętowego SPI (wydaje mi się że ten wyświetlacz pracuje w trybie MODE0). Oprócz tego można ustawić prędkość transmisji oraz opóźnienie włączenia CS itp. Także jest to moim zdaniem porządne narzędzie - tylko jak to zwykle bywa zbyt duża dowolność powoduje problemy w uruchomieniu (za dużo opcji :D). Narazie śmigam na programowym SPI ale z przyjemnością się dowiem jak należało je ustawić. Żeby nie było, że idę na łatwiznę to się pochwale, że próbowałem różne tryby, różne prędkości z opóźnieniami, bez opóźnień i nic.
  • #220 7670508
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    Mam pytanko co do długości kabelka przylutowanego do LCD. Czy zauważyliście jakieś problemy przy długości taśmy np 50cm?
  • #221 7673832
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2813
    sebek_sc napisał:
    At91SAM7S pozwala na 4 tryby pracy sprzętowego SPI (wydaje mi się że ten wyświetlacz pracuje w trybie MODE0). Oprócz tego można ustawić prędkość transmisji oraz opóźnienie włączenia CS itp.
    ...

    Wszystkie AVR mają takie możliwości, nawet z poziomu Bascoma.
  • #222 7676891
    Lucas4444
    Poziom 2  
    Posty: 3
    Ostatnio kupiłem na allegro S65 oraz swoją pierwszą ATMEGĘ 16.
    Mam wobec tego kilka pytań.
    - Czy do samego wyświetlenia czegokolwiek potrzebny jest kwarc?
    - W kodzie programu znajduję: .EQU XTAL=7372800 (rozumiem, że jest to częstotliwość taktowania; bliska 8MH), czy 1000000 odpowiada 1MH -> pracy bez kwarcu?
    - Czy korzystanie z pinów portów B i D (RESET PD4, RS PD7, CLK PB6, DATA PB5, CS PB4) jest właściwe, jeżeli odpowiednio zmienilem piny portów w deklaracji programu?

    To mój pierwszy post proszę o zwięzłą wypowiedź na temat :)
  • REKLAMA
  • #223 7676942
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2813
    Lucas4444 napisał:
    Ostatnio kupiłem na allegro S65 oraz swoją pierwszą ATMEGĘ 16.
    Mam wobec tego kilka pytań.
    - Czy do samego wyświetlenia czegokolwiek potrzebny jest kwarc?
    - W kodzie programu znajduję: .EQU XTAL=7372800 (rozumiem, że jest to częstotliwość taktowania; bliska 8MH), czy 1000000 odpowiada 1MH -> pracy bez kwarcu?
    - Czy korzystanie z pinów portów B i D (RESET PD4, RS PD7, CLK PB6, DATA PB5, CS PB4) jest właściwe, jeżeli odpowiednio zmienilem piny portów w deklaracji programu?

    To mój pierwszy post proszę o zwięzłą wypowiedź na temat :)

    Częstotliwość 1MHz nie odpowiada pracy bez kwarcu, 7.2738MHz też nie odpowiada, że jest kwarc. Te częstotliwości mówią tylko kompilatorowi i potem procesorowi, z jaką częstotliwością ma pracować procesor. To czy będzie to zegar wewnętrzny, czy zewnętrzny rezonator kwarcowy ustawia sie na tzw. fuse bitach.
    Do pracy samego wyświetlacza nie jest potrzebny kwarc.
  • #224 7679612
    Lucas4444
    Poziom 2  
    Posty: 3
    Mógłby ktoś doradzić czego jeszcze nie zrobiłem albo co zrobiłem źle, że wyświetlacz nic nie wyświetla?

    1. Zmieniłem porty / piny na te których używam
    2. Zasiliłem LCD (2,89 V - stabilizator regulowany)
    3. Próbowałem zmieniać wartości EQU. XTAL, CZESTOTLIWOSC, ZEGAR jednak nie wiem na jakie i tak mogę bardzo długo...
    -----------------------------
    Czy ktoś mógłby mi posłać prosty program napisany w AVR Studio, który by uruchomił LCD... Męczę się z tym już jakiś czas i nie daje rady :(
    Atmega 16, wejścia LCD:
    Reset - PD4
    RS - PD7
    CLK - PB7
    DATA - PB5
    CS - PB4

    -----------------------------
    Proszę niech ktoś pomoże...
    czy kod Kranza może zadziałać po przeróbce na atmedze 16?
    Zmieniłem piny np. LCD_CS -> PB4, porty DDRB -> DDRD

    Czy to wystarczy? A co z konfiguracją?
    #ifndef XTAL
    #define XTAL 16000000 // must be changed
    #endif
    #define DELAY_ONE_MILLISECOND (XTAL / 4 / 1000) // must > 8

    na ile powinienem zmienić XTAL lub DELAY_ONE_MILLISECOND, żeby działało - nie mam kwarcu. Programuje w AVR Studio. LCD S65

    Co do ustawienia fuse bitów:
    Int RC Osc. 1MHz: Start-up time: 6CK + 64ms
    Boot Flash section size=1024
    Brown-out detection level at 2.7V
  • #225 7681761
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2813
    Może najpierw napisz jaki masz wyświetlacz, były 3 typy w S65.
  • #226 7681802
    Lucas4444
    Poziom 2  
    Posty: 3
    S65 LS020

    W programatorze mam ustawione dane:
    Oscillator: STK500 OscL 1.229 MHz
    Clock: ISP Freq: 115.2 kHz

    Zmieniłem jeszcze w wewnętrznym kwarcu uC:
    Int RC Osc 8MHz; Start-up time 6CK +64ms;
    oraz Oscillator Calibration byte: Calibrate for frequency 8.0 MHz - Flash

    Dodam, że jestem pewien połączeń atmegi z LCD, na każdym pinie uzyskuje napięcie 2,8V
    + zasilanie 2,89
  • #227 7698749
    comit
    Poziom 12  
    Posty: 42
    Ocena: 4
    Witam szanownych kolegów przerabiających temat LCD s65 i ATmega...
    Otóż mam następujący problem:
    W większości dostępnych mi źródełek informacyjnych znajduję w zasadzie jeden wzorzec programowy dotyczący obsługi wyświetlacza LS020XXX, wszystko jest wzorowane na programie oscyloskopu ze stronki [url=]http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=8&Itemid=49[/url]
    Moje pytanko jest następujące:
    •W jaki sposób umieścić jakąkolwiek grafikę (obraz, tło, itp)
    Przydał by się przykład w programie
    •W jaki sposób zmienić czcionkę pisanego tekstu
    ( w oryginale jest wyremowana część funkcji a nie bardzo wiem jak sie do tego zabrać)
    •W jaki sposób stworzyć czcionkę graficzną (jakieś wizualnie ładniejsze znaki do wyświetlenia)

    Załączam moje babranko programowe przedstawiające działający termometr tekstowy działający na mega32.

    Dzięki za ewentualną pomoc
    Załączniki:
    • kod.txt (20.01 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #228 7700368
    sebek_sc
    Poziom 11  
    Posty: 20
    Na wyświetlacz wysyłasz po poprawnej inicjalizacji i po wysłaniu komendy MEMWR (opis na stronce: http://www.superkranz.de/christian/S65_Display/DisplaySoftware.html) piksel po pikselu- następuje autoinkrementacja. Ściągę z kolorami pikseli masz tutaj: http://www.juras-projects.org/eng/lcd.php. Jak wrzucić grafikę?? - są programiki do konwersji zdjęć do tablicy języka C (np. BMPConverter napisany chyba przez jakiegoś użytkownika elektrody-wystarczy pogooglać) lub można się pokusić o ładowanie plików *.bmp - ale to już troche bardziej zaawansowane).
    Powodzenia
  • #232 7871845
    pegaz517
    Poziom 11  
    Posty: 39
    Nikomu nie udało się odpalić LCD od S75 ? Mam jeden i chciałbym go wykorzystać.
  • #233 8025644
    sebek_sc
    Poziom 11  
    Posty: 20
    Witam,
    Stłukłem, swój stary wyświetlacz LS020B8UD06 04K011800A L, oczywiście moje pytanie nie brzmi czy można go posklejać. Kupiłem dwa nowe o oznaczeniu LS020B8UD06 05F000141A Q. I okazało się że nie pracują poprawnie. Po inicjalizacji pojawiają się prawidłowo śmieci na wyświetlaczu ale są w stosunku do poprzedniego tak jakby wyblakłe. Potem nie zależnie jakim kolorem bym go nie czyścił to zawsze to jest jakiś mdły odcień wpadający w szary. Próbowałem go programowo wyłączać:
    lcd_wrcmd16(0xEF90); //display off
      lcd_wrcmd16(0x0040);
     
      lcd_wrcmd16(0xEF90); //display on
      lcd_wrcmd16(0x0000);
     
      lcd_wrcmd16(0xEF90); //display off white
      lcd_wrcmd16(0x0080);

    Wyświetlacz reaguje ale zmienia się jedynie odcień szarości - nigdy nie jest to czarny.
    Proszę o wszelką pomoc. Bo moje pomysły się wyczerpały: zwolniłem transmisje Spi, zmniejszyłem taśmę, wyłączałem i włączałem podświetlanie, próbowałem ustawień typu kontrast, paleta kolorów. Na obu nowych wyświetlaczach jest to samo, jak włożę mój stary LCD (rozlany) to na nie rozlanym obszarze oczywiście ten sam program działa dobrze.
  • #235 8027645
    sebek_sc
    Poziom 11  
    Posty: 20
    Korzystałem z tej stronki i próbowałem zmienić kontrast - do R24h wpisywałem albo 00h albo ffh i nie było widać różnicy. Chyba, że są jakieś magiczne wartości, które to zmieniają?
    Możliwe żeby wyświetlacze były walnięte? Nie mam niestety jak ich sprawdzić w telefonie.
  • #236 8028445
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    Wrzuć zdjęcie tylnej strony wyświetlacza.
  • #237 8028879
    sebek_sc
    Poziom 11  
    Posty: 20
    Dzięki J_Bravo za zainteresowanie tematem. Oto fotki (dwie pierwsze to wygląd wyświetlacza po inicjalizacji, dwie następne wygląd wyświetlacza od spodu, ostatnie wygląd mojego starego wyświetlacza po inicjalizacji - bez podświetlania).
    LCD od S65 sterowany przez ATmega16. LCD od S65 sterowany przez ATmega16. LCD od S65 sterowany przez ATmega16. LCD od S65 sterowany przez ATmega16. LCD od S65 sterowany przez ATmega16.

    Mnie jedyne co przychodzi na myśl to kupić jakiś złomowaty telefonik na allegro i sprawdzić czy wyświetlacze są dobre. Jaka jest szansa że kupując S65 kupię z wyświetlaczem LS020??
  • #238 8030892
    Freddy
    Poziom 43  
    Posty: 19997
    Pomógł: 1394
    Ocena: 2813
    sebek_sc napisał:

    ...
    Mnie jedyne co przychodzi na myśl to kupić jakiś złomowaty telefonik na allegro i sprawdzić czy wyświetlacze są dobre. Jaka jest szansa że kupując S65 kupię z wyświetlaczem LS020??

    Szansa wynosi 33%.
  • #239 8031101
    J_Bravo
    Poziom 28  
    Posty: 1373
    Pomógł: 36
    Ocena: 161
    Tak myślałem. Także mam problem z takim wyświetlaczem. Nie działa w nim zmiana kontrastu ani Negative/Positive Mode . Jak będziesz kupował to kup LS020 ale bez "zielonej wstawki" na tylnej stronie.
  • #240 8031212
    sebek_sc
    Poziom 11  
    Posty: 20
    Dzięki za radę. Właśnie ten bez zielonej wstawki mi się potłukł. Nie ma ktoś namiarów skąd zdobyć takie cudo?

    Freddy to, że są trzy rodzaje wyświetlaczy Sharp, Hitachi i Epson nie znaczy, że prawdopodobieństwo wylosowania sharpa jest równe 33% gdyż niektóre typy wyświetlaczy mogły być częściej stosowane w danym modelu. Nie wiem ile w tym prawdy ale słyszałem, że Sharp jest najbardziej popularny co zwiększa prawdopodobieństwo trafienia. Spodziewałem się, że ktoś mi podpowie że np. w S65 były częściej sharpy a w m65 np. Epsony.

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.
Wygenerowane przez model językowy.
REKLAMA