Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Przetnij kulę Magic 8 na pół
- Krok 2: Przygotuj piłkę
- Krok 3: Przygotuj odpowiedzi na karcie Micro-SD
- Krok 4: Prześlij kod do Arduino Mini
- Krok 5: Podłącz komponenty
- Krok 6: Dołącz elementy do piłki
- Krok 7: Połącz dwie połówki z powrotem
Wideo: Magic Answers Ball z Arduino Pro Mini i wyświetlaczem TFT: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Jakiś czas temu moja córka i ja rozebraliśmy kulkę Magic 8, aby mogła zastąpić dwadzieścia odpowiedzi wybranymi przez siebie. To był prezent dla jej przyjaciółki. To dało mi do myślenia, jak to zrobić na większą skalę. Czy możemy otrzymać więcej niż 20 odpowiedzi? Z wersją elektroniczną możemy!
Opiszę więc, jak zdemontowałem Mattel Magic 8 Ball (przepraszam, Mattel) i użyłem okrągłego wyświetlacza TFT, aby pokazać niesamowitą liczbę dodatkowych odpowiedzi (najmniejsza karta micro-SD, jaką udało mi się znaleźć, miała 8 GB, więc jest to naprawdę przesada dla do czego jest używany). Piłka wykorzystuje tablicę Sparkfun Wake-on-shake do wywołania reakcji i późniejszego wyłączenia piłki, aby oszczędzić baterię. Płytka ładująca służy do ładowania akumulatora z połączenia USB.
Kieszonkowe dzieci
Części:
Arduino Pro Mini 328 - 3,3 V/8 MHz
SparkFun Obudź się po potrząśnięciu
Bateria litowo-jonowa - 400 mAh
Organizer 12 sztuk Moduł ładowania TP4056 5 V Micro USB 1A 18650 Płytka ładująca baterię litową z modułem ładowarki ochronnej (potrzebujesz tylko jednego z nich, ale pakiet 12 był mniejszy niż 9 USD)
DAOKI 5 szt. Płytka do przechowywania Micro SD (ponownie potrzebujesz tylko jednej, ale 5 paczek było wciąż mniej niż 9 USD)
DFRobot 2,2-calowy moduł wyświetlacza TFT LCD
Kingston 8 GB microSD (możesz mieć starą kartę leżącą w domu)
Płytka PCB Perma-Proto o ćwiartce (możesz również użyć dowolnej płytki drukowanej)
Magiczna kula 8
FTDI Basic breakout 3,3 V (możesz już mieć jeden z nich, jeśli wykonałeś podobny projekt z Arduino Pro Mini lub podobną płytą)
4-pinowa obudowa z 2,54mm JST XH męski/żeński zestaw złączy przewodów Dupont (opcjonalny, ale zalecany do podłączenia akumulatora)
Inne podstawowe zaopatrzenie:
Klej do formowania Sugru (można użyć taśmy klejącej i kleju na gorąco, ale bardziej mi się to podoba)
Taśma klejąca
Dwustronna taśma piankowa
Drut
Narzędzia:
Lutownica
Wybrane narzędzie obrotowe (np. Dremel)
Zacisk meblowy
Krok 1: Przetnij kulę Magic 8 na pół
Najpierw musisz podzielić Magic 8 Ball na pół. Przymocowałem mój do stołu roboczego płaską stroną do dołu za pomocą zacisku do mebli. Używając narzędzia Dremel z dołączoną podstawową tarczą tnącą, przetnij wzdłuż szwu kuli. Będziesz musiał ciąć głęboko, prawie tak daleko, jak pozwoli na to tarcza tnąca. Nie śpiesz się. Nawet po całkowitym cięciu może być konieczne użycie płaskiego śrubokręta lub dłuta do ostatecznego oddzielenia. W środku znajduje się cylinder, w którym znajduje się „magiczna” ciecz, a w środku dwudziestościan (kształt o dwudziestu ścianach – tak, musiałem to sprawdzić). Po prostu wyrzuć to lub użyj w innym projekcie. Jeśli użyjesz go w innym projekcie, daj mi znać, co zrobiłeś, abym wiedział, co zrobić z moim.
Zostaniesz z dwiema połówkami, jak pokazano na zdjęciach. Robiłem to już trzy razy, a ostatnio biała warga była raczej gładka niż pofałdowana, więc twoja piłka może wyglądać nieco inaczej niż ta na zdjęciu.
Wokół zewnętrznej krawędzi nadal będzie znajdować się trochę plastikowego żużla (stopiony i ponownie utwardzony plastik). Zatrzymaj to rękami, jeśli możesz; użycie narzędzia wiąże się z ryzykiem zadrapania wykończenia piłki i żużel dość łatwo odchodzi.
Krok 2: Przygotuj piłkę
Musimy wprowadzić dwie modyfikacje plastikowych połówek piłki.
Po pierwsze, w otwartej połowie, na której jest namalowana cyfra „8”, będziemy musieli wyciąć wystarczająco duży obszar, aby nasza płyta ładująca USB mogła usiąść z wystającym portem USB. Użyłem mojego Dremela z dołączonym grubym bębnem do szlifowania. Chcesz, żeby była tak cienka, jak to tylko możliwe, bez przebijania się. Następnie wytnij mały otwór na tyle duży, aby port USB mógł przejść na zewnątrz. Użyłem suwmiarki do pomiaru portu USB, ale prawdopodobnie mógłbyś to zauważyć, jeśli zajdzie taka potrzeba. Ponownie użyłem narzędzia Dremel z małą przystawką do cięcia, aby wykonać otwór. Pierwsze dwa zdjęcia pokazują otwór i jak to wygląda z płytką USB za nim.
Po drugie, w drugiej połowie, ten z otworami po OBU stronach i białą plastikową wargą, przygotuj miejsce, w którym ma usiąść wyświetlacz. Tuż w otworze, w którym będzie osadzony wyświetlacz, znajdują się plastikowe krawędzie i gumowy (?) kołnierz po wewnętrznej stronie otworu. Wyjmij kołnierz i odłóż go na bok. Odłożymy to później, ale chcemy, aby na tym etapie nie było to w żaden sposób. Wyświetlacz ma prostokątne wytłoczenie z jednej strony, które nie pozwoli mu usiąść płasko w otworze, jeśli niektóre z tych wypukłości nie zostaną usunięte. Używając ponownie bębna do szlifowania zgrubnego na Dremel, ogol je tak bardzo, jak to możliwe. Wejdź z otworu, w którym będzie wyświetlacz pod najlepszym kątem. Po zakończeniu powinien wyglądać jak na zdjęciach. Uwaga, zdjęcia pokazują wyświetlacz w miejscu, ale jeszcze go NIE MONTUJ.
Krok 3: Przygotuj odpowiedzi na karcie Micro-SD
Ten krok jest nieco bardziej skomplikowany, niż mogłoby się wydawać. Jeśli nie chcesz tworzyć własnej listy odpowiedzi, przejdź do ostatniego akapitu tego kroku.
Intencją jest to, że możemy nadać piłce dowolną listę ciągów, które będą używane jako możliwe odpowiedzi, i zostaną one wyśrodkowane na ekranie bez żadnych przerw w środku słów. Nie chcemy wykonywać tego przetwarzania na mikrokontrolerze i chcemy mieć plik ze statycznym rozmiarem rekordu, aby móc szybko znaleźć konkretną linię.
Mimo że wyświetlacz jest okrągły, funkcjonalnie jest wirtualnym prostokątnym wyświetlaczem, na którym widoczne są tylko piksele w obrębie okręgu. Wyświetlacz może pokazywać tekst o wielu rozmiarach, ale używamy tylko najmniejszej wersji, która ma 6 x 8 pikseli. Używając tego rozmiaru, jest 315 znaków, które wyświetlacz może umieścić na ekranie (21 znaków na linię razy 15 linii), ale tylko 221 jest widocznych, a każda linia ma inną liczbę widocznych znaków. Widzisz problem?
Napisałem program w języku Java, który pobierał plik niesformatowanych odpowiedzi i konwertował je na w pełni wyśrodkowane rekordy, które można łatwo wyświetlić na okrągłym ekranie TFT. (link do pobrania pliku „FormatToPicksFileFullyCentered.java”).
Bez wchodzenia w wyjaśnienie całego kodu, ogólna idea polega na tym, że pracujemy wstecz od środka (ish) i wstawiamy spacje, aby upewnić się, że nie łamiemy słów w widocznych liniach, a następnie robimy to samo od środkowy napastnik. Na koniec wykonujemy pętlę przez wszystkie wiersze i wyśrodkujemy każdy wiersz wewnątrz pełnych 21 wierszy znaków, aby utworzyć rekord o długości dokładnie 316 bajtów (315 znaków alfanumerycznych plus znak nowego wiersza). Kod faktycznie działa za pomocą trzech czcionek, x 3, x 2 i x 1, aby zobaczyć, która jest największą czcionką, której można użyć i która nadal pasuje do tekstu. Wyśrodkowanie jest trochę przesunięte w przypadku czcionek x2 i x3, przepraszam. Uważaj na znaki, które zajmują więcej niż jeden bajt, mogą one zepsuć wynikowy plik.
Skopiuj plik „pics.txt” na kartę micro-SD.
Jeśli nie chcesz mieć kłopotów z tworzeniem własnej listy typów, zamieściłem moją listę typów, którą możesz po prostu skopiować na kartę SD i użyć. W tej chwili nie mogłem przesłać pliku.txt do instrukcji, więc oto link do miejsca, z którego można pobrać plik picks.txt.
Krok 4: Prześlij kod do Arduino Mini
Po pierwsze, jeśli nigdy wcześniej nie korzystałeś z Arduino Pro Mini, nie możesz po prostu podłączyć kabla USB i pobrać; musisz użyć płytki FTDI i podłączyć przewody do odpowiednich pinów na mini. Nie będę tu dawał tutoriala na ten temat, w sieci jest ich wiele. U mnie nie chciałem wlutować na płytkę mikrokontrolera stałego złącza, które służyłoby tylko raz do pobrania kodu, więc stworzyłem mały klips, którym można zaprogramować mini bez lutowania (patrz zdjęcia). To było zainspirowane produktami takimi jak Fiddy, ale nie mam łatwego dostępu do drukarki 3D, więc zrobiłem własną z klipsa do chipsów ziemniaczanych. Jeśli ludzie są zainteresowani, zrobię instruktaż właśnie w tym celu.
Przejdźmy do kodu. Jest kilka interesujących części tego kodu, ale w większości jest on prosty.
W funkcji setup jest przyzwoita ilość kodu, który zajmuje się uzyskaniem dobrego losowego seeda. Z mojego doświadczenia wynika, że typowa metoda korzystania z odczytu analogowego z niepodłączonego pinu nie daje wystarczająco zróżnicowanej odpowiedzi. Otrzymuję liczbę od 477 do 482. Ponieważ funkcja losowa Arduino ma jedną i tylko jedną sekwencję, a ziarno określa, od czego zacząć w tej sekwencji, tak wąski zakres ostatecznie nie zapewni wystarczającej liczby możliwych odpowiedzi. Należy pamiętać, że ten kod zasadniczo zaczyna się od początku za każdym razem, gdy tablica Wake-on-shake wyłącza i ponownie włącza zasilanie, więc kluczowa jest początkowa pozycja sekwencji określona przez ziarno. Aby w tym pomóc, zapisuję bardzo mały plik na karcie SD, aby śledzić ostatnie ziarno i dodać go do nowej wartości pochodzącej z niepodłączonego pinu.
Po wybraniu w funkcji loop i wczytaniu do tablicy znaków nie możemy po prostu wydrukować całego łańcucha. Wyświetlacz ma limit długości ciągu, który może obsłużyć w danym momencie. Z tego powodu musimy przechodzić przez każdą z piętnastu linii i wysyłać je pojedynczo do wyświetlacza.
Wymagane biblioteki zewnętrzne:
Biblioteka ST7687S
Biblioteka wyświetlania DFRobot
Krok 5: Podłącz komponenty
Czas zrobić całe lutowanie przewodów. Miałem tendencję do błądzenia po stronie nieco dłuższych przewodów, niż naprawdę potrzebowałem, ale skończyło się to dobrze.
Na załączonym schemacie wyświetlacz TFT jest reprezentowany przez złącze, a nie obrazek całego wyświetlacza (do którego nie mogłem znaleźć części Fritzing). Oznaczyłem przewody/szpilki na podstawie tego, jak są oznaczone na części. Podobnie, karta SD nie jest dokładnie tą, której użyłem, ale oznaczyłem przewody / styki dla wymienionej części.
Jest jeden element, którego na tym etapie nie zlutowałem: akumulator. Zamiast tego użyłem czteropinowego złącza z usuniętymi dwoma środkowymi pinami (drugi obrazek). To pozwoliło mi przetestować wszystkie komponenty połączone ze sobą, a następnie odłączyć baterię, podczas gdy wszystko przyczepiam do kuli.
Na koniec użyłem stałej płytki drukowanej o ćwierć wielkości, aby ułatwić zasilanie i współdzielone połączenia. Zobaczysz to na zdjęciach montażowych.
Sprawdź, czy wszystko działa
Krok 6: Dołącz elementy do piłki
Najpierw umieść wyświetlacz na miejscu i użyj trochę Sugru, aby go zabezpieczyć (pierwsze dwa obrazy). Nie zapomnij o kołnierzu, który usunąłeś wcześniej, powinieneś go mieć z powrotem na swoim miejscu przed zamocowaniem wyświetlacza na miejscu.
Następnie przykleiłem płytę prototypową do dolnej części pustej połowy piłki. Wszystkie luty trzymałem po jednej stronie płytki, więc nadal miałem połowę płytki, którą mogłem okleić. Następnie przykleiłem baterię do tej samej połowy prototypowej płyty (trzeci obraz).
Obie połówki są teraz połączone przewodami. Dowiedz się, gdzie skończy się otwór USB, gdy połączysz dwie połówki. Jeśli biała warga ma wystające kolce, pamiętaj, że musi zejść pośrodku jednego z klinów białej wargi, ponieważ będziemy zabezpieczać płytkę ładującą USB między dwoma plastikowymi krawędziami na wardze.
Za pomocą małego kawałka dwustronnej taśmy piankowej przymocuj płytkę ładującą USB. Taśma dwustronna nie powinna zakrywać całego spodu płytki ładującej, ponieważ koniec z dołączonymi przewodami będzie zwisał nad środkową krawędzią białej wargi. Tak więc taśma powinna pokrywać około trzech czwartych dolnej powierzchni deski. Najpierw umieść taśmę na spodzie planszy, a następnie wciśnij ją w wybrane miejsce. Złącze USB powinno znajdować się na krawędzi kuli, przylegając do czarnego obszaru plastiku bez wychodzenia na zewnątrz kuli. Na koniec dodaj trochę więcej Sugru na górze deski i zabezpiecz po obu stronach. To tylko dodaje dodatkowej siły, gdy kabel jest włożony do portu USB.
Włóż teraz kartę micro-SD do modułu karty SD
Jeśli chcesz, możesz przymocować pozostałe elementy do białej wargi. Po prostu schowałem pozostałe komponenty za wyświetlaczem.
Krok 7: Połącz dwie połówki z powrotem
Dokładnie sprawdź, czy włożyłeś kartę SD i czy przetestowałeś wszystkie komponenty razem.
Ok, jeśli jesteś gotowy, zrób długiego węża z kleju Sugru i poprowadź go dookoła krawędzi połowy kuli białą wargą (pierwsze zdjęcie). Klej należy nałożyć bezpośrednio na złącze, w którym schodzą się czarne i białe sekcje plastiku. Nałożenie kleju tutaj zapewnia mocne wiązanie, jednocześnie minimalizując ilość kleju, który wyciska się z pęknięcia po połączeniu dwóch połówek.
Ściśnij dwie połówki razem, upewniając się, że port USB przechodzi przez wycięty wcześniej otwór. Za pomocą zacisku meblowego zaciśnij dwie połówki na tyle mocno, aby utrzymać połówki razem, bez konieczności mocnego zaciskania. Klej Sugru stwardnieje po około 24 godzinach.
Jeśli masz trochę kleju, który wycisnął się ze złącza, możesz go zeskrobać palcem lub gładką szmatką/ręcznikiem papierowym.
Zalecana:
LoRa Remote Control Messenger z 1,8-calowym wyświetlaczem TFT dla odległości do 8 km: 8 kroków
LoRa Remote Control Messenger z 1,8-calowym wyświetlaczem TFT dla odległości do 8 km: podłącz projekt do laptopa lub telefonu, a następnie rozmawiaj między urządzeniami bez Internetu lub SMS-ów, używając tylko LoRa. Hej, co słychać? Akarsh tutaj z CETech. PCB posiada również wyświetlacz i 4 przyciski, które mogą służyć jako pilot do
Stacja pogodowa ESP8266/ESP32 z wyświetlaczem TFT LCD: 8 kroków
Stacja pogodowa ESP8266/ESP32 z wyświetlaczami TFT LCD: Witam! W tej krótkiej instrukcji chciałbym przedstawić mój drugi projekt Esp8266 WS. Odkąd opublikowałem swój pierwszy projekt ESP, chciałem zrobić sobie drugi. Miałem więc trochę wolnego czasu na przerobienie starego kodu źródłowego, aby pasował do moich potrzeb. Więc jeśli nie masz nic przeciwko
Czytnik RFID Arduino z wyświetlaczem TFT: 7 kroków
Czytnik RFID Arduino z wyświetlaczem TFT: Pokażę ci w tej instrukcji, jak zaprojektować ładnie wyglądający czytnik RFID z wyświetlaczem TFT i do montażu na ścianie. Bardzo łatwo jest stworzyć ładnie wyglądający czytnik RFID z wyjściem TFT do montażu na ścianie za pomocą Arduino MKR do wyboru i nasz Ar
DS1302 Zegar z wyświetlaczem LCD 2,4 TFT: 5 kroków
DS1302 Zegar z wyświetlaczem LCD 2.4 TFT: Witam! Dzisiaj pokażę Ci, jak zrobić prosty zegar z RTC i wyświetlaczem TFT LCD dla Arduino. Prosty projekt dla początkujących, można go zmontować i ustawić w mniej niż 30 minut
Jak zrobić zegar czasu rzeczywistego za pomocą Arduino i wyświetlacza TFT - Arduino Mega RTC z 3,5-calowym wyświetlaczem TFT: 4 kroki
Jak zrobić zegar czasu rzeczywistego za pomocą Arduino i wyświetlacza TFT | Arduino Mega RTC z 3,5-calowym wyświetlaczem TFT: Odwiedź mój kanał YouTube. Wprowadzenie: - W tym poście zamierzam stworzyć „Zegar czasu rzeczywistego” za pomocą 3,5-calowego ekranu dotykowego TFT, Arduino Mega Moduł 2560 i DS3231 RTC….Przed rozpoczęciem…sprawdź wideo z mojego kanału YouTube..Uwaga:- Jeśli używasz Arduina