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

Atmega328P - Nie mogę znaleźć kodu do kalibracji panela dotykowego na ADS7843

oficerJK 23 Lut 2015 23:02 1260 11
  • #1 14470968
    oficerJK
    Poziom 10  
    Witam,
    Czy może ktoś przerabiał kalibrację ekranu dotykowego 2,4 " z kontrolerem dotyku ADS7843. Sam dotyk u mnie działa ale czasem mam błędne odczyty i nigdzie nie mogę znaleźć kodu do kalibracji dotyku .
    Kod w języku C dla Atmegi 328P ale może być dla innej i tak jest to komunikacja po SPI .
  • #2 14471042
    BlueDraco
    Specjalista - Mikrokontrolery
    Poszukaj np. demo do LPC1768 Mini-DK2 z wyświetlaczem HY28B.
  • #4 14472313
    oficerJK
    Poziom 10  
    Wielkie dzięki, ale to niestety są ARM-y a ja w nich nie jestem dobry , proszę o coś na AVR-y , wiele szukałem i też zazwyczaj natrafiam na ARM-y, no i jak tu dać informację o rozmiarze wyświetlacza ?

    Z góry dzięki
  • #5 14472573
    pimpuk
    Poziom 23  
    A kolega korzysta z gotowych bibliotek, czy pisze program w całości od początku?
    Bo podejrzewam, że nie wyważasz otwartych drzwi?
    Jeśli posiadasz już jakieś kawałki kodu, to proszę tu podać lub umieścić linki.
  • #6 14472698
    BlueDraco
    Specjalista - Mikrokontrolery
    A czym niby ma się różnić program w C nie dotykający bezpośrednio sprzętu na Cortexa od takiego samego programu na AVR? Być może trzeba się przyjrzeć długościom danych, ale algorytm przecież nie zależy od procesora.
  • #7 14472737
    oficerJK
    Poziom 10  
    Witam
    Ja się uczę języka C i eksperymentuję , mam kod od znajomego do obsługo dotyku na wyświetlaczu 2,4 " SPI i problem mam , że czasem jak dotknę w obszar w którym nie powinien reagować generowaniem czegokolwiek to niestety to się wykonuje. Jeśli dobrze ekran osłonię ręką , jakby częstotliwość błędów był mniejsza , czyżby to zakłócenia ?Procek Atmega328 kwarc 16 MHz , SPI na podwójnej prędkości, ale dotyk na SPI sprzętowym zależnym tylko od kwarcu. Pomyślałem sobie żeby nie wyważać drzwi otwartych w przypadku kalibracji 4 punktowej, spróbować jak to działa na takim małym wyświetlaczu. 320x240 ILI9431.

    Algorytmy kalibracji są dość jak dla mnie zniechęcające do samodzielnego pisanie kodu.
    Jeszcze raz dziękuję za pomoc , no cóż jak się nie ma czego szuka to się szuka dalej ...... może kiedyś uda mi się przerobić ten kod z ARM-a
    a propos , gdzie tam jest zapis odnośnie rozdzielczości wyświetlacza?
    Czy to jest uniwersalny kod do wszystkich ?
  • #8 14473163
    BlueDraco
    Specjalista - Mikrokontrolery
    A może przez chwilę poczytaj kod i pomyśl, zamiast zadawać pytania... Najprostsza kalibracja polega na tym, żeby kazać użytkownikowi dotknąć wyświetlacz w trzech punktach o znanych współrzędnych (rozstawionych w miarę szeroko i nie na jednej linii) , pobrać odczyty X i Y dla tych punktów z układu sterownika TP, a następnie rozwiązać układ 6 równać z 6 niewiadomymi w celu wyznaczenia sześciu współczynników potrzebnych do przeliczenia x, y TP na x, y wyświetlacza. - i to właśnie robi kod kalibracji.
  • #9 14474375
    pimpuk
    Poziom 23  
    Dkładnie tak jak mówi BlueDraco, poczytaj kod funkcji, której linka podałem wyżej. Wyświetla on trzy punkty, odczytuje współrzędne TP, zapisuje do matrycy i wyznacza współczynniki do przekształcenia na współrzędne wyświetlacza. Zero filozofii. Czysta matematyka.

    A tu masz szerokie omówienie problemu przez producenta sprzętu, już prościej się nie da.

    Link
  • #10 14474530
    oficerJK
    Poziom 10  
    OK, idea kalibracji jest do przyjęcia ale jak w sposób praktyczny te współczynniki są wykorzystywane w kodzie głównym obsługi TP, Sama funkcja kalibracji nic nie przyjmuje i nic nie przekazuje ?
  • Pomocny post
    #11 14474608
    BlueDraco
    Specjalista - Mikrokontrolery
    Przeczytaj kod, do którego Cię odsyłamy, to zobaczysz, jak korzysta się z tych współczynników.

    Ech, zresztą... mam dzisiaj dobry humor...

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #12 15510145
    oficerJK
    Poziom 10  
    Temat zamknięty.
REKLAMA