Fórum témák
» Több friss téma |
Sanszos, hogy az SPI csak az SD kártyához kell. Egyébként elképzelhető, hogy vagy a kijelzőn, vagy a allatta a panelre felírva megtalálod a vezérlő IC, vagy a kijelző üveg típusát. Ha látsz rá módot, megpróbálhatod óvatosan levenni.
Nekem is így történt a vezérlő IC beazonosítás. Utána persze pöccre indult az Arduino lib nyers avr C-re portolás után.
Ha a belinkelt helyről vetted, akkor 2015. szeptember óta nagy valószínűséggel ILI9341 vezérlővel van szerelve (a lap alján a beírásokat végig kell böngészni, akiknek a fenti időpont után sikerélményeik voltak, azok ezt a típust emlegetik). Ehhez van Adafruit leírás és programkönyvtár - már csak át kell írni...
Meg is találtam a kapcsolását, tényleg az SD kártyához vezetnek a szálak, bár ez a képen is látszik.
Meg lefejtettem a kijelzőt is a panelról. LCM24011-A van ráírva. Én sokra nem mentem ezzel az infóval... Szerintem maradok az ILI9341 adatlapjánál.
Ha gondolod, elkuldhetem tango2-ban a kiosztasat.
A teljes lefejtesnek tobbek kozott az az elonye, hogy a touchscreen kivezeteseit onalloan kezelheted, nem a vezerlo/adatvonalakkal multiplexelve. Meg a LEDeket magad tudod vezerelni, kapcsolhatod a hattervilagitast, PWM-ezheted, stb. De komolyan mondod, hogy ez a shield ment az SPFDxxxx meghajtoval?
Szerintem ILI9341-gyel ment. Mert az állítólagos S6D04H0X könyvtár is Arduino-ban megnyitva ILI9341 jelzéssel van ellátva. Úgyhogy elkezdem azt tanulmányozni, gyakoribb vezérlőnek is látom a többinél. De amúgy sem fogom sokáig ezt a kijelzőt használni, majd nézek helyette valami jobbat pl. a buydisplay.com-ról. Csak először ezt akarom "tönkretenni".
Sziasztok, kezdőtől egy kérdés:
adva van ez a panel a maga 32 két csatlakozójával. A neten találni hozzá bekötéseket (bár nem túl sokat): itt pl. egy STM32-es fejlesztőpanellel megoldva. A kérdésem az lenne, hogy az itt látható képen (ez egy másik kép) látható shift registernek mi lehet a feladata? A másik kérdésem az lenne, hogy a mikrokontroller Pic v. Avr lehet? Köszi! Sajnos egyáltalán nem értek ehhez dologhoz, viszont rettentően érdekel... A hozzászólás módosítva: Ápr 8, 2016
Melyik részhez nem értesz? A kijelzőkhöz vagy a mikrokontrollerekhez? Ha egyikhez sem, nem javaslom ezzel kezdeni, sok buktatót tartogat.
Szerintem PIC (Microchip logóját vélem felfedezni rajta), a típusát nem látom.
De tényleg ne TFT-vel kezdj. Max Arduino-n kezdheted azzal előregyártott könyvtárakat használva, feltéve ha van már valamilyen programozási nyelv ismeret.
Köszi a válaszokat!
Arduinoval, karakteres LCD-vel csináltam már dolgokat. Az is nagyon klassz, és bizonyos célra a legtökéletesebb, de a grafikus érdekesebbnek tűnik. Mindenképpen a gyári könyvtárakat hívnám segítségül.
Ebben az esetben javaslom kezdésnek az ILI9341-es vezérlővel szerelt kijelzőket, azokat viszonylag egyszerű beüzemelni. Van, amelyiken van SD kártya folgalat és érintőpanel is. Külön-külön mindhárom rész használható, nem feltétlen kell minden részét beüzemelni.
Értem, köszi.
Akkor szerintem beszerzek egy ilyet. (Közben most az jutott eszembe, hogy van valahol a fiókomban egy olyan Nokia kijelzőm is, amit én bontottam anno egy 3110-esből: az is tökéletes erre a célra. Megkeresem!)
Sziasztok!
Próbált itt már valaki egy TFT-ről a képet visszaolvasni? Azaz a képernyőre kirajzolt képet szépen pixelenként beolvasni a mikrovezérlőbe. Készítek most egy berendezést amelyhez majd fog készülni egy kezelési útmutató, amihez tök jó lenne ha a magyarázó ábrákhoz a képeket nem fényképezőgéppel kellene elkészíteni, hanem egyszerűen csak visszaolvasná a PIC a kész képet a TFT-ről és ráírná az SD-kártyára egy bmp fájlba. Van egy 480x320 pixeles kijelzőm R61581-es vezérlővel, melynek itt az adatlapja: Bővebben: Link Elvileg egy 0x2E parancsot kell neki küldeni, aztán lehet visszaolvasgatni a pixeleket csak nem a WR lábat kell billegtetni mint íráskor, hanem az RD lábat (az adatlap 127. oldalán írja). Így próbálkoztam:
Szerintem ennek jónak kellene lennie az adatlapban írtak alapján, viszont a PORTB-ről konstans nullát olvas be a PIC.
Amíg írásnál elég a stobe jel, olvasásnál nem emelheted vissza az RD-r, mert akkor letiltja a kimenetet. Tehát RD le -> időt kivárni (tacc) -> adat olvasás -> RD fel.
Az adatlap szerint a tacc 110ns, de betettem 10us késleltetést és a PORTB-t akkor olvasom be amikor az RD láb alacsony szintű:
Sajnos azonban így is nulla jön vissza.
Én ránéznék az egyik lábra szkóppal, vagy egy pár kilos ellenállással felhúznám a lábat, ellenőrizni a port beállításai jók-e (analóg, PPS beállítások), persze az LCD-t ilyenkor nem muszáj engedélyezni.
Ránéztem. Átírtam a programot így:
A D0-D7 csatornák a kijelző alsó nyolc bitje (DB0-DB7), aztán RS, WR és RD lábak látszanak a szkópon. A D11 és D12 csatornákat a panelon lévő zöld és piros LED-ekre kötöttem csak azért, hogy könnyebb legyen rátriggerelni a kirajzolási (zold) és visszaolvasási (piro) eseményekre. Így az alábbi jelalakokat kapta el a szkóp: A hozzászólás módosítva: Júl 28, 2016
És akkor már azért olvas be valamit a PIC. Az ábrán látszik, hogy a bejövő jelek változnak. Nem vagyok nagy szakértő, az adatlapot sem olvastam el teljesen, de nem vagyok biztos benne, hogy ugyanabban a formában kapod vissza az adatot ahogy beírtad.
Csináltam egy másik mérést is, itt már kilenc különböző színt toltam ki a kijelzőre:
Sajnos a kijelzőről vissza már teljesen más jön:
Nem lenne gyorsabb valamilyen rajzolóprogramban megcsinálni? Már rég végeztél volna vele.
Nekem első olvasatra az jött le az adatlapból (bár lehet csak rosszul értelmezem), hogy míg írni több formátumban lehet, olvasni adott formátumban lehet csak. Gondolom 16 bites interfészt használsz, akkor az 53. oldal 20. ábrán csak kétféle visszaolvasási lehetőség van, de ezt a szkóp képéről nehéz ellenőrizni.
Itt lehet a megoldás! Most beolvastam a PIC-kel háromszor annyi szót mint amennyit kiküldtem. Egyenlőre próbálom megfejteni, de szerintem egyikre sem stimmel.
A hozzászólás módosítva: Júl 29, 2016
Azt hiszem rájöttem!
Először is küld egy dummy szót, aztán három szóban elmondja két pixelnek a színét. Igen ám, de a pirosat, a zöldet és a kéket is 6 biten küldi vissza, hiába küldtem én ki korábban a kijelzőre R5-G6-B5 módban. Így már mindjárt világos! Már csak egy for ciklus, némi bitttologatás, a bmp fájl felépítése és már kész is van! A hozzászólás módosítva: Júl 29, 2016
Épp írni akartam.
A régi MPLAB-ból ki lehetett menteni a memóriatartalmat txt állományba, majd beolvasni excelbe. Talán úgy egyszerűbb lett volna hasonlítgatni. A hozzászólás módosítva: Júl 29, 2016
Az MPLABX-ből is ki lehet exportálni, de most rajzolgattam inkább.
Most vettem csak észre, hogy csoda hogy működik a kis próbaprogramom, hiszen előbb küldöm ki a TFTWriteCmd(0x2C) parancsot az írás előtt, minthogy a PIC lábait újra kimenetté állítanám.
Na végre sikerült egy valamirevaló eredményt elérnem, egészen idáig ezzel szenvedtem...
Sajnos a képernyő egyes részeit sőt, van hogy egész sorokat elront. És úgy tűnik, hogy a beolvasás sikeressége függ a beolvasott képrészlet tartalmától! A kép jobb felső sarkában van pár felirat meg négy téglalap, azokat mindig elrontja. Mutatok pár képet meg egy fotót is hogy milyennek kellene lennie a képnek:
Tettem még egy próbát: eltüntettem a bal felső sarokban a szövegeket meg a téglalapokat, aztán eltüntettem a menüt, majd a konzol keretét, végül a konzolt is és csak a háttérkép maradt. Az utóbbi kettő képernyő beolvasása már hibátlan lett! Ez hihetetlen... Hogy a bánatban függhet a képernyő beolvasásnak sikeressége a képernyő tartalmától?!
Lehet valami képfrissítésbe szalad bele. Olvasásnál egy ciklussal le van maradva, mivel a RD jelre teszi át a memóriából az olvasási regiszterbe, majd onnan olvas (ezért van a dummy olvasás).
Valami képfrissítésbe szalad bele? Ezt hogyan érted? A képernyő olvasása közben nem írok a kijelzőre ha esetleg ilyesmire gondolsz. Amíg nem olvasta be a teljes kijelzőt, addig nem rajzol rá semmit, végig olvasási módban van a TFT.
Amúgy kipróbáltam hogy írok is közben a kijelzőre, a konzol legalján egy üzenetben kiírattam vele hogy hány százaléknál tart a képernyőmentés (mert amúgy jó néhány másodperc) és még így is működött, bár pont ugyan olyan hibákkal. Aztán rájöttem hogy nem sok értelme van a képernyő beolvasása közben rajzolni is rá... |
Bejelentkezés
Hirdetés |