Popularny post spook Napisano Listopad 7, 2020 Popularny post Udostępnij Napisano Listopad 7, 2020 (edytowany) Przyszedł czas, w którym stary notebook żony odszedł wreszcie na emeryturę. Leciwy Asus pod koniec swojego życia mocno już niedomagał - padła najprawdopodobniej karta graficzna na płycie głównej, co owocowało pionowymi zniekształceniami obrazu w trybie graficznym. Udało mi się jeszcze uruchomić na nim Linuxa z płyty (równie leciwy Sabayon), co pozwoliło podmontować partycję NTFS, pendrive i zgrać dane. Prace rozbiórkowe Ponieważ mnóstwo komponentów komputera było sprawnych, zdecydowałem się usiąść i rozebrać go na części (prawie) pierwsze, a potem zobaczyć, co dałoby się wykorzystać ponownie. Rozbieranie starszych modeli jest (prawie) czystą przyjemnością, bo praktycznie nic nie jest tam klejone, tylko po bożemu - skręcane śrubami. Jedynym problemem było tylko zlokalizowanie wszystkich śrub - bardzo długo nie mogłem odkręcić klawiatury, bo jedna z nich schowana była w słabo widocznym miejscu. Ale w końcu się udało i wreszcie miałem w ręku wszystkie potrzebne komponenty. Reverse engineering Teraz trzeba było zrobić trochę rozpoznania. Przekopałem pół internetu, żeby dowiedzieć się, w jaki sposób touchpad komunikuje się z komputerem i w jaki sposób mogę pozyskać te informacje i obrobić. Podzielę się tymi informacjami, bo nie są wcale łatwo dostępne. Przede wszystkim - tu mała niespodzianka - jako protokół stosowany jest stary, dobry PS/2. Jeżeli chcecie, możecie wykopać gdzieś starą mysz albo klawiaturę na PS/2, odzyskać z niej wtyczkę, przylutować przewody w odpowiednich miejscach, a następnie podłączyć do komputera - na przykład przez przejściówkę USB - i powinno wszystko zadziałać. Takie rozwiązanie jest najprostsze, ale mój plan był nieco bardziej ambitny - chciałem dowiedzieć się, jak podłączyć touchpad do mikrokontrolera i odzyskać z niego informacje o przesunięciu wskaźnika. Tym sposobem w przyszłości mógłbym użyć touchpada na przykład jako joysticka do sterowania innym urządzeniem. Obejrzałem więc dokładnie, jak wygląda płytka po drugiej stronie: Teraz kilka przydatnych informacji. Przede wszystkim ogromna większość touchpadów (a w starszych komputerach bodaj wszystkie) jest produkowana przez firmę Synaptics i mnóstwo z nich pracuje na PS/2. I bodaj na wszystkich wyprowadzone są też specjalne pady oznaczone literką "T" - widać je na powyższym zdjęciu. Służą one najprawdopodobniej do automatycznego testowania touchpada: można umieścić go w odpowiednim urządzeniu, które ma wyprowadzone pogo-pins w odpowiednich miejscach i w ten sposób szybko sprawdzić, czy działa on prawidłowo. Co więcej, okazuje się też, że numeracja pinów na wielu różnych modelach touchpadów tej firmy jest też taka sama. Jeżeli będziecie we własnym zakresie próbowali skomunikować się z takim urządzeniem, może okazać się, że moja poniższa rozpiska pinów zadziała również i w waszym przypadku. Źródło: Instructables.com Teoretycznie można przylutować się w odpowiednich miejscach, ale wszystkie potrzebne pola wyprowadzone są też przez szynę, którą touchpad komunikuje się z komputerem, więc wystarczyło tylko sprawdzić, który pin co oznacza. Kilka minut z multimetrem - i już miałem gotową rozpiskę. Według numeracji (1 z prawej) 12 T22 +5V 11 T20 +5V (za rezystorem) 10 T11 DATA (Arduino 5) 9 T11 DATA (Arduino 5) 8 T10 CLK (Arduino 6) 7 T10 CLK (Arduino 6) 6 T23 GND 5 T23 GND 4 T6 LBTN (Arduino 9) 3 T9 ???? (Arduino 10) 2 T8 ???? (Arduino 11) 1 T7 RBTN (Arduino 12) Teraz musiałem tylko podłączyć się do Arduino. Tu był mały kłopot, bo do tego konieczny jest odpowiedni konektor. W Chinach jednak można znaleźć wszystko - w szczególności za grosze można kupić przejściówki z bodaj każdej taśmy na standardowo rozmieszczone goldpiny. Zamówiłem więc odpowiednią płytkę, ale w oczekiwaniu na nią zmontowałem sobie własną; w polskich sklepach można znaleźć bowiem zestawy DIY: uniwersalną płytkę z odpowiednio wyprowadzonymi padami oraz złącza: trzeba tylko przylutować je w odpowiednim miejscu. Programowanie Część programistyczna była stosunkowo łatwa, ponieważ dla PS/2 istnieją gotowe biblioteki. No więc napisałem programik... i nic nie zadziałało, oczywiście. Walczyłem długo i dzielnie, ale czego bym nie zrobił, touchpad jak na złość milczał. Raz czy dwa dostałem w surowych danych jakieś losowe wartości, ale poza tym - nic. W akcie desperacji kupiłem nawet identyczny touchpad - zamiennik, podejrzewając, że ten może być uszkodzony. Ale drugi też milczał. W końcu przyszły płytki z Chin i zagadka się wyjaśniła - okazało się, że podczas lutowania złącza z rastrem 0,5mm przypadkowo zwarłem dwa sąsiednie piny i nie zauważyłem tego. Szczęśliwie nie doprowadziło to do uszkodzenia płytki - zwarł mi się pin CLK z GND, czyli na szynie zegara było cały czas 0, co jednak oczywiście uniemożliwiało komunikację. Projekt Gdy wszystko ruszyło, zacząłem projektować docelowe urządzenie: jako kontrolera użyłem Arduino Leonardo, które umie udawać urządzenia HID, połączenia zrealizowałem natomiast na płytce prototypowej (raptem kilka przewodów do polutowania). Prostokątny otworek potrzebny był do przeprowadzania szyny na drugą stronę. Obudowę wydrukowałem natomiast na drukarce 3D. Na koniec pozostało tylko zmontowanie wszystkiego w jedną całość i oto uzyskałem następujący efekt końcowy: Co zabawne, jest to bodaj jeden z najczęściej aktywnie używanych przeze mnie projektów DIY. Jakiś czas temu kupiłem sobie bowiem mikro-notebooka GPD Pocket 2. Ma on wprawdzie minimalny touchpad, ale nie jest on zbyt wygodny. Wystarczy jednak podłączyć moje szare pudełko przez USB - i już mam wygodne urządzenie zastępujące myszkę. Po starym laptopie pozostało jeszcze całkiem sporo komponentów, ale czekają one na razie na swój czas... Edytowano Listopad 8, 2020 przez spook 17 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Listopad 9, 2020 Udostępnij Listopad 9, 2020 @spook dzięki za opis kolejnego ciekawego projektu - wpis jest już widoczny publicznie 🙂 1 Cytuj Link do komentarza Share on other sites More sharing options...
KHX Listopad 9, 2020 Udostępnij Listopad 9, 2020 Fajny projekt, pokazuje, że nie warto wszystkiego wyrzucać, bo można zrobić coś ciekawego. A śrubki naprawdę są nieprzyjemne, koło mnie leży stary acer, ale nie udało się właśnie przez śruby rozebrać, może pokombinuję popołudniu. Swoją drogą, myślałem, że inaczej podłącza się takie urządzenia, fajnie że wstawiłeś te zdjęcie z schematem. Cytuj Link do komentarza Share on other sites More sharing options...
tabsley Listopad 29, 2020 Udostępnij Listopad 29, 2020 @spook specjalnie się zarejestrowałem, żeby polajkować twój wpis <3 Reusing na wysokim poziomie! 2 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Treker (Damian Szymański) Listopad 30, 2020 Udostępnij Listopad 30, 2020 @tabsley witam na forum i przyłączam się do gratulacje dla autora - faktycznie projekt ekologiczny 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Trenda Grudzień 10, 2020 Udostępnij Grudzień 10, 2020 (edytowany) @KHX jak Ci poszło z tymi śrubkami? Jak mi się trafią z rozbitymi krzyżakami to je rozwiercam (na średnicę gwintu) także łebki odpadają a resztę odkręcam już szczypcami. Mam nawet taki malutki uchwyt wiertarski z końcem na 1/4" do wkrętarki 4V Edytowano Grudzień 10, 2020 przez Trenda 1 Cytuj Link do komentarza Share on other sites More sharing options...
KHX Grudzień 10, 2020 Udostępnij Grudzień 10, 2020 Miałem problem, ale udało mi się zwykłym śrubokrętem. Co prawda zdecydowałem, że nic nie wyjmę, bo zrobię prosty serwer z laptopa, ale oczyściłem sprężonym powietrzem i w sumie tyle. Chociaż coś chyba naleciało do miejsca, gdzie one były, bo wydawało mi się, że były całe oklejone. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!