Czy da się uruchomić taki lcd w Bascom avr? ILI9341
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Cześć
Orientuje się ktoś z Was czy ten wyświetlacz da się uruchomić w Bascom AVR i czy w ogóle jest jakaś biblioteka do obsługi tego wyświetlacza?
Sprzedający podał takie dane techniczne:
Rozdzielczość: 240(RGB)x320
Układ sterownika: ILI9341
Napięcie wejściowe: 5 V/3,3 V
Kolor: 262 tys./65 tys
Interfejs: 4-przewodowy SPI
Niestety na pcb wyświetlacze nie pisze nic, jaki to sterownik itd. Próbowałem wyszukać jakąś bibliotekę czy też działający program do obsługi wyświetlacza ze sterownikiem ILI9341, ale jest wiele takich wyświetlaczy tylko ze one mają inne wyprowadzenia (włącznie z portami DB0 - DB15)
Orientuje się ktoś z Was czy ten wyświetlacz da się uruchomić w Bascom AVR i czy w ogóle jest jakaś biblioteka do obsługi tego wyświetlacza?
Sprzedający podał takie dane techniczne:
Rozdzielczość: 240(RGB)x320
Układ sterownika: ILI9341
Napięcie wejściowe: 5 V/3,3 V
Kolor: 262 tys./65 tys
Interfejs: 4-przewodowy SPI
Niestety na pcb wyświetlacze nie pisze nic, jaki to sterownik itd. Próbowałem wyszukać jakąś bibliotekę czy też działający program do obsługi wyświetlacza ze sterownikiem ILI9341, ale jest wiele takich wyświetlaczy tylko ze one mają inne wyprowadzenia (włącznie z portami DB0 - DB15)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Wejdź na forum bascom i w wyszukiwaniu wpisz model "ILI9341" . Będziesz miał masę tematów z bibliotekami .
Tu masz przykład jak ja używam dla atmega328
Ściągnij i sprawdź czy będzie chodzić ta biblioteka :
Tu masz przykład jak ja używam dla atmega328
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $REGFILE = "M328PDEF.DAT"
- $CRYSTAL = 20000000
- $BAUD = 9600
- $HWSTACK = 80
- $SWSTACK = 80
- $FRAMESIZE = 80
- ENABLE INTERRUPTS
- '------------------------------------------------------------------------------------------------------------------
- '--------------------------------------------- UART ---------------------------------------------------------------
- '------------------------------------------------------------------------------------------------------------------
- CONFIG COM1 = 9600 , SYNCHRONE = 0 , PARITY=NONE , STOPBITS=1 , DATABITS=8 , CLOCKPOL=0
- OPEN "COM1:" FOR BINARY AS #1
- CONFIG SERIALIN0 = BUFFERED , SIZE = 30 , BYTEMATCH = 13
- DIM COM1 AS STRING*30
- DIM RS232 AS LONG
- ENABLE URXC
- '----------------------------------------------------------------------------------------------------------------------------
- '------------------------------------------------- LCD 240x320 --------------------------------------------------------------
- '----------------------------------------------------------------------------------------------------------------------------
- 'Designate the connection port of LCD. Cs1 = [CS] , Rst = [RESET] , A0 = [DC] , Si = [SDI] , Sclk = [SCK]
- CONFIG Graphlcd = Color , Cs1 = PortB.7 , Rst = PortB.6 , A0 = PortB.5 , Si = PortB.4 , Sclk = PortB.3
- CONST Portrait = 0
- CONST Rotate_180 = 1
- DIM Offset256 As Byte
- $LIB "glcd-ILI9341_2R8_240x320.lib"
- INITLCD
- CLS
- SETFONT Color8x8
- CONST Black = &B0000_0000
- CONST Red = &B1110_0000
- CONST Green = &B0001_1100
- CONST Blue = &B0000_0011
- CONST Magenta = &B1110_0011
- CONST Yellow = &B1111_1100
- CONST Cyan = &B0001_1111
- CONST White = &B1111_1111
- CONST Orange = &B1111_0100
- CONST Brightgreen = &B0011_1110
- CONST Brightblue = &B0001_1111
- CONST Darkred = &B1100_0000
- CONST Darkgreen = &B0001_0100
- CONST Darkblue = &B0000_0010
- OffSET256 = 1
- BOXFILL(0 , 0) -(64 , 240) , Black
- OFFSET256 = 0
- BOXFILL (0 , 0) -(255 , 240) , Black
- '----------------------------------------------------------------------------------------------------------------------------
- '------------------------------------------------- PROGRAM ------------------------------------------------
- '----------------------------------------------------------------------------------------------------------------------------
- DO
- LCDAT 20 , 0 ,"RS232- "; RS232 ; " " , WHITE ,BLACK
- LOOP
- END
- '-----------------------------------------------
- SERIAL0CHARMATCH:
- PUSHALL
- INPUT #1,COM1 NOECHO
- RS232=VAL(COM1)
- POPALL
- RETURN
- '----------------------------------------------------------------------------------------------------------------------------
- $INCLUDE "color8x8.font"
- '----------------------------------------------------------------------------------------------------------------------------
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 06 mar 2024, 22:23 przez tomaszdko, łącznie zmieniany 1 raz.
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Dziękuję Ci
Zamówię ten wyświetlacz i przetestuję
Zamówię ten wyświetlacz i przetestuję
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
To są fajne wyświetlacze , ja używam 3.2 cala ale chyba nawet są 4 calowe .
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Zamówiłem na ali ten 3,2 cala
Pisze, że ma sterownik ILI9341, interfejs 4 linie SPI.
Pisze, że ma sterownik ILI9341, interfejs 4 linie SPI.
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Cześć
Dzisiaj przyszedł do mnie ten wyświetlacz.
Działa na tej bibliotece, którą mi dałeś. Czcionka ta 8x8 ładna ale malutka, natomiast wielkość tej 16x16 jest w sam raz, tylko między literkami za duże odstępy, jak na mój gust.
Ale ważne że działa
Ac czy masz jakiś sprawdzony konwerter 5V na 3,3V na którym ten wyświetlacz działa?
Ja użyłem na próbę konwertera ST2378E i działa wyświetlacz.
Ale jest coś nie tak z wyświetlaniem, bo napisy nie są wyświetlane na całej szerokości wyświetlacza, tylko tak jakby obcinało jakieś 25% wyświetlacza po prawej stronie. Dlaczego tak się dzieje?
Dzisiaj przyszedł do mnie ten wyświetlacz.
Działa na tej bibliotece, którą mi dałeś. Czcionka ta 8x8 ładna ale malutka, natomiast wielkość tej 16x16 jest w sam raz, tylko między literkami za duże odstępy, jak na mój gust.
Ale ważne że działa
Ac czy masz jakiś sprawdzony konwerter 5V na 3,3V na którym ten wyświetlacz działa?
Ja użyłem na próbę konwertera ST2378E i działa wyświetlacz.
Ale jest coś nie tak z wyświetlaniem, bo napisy nie są wyświetlane na całej szerokości wyświetlacza, tylko tak jakby obcinało jakieś 25% wyświetlacza po prawej stronie. Dlaczego tak się dzieje?
Ostatnio zmieniony 16 mar 2024, 11:44 przez Michał6201, łącznie zmieniany 1 raz.
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Czcionka przy dużych znakach ma odstępy to fakt ale mi to nie przeszkadza .Poszukaj na forum bascom innych bibliotek może ktoś coś napisał takiego by było pod Ciebie dobre .
Co do konwentera to nie nie pamiętam bym używał , miałem ATmega ustawioną na 3V a ogólnie używam ATxmega więc nie mam problemu z zasilaniem a raczej napięciem logicznym na SPI .
Sam LCD możesz zasilać 5V ale logika to 3V . Możesz użyć dzielnik rezystorowy i trochę mniej "elegancko" ale wiem że tak też robią :
Co do konwentera to nie nie pamiętam bym używał , miałem ATmega ustawioną na 3V a ogólnie używam ATxmega więc nie mam problemu z zasilaniem a raczej napięciem logicznym na SPI .
Sam LCD możesz zasilać 5V ale logika to 3V . Możesz użyć dzielnik rezystorowy i trochę mniej "elegancko" ale wiem że tak też robią :
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Dziękuję
To już sobie ogarnę.
Ale mam pewien problem z wyświetlaniem na pełnym ekranie. Tzn. obcina od prawej strony na całej wysokości wyświetlacza tak z 25%. Nie ma pełnej szerokości.
Czym to może być spowodowane? Gdzieś jest jakiś błąd? Chciałem wyświetlić napis: TEMP 22.5stC współrzędne 20 , 250
Więc powinien wyświetlić się cały napis po prawe stronie wyświetlacza. A tu obcina.
A jak ustawię wyświetlacz w pionie, to wyświetla na całej szerokości ale znów od dołu brakuje 25% ekranu. Czy to wina biblioteki?
To tak jakby wyświetlanie tekstu odbywało się na powierzchni 240x240
A wyświetlacz jest 320x240. Jak to naprawić?
To już sobie ogarnę.
Ale mam pewien problem z wyświetlaniem na pełnym ekranie. Tzn. obcina od prawej strony na całej wysokości wyświetlacza tak z 25%. Nie ma pełnej szerokości.
Czym to może być spowodowane? Gdzieś jest jakiś błąd? Chciałem wyświetlić napis: TEMP 22.5stC współrzędne 20 , 250
Więc powinien wyświetlić się cały napis po prawe stronie wyświetlacza. A tu obcina.
A jak ustawię wyświetlacz w pionie, to wyświetla na całej szerokości ale znów od dołu brakuje 25% ekranu. Czy to wina biblioteki?
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- CONST Portrait = 1
A wyświetlacz jest 320x240. Jak to naprawić?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 16 mar 2024, 12:42 przez Michał6201, łącznie zmieniany 1 raz.
- tomaszdko
- Posty: 78
- Rejestracja: 06 gru 2018, 19:58
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Wszystko jest ok . Chodzi o offset na lcd , w konfigu https://www.elektroda.pl/rtvforum/topic3796919.html
Obraz jest jakby podzielony na dwa niezależne od siebie . Mi to nie przeszkadza ale tak jak pisałem wejdź na forum bascom i tam znajdziesz wiele bibliotek .
Nie zdziwię się że już jest jakaś co wyeliminowała ten "problem"
Na yt są pokazane w bascom https://www.youtube.com/watch?v=gpCQ-tjvFco
Tu masz link do bascoma forum do biblioteki , sprawdź lub poszukaj innych https://www.mcselec.com/index2.php?opti ... 341+offset
Obraz jest jakby podzielony na dwa niezależne od siebie . Mi to nie przeszkadza ale tak jak pisałem wejdź na forum bascom i tam znajdziesz wiele bibliotek .
Nie zdziwię się że już jest jakaś co wyeliminowała ten "problem"
Na yt są pokazane w bascom https://www.youtube.com/watch?v=gpCQ-tjvFco
Tu masz link do bascoma forum do biblioteki , sprawdź lub poszukaj innych https://www.mcselec.com/index2.php?opti ... 341+offset
- Michał6201
- Posty: 127
- Rejestracja: 03 paź 2015, 20:07
Re: Czy da się uruchomić taki lcd w Bascom avr? ILI9341
Nie znalazłem tam biblioteki w tym linku.
To jak ustawić ten offset alby zapisywało cały ekran?
A może za duży ten ekran dla zwykłej atmegi i trzeba jakiś mniejszy podłączyć?
Zmieniłem ten offset ze strony elektrody, który podał tam Bartek
To teraz wyświetla na odwrót - czyli tylko 25% wyświetlacza po prawej stronie.
Używam Atmega128A
To cały mój kod testowy:
To jak ustawić ten offset alby zapisywało cały ekran?
A może za duży ten ekran dla zwykłej atmegi i trzeba jakiś mniejszy podłączyć?
Zmieniłem ten offset ze strony elektrody, który podał tam Bartek
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Offset256 = 0
- Boxfill(0 , 0) -(255 , 240) , Black
- Offset256 = 1
- Boxfill(0 , 0) -(65 , 240) , Black
Używam Atmega128A
To cały mój kod testowy:
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $regfile = "m128def.dat"
- $crystal = 16000000
- $hwstack = 128
- $swstack = 128
- $framesize = 128
- '----------------------------------------------------------------------------------------------------------------------------
- '------------------------------------------------- LCD 240x320 --------------------------------------------------------------
- '----------------------------------------------------------------------------------------------------------------------------
- 'Designate the connection port of LCD. Cs1 = [CS] , Rst = [RESET] , A0 = [DC] , Si = [SDI] , Sclk = [SCK]
- 'Designate the connection port of LCD: Cs1 = [CS] , Rst = [RESET] , A0 = [DC] , Si = [SDI] , Sclk = [SCK]
- CONFIG Graphlcd = Color , Cs1 = PortB.0 , Rst = PortB.4 , A0 = PortB.3 , Si = PortB.2 , Sclk = PortB.1
- CONST Portrait = 0
- CONST Rotate_180 = 1
- DIM Offset256 As Byte
- $LIB "glcd-ILI9341_2R8_240x320.lib"
- INITLCD
- CLS
- SETFONT Color8x8
- 'SETFONT Color16x16
- CONST Black = &B0000_0000
- CONST Red = &B1110_0000
- CONST Green = &B0001_1100
- CONST Blue = &B0000_0011
- CONST Magenta = &B1110_0011
- CONST Yellow = &B1111_1100
- CONST Cyan = &B0001_1111
- CONST White = &B1111_1111
- CONST Orange = &B1111_0100
- CONST Brightgreen = &B0011_1110
- CONST Brightblue = &B0001_1111
- CONST Darkred = &B1100_0000
- CONST Darkgreen = &B0001_0100
- CONST Darkblue = &B0000_0010
- 'OffSET256 = 1
- 'BOXFILL(0 , 0) - (320 , 320) , Red ' 64 , 240
- 'OFFSET256 = 0
- 'BOXFILL (0 , 0) - (320 , 320) , red ' 255 , 240
- Offset256 = 0
- Boxfill(0 , 0) -(255 , 240) , Black
- Offset256 = 1
- Boxfill(0 , 0) -(65 , 240) , Black
- '----------------------------------------------------------------------------------------------------------------------------
- '------------------------------------------------- PROGRAM ------------------------------------------------
- '----------------------------------------------------------------------------------------------------------------------------
- DO
- LCDAT 1 , 1 , "1234567890123456789012345aaaaaaaaaaaa" , CYAN , BLACK
- Lcdat 224 , 1 , "123456789012345678" , Cyan , Black
- Lcdat 304 , 1 , "123456789012345678" , Cyan , Black
- LOOP
- END
- '----------------------------------------------------------------------------------------------------------------------------
- $INCLUDE "color8x8.font"
- '$INCLUDE "color16x16.font"
- ' ---------------------------------------------------------------------------------------------------------------------------