Niewielką komplikacją jest to, że wejścia/wyjścia (I/O) XIAO w stanie wysokim oczekują/wystawiają napięcia 3,3 V, podczas gdy ja potrzebuję sterować moimi pikselami za pomocą stanów wysokich o napięciu 5 V. Na szczęście znalazłem dość fajny hack, który pozwala mi użyć diody 1N4001 i „ofiarnego” piksela, aby zaimplementować tani i wygodny konwerter napięcia 3,3 V na 5 V (https://bit.ly/3cxMhcV).
W oczekiwaniu na ukończenie budowy mojej tablicy z piłeczek pingpongowych, odwiedziłem stronę wiki XIAO (https://bit.ly/30bCyGH), aby dowiedzieć się, jak podłączyć wspomniane wcześniej maleństwo do Arduino IDE. Następnie stworzyłem naprawdę prosty szkic testowy (program), aby „połechtać” moje piksele, wybrałem XIAO jako płytkę docelową i nacisnąłem ikonę „Kompiluj”.
Niestety próba kompilacji zakończyła się wieloma błędami i ponurymi ostrzeżeniami, których nigdy wcześniej nie widziałem. „Ojej”, powiedziałem do siebie (lub coś w tym stylu). Zmieniłem płytkę docelową na Arduino Uno i kompilacja przebiegła zgodnie z oczekiwaniami. Powiodła się również, gdy przełączyłem się z powrotem na XIAO i zakomentowałem wszystkie instrukcje związane z NeoPixel. Hmmm.
W tym momencie miałem już smutną minę, więc wysłałem swój szkic do ludzi z Seeed Studio, wyjaśniając mój problem. Następnego ranka w skrzynce odbiorczej znalazłem wiadomość e-mail od inżyniera aplikacji terenowych (FAE) Ansona He, który powiedział, że mój program testowy skompilował się bez problemu. Anson zalecił mi sprawdzenie, czy mam najnowszą wersję Arduino IDE (miałem) i najnowszą wersję biblioteki NeoPixel firmy Adafruit (nie miałem).
Po usunięciu starej biblioteki NeoPixel, postępowałem zgodnie z instrukcjami na stronie Adafruit NeoPixel Überguide (https://bit.ly/2XzuqOB), aby zainstalować najnowszą i najlepszą wersję ich biblioteki. Po tym wszystko skompilowało się wspaniale. Teraz pozostało tylko skonstruować tablicę, co brzmi łatwo, jeśli mówisz to szybko i wściekle gestykulujesz.
Gorący klej jest moim przyjacielem
Budowa tablicy postępowała w szybkim tempie. Niestety, nie zastanawiałem się nad tym, jak precyzyjnie ustawić piłeczki pingpongowe. Jak być może pamiętacie z poprzedniego odcinka, zamiast wiercić otwory w piłeczkach, aby pomieścić NeoPiksele, wyciąłem je ręcznie za pomocą małych zakrzywionych nożyczek do paznokci. Rzecz w tym, że to co ułatwiło wszystko to, co było do zrobienia przed zamontowaniem piłeczek na tablicy, pozostawiło mnie teraz z problemem równego ich rozmieszczenia i zamocowania.
Przede wszystkim nie miałem pojęcia, jak trudne może być okiełznanie 144 piłeczek pingpongowych i sprawienie, by stały się posłuszne mojej konstruktorskiej myśli przewodniej. Tymczasem piłeczki zdawały się pozostawać zdeterminowane by ze swych miejsc, za wszelką cenę, uciekać. Po wielu nieudanych eksperymentach stworzyłem przyrząd, wiercąc matrycę 6×6 mniejszych otworów w kawałku płyty przeznaczonej do utylizacji i następnie używając go do pozycjonowania i unieruchamiania piłek.