Spisu treści:
- Krok 1: Potrzebujesz materiałów i narzędzi…
- Krok 2: Zaprojektujmy fajną obudowę QuizzPi…
- Krok 3: Wykonanie obudowy ze sklejki…
- Krok 4: Okablowanie pinów GPIO, montaż Raspberry+LCD…
- Krok 5: Bateria, przyciski, przełącznik i złącze USB…
- Krok 6: Obraz Rasbian i programowanie silnika quizu…
- Krok 7: Demonstracja…
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
QuizzPi to ciekawostki typu arcade. QuizzPi narodziło się, ponieważ miałem potrzebę zapewnienia mojej córce rozrywki. Ma 7 lat i już domaga się korzystania z nowych technologii, chodziło o stworzenie czegoś, co będzie zarówno zabawne, jak i edukacyjne.
Wymagania projektu:
- Łatwy w użyciu
- Przenośny
- Łatwa rozbudowa zestawu pytań i odpowiedzi
- Tabela najlepszych wyników
Wiele elementów można konfigurować. Możesz stworzyć własną bazę pytań/odpowiedzi lub skorzystać z jednego z wielu serwerów, który oferuje bazę danych, w której sam decydujesz o rodzaju pytań, trudnych,… Stworzyłem dla mojej córki bazę pytań pierwszej klasy, ale możemy zmień konfigurację, aby uzyskać ciekawostki z serwera online. Ta instruktażowa wersja otrzymuje pytania ze wspólnych pytań i odpowiedzi, Open Trivia Database. Wybrałem pytania z wiedzy ogólnej, ale możesz wybrać pytania dotyczące filmu, sportu lub religii.
Przepraszam za mój słaby angielski. Jestem Hiszpanem, ale wolałem stworzyć tę instrukcję w języku angielskim, aby mogła dotrzeć do większej liczby osób.
Chodźmy!
Krok 1: Potrzebujesz materiałów i narzędzi…
Na pewno masz większość materiałów w domu…
- Raspberry Pi 2/3 z kartą SD 8Gb lub większą (35$)
- Raspberry Pi 3,5 cala LCD z obudową (11$). Zobacz (jest to opcjonalne, możesz użyć dowolnego posiadanego wyświetlacza, wystarczy zmodyfikować obudowę QuizzPi)
- Baterie. Możesz użyć powerbanku lub możesz użyć samodzielnego akumulatora 18650 (5 $). W moim przypadku użyłem jednego power banku Aukey 5000mah (12$). Widzieć
- Cztery przyciski arkadowe. Mam je w domu (3$, 12 przycisków za 10$). Widzieć
- Jeden włącznik/wyłącznik (0,25 $). Widzieć
- Dwa złącza USB (0,50 $)
- Jeden kabel USB/micro USB
- Jeden tani głośnik (opcjonalnie) (0,25 $). Widzieć
- Jeden wzmacniacz PAM8403 (opcjonalnie) (0,80$). Widzieć
- Niektóre przewody do łączenia przycisków, złącza usb i włącznika/wyłącznika do pinów GPIO (1$?)
- Cztery magnesy neodymowe lub możesz użyć czegokolwiek, aby zamknąć tylne drzwi. Widzieć
-
Sklejka. Użyłem sklejki 5mm, ale możesz użyć dowolnej, którą masz w domu (2$)
Potrzebujesz też narzędzi…
- Narzędzia do lutowania
- Śrubokręty
- Pistolet na gorący klej
- drukarka 3D (opcja)
Chodźmy!
Krok 2: Zaprojektujmy fajną obudowę QuizzPi…
Pierwszą rzeczą, której potrzebujemy, jest wiedza, ile miejsca potrzebujemy na sprzęt (Raspberry + ekran + przyciski + bateria + przewody). Mając na uwadze części opisane w poprzednim kroku wykonałem projekt 3D obudowy korzystając z darmowego internetowego projektanta 3D Tinkercad (Zobacz). Jeżeli chcesz wydrukować model 3D obudowy możesz go pobrać z załączonego pliku QuizzPi case.stl.
W tym momencie musiałem zdecydować, czy wydrukować model na mojej drukarce 3D, czy zrobić go ze sklejki. Pomyślałem, że będąc dla mojej córki, mógłbym poświęcić trochę więcej czasu na robienie go ze sklejki. Więc dostaję plany z modelu 3D i wycinam drewno.
Następnym krokiem jest klejenie części na gorąco…
Krok 3: Wykonanie obudowy ze sklejki…
Po wycięciu wszystkich części planów ze sklejki następnym krokiem jest ich klejenie na gorąco. W niektórych łączeniach wstawiam wzmocnienia, aby skrzynka była mocniejsza. W ramce rysuję ołówkiem kontur ekranu LCD i wycinam go. Robię cztery otwory na śruby. Jeśli używasz innego ekranu, musisz to zmodyfikować.
Tylne drzwi zamykają się dwoma magnesami przyklejonymi do drzwi i dwoma magnesami przyklejonymi do etui, dzięki czemu unikam stosowania zawiasów.
Sprawa QuizzPi jest zakończona…
Krok 4: Okablowanie pinów GPIO, montaż Raspberry+LCD…
Musimy podłączyć przyciski do Raspberry Pi, aby wiedziało, który przycisk jest wciśnięty. Przyciski są podłączone do pinów GPIO. Potrzebujemy czterech pinów IN GPIO plus jeden pin Gnd GPIO. Użyłem pinów GPIO 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) i 39 (Gnd) dla przycisków odpowiednio czerwonego, żółtego, zielonego i niebieskiego. Ten ekran ma interfejs SPI. Oznacza to, że jest podłączony do banku GPIO, więc najpierw włożyłem przewody zakończone kwadratem w piny przycisków, a następnie podłączyłem wyświetlacz LCD.
Kolejnym krokiem było zamontowanie obudowy Raspberry+LCD+ na ramce. Użyłem własnych śrub obudowy Raspberry Pi.
QuizzPi jest zamontowany…
Krok 5: Bateria, przyciski, przełącznik i złącze USB…
Ponownie użyłem Tinkercad, aby zaprojektować klips do mocowania power banku do obudowy. Klip wydrukowałem drukarką 3D i dołączyłem do obudowy pistoletem do klejenia na gorąco. Załączam plik.stl modelu poniżej. Jeśli nie masz dostępu do drukarki 3D, możesz dołączyć do powerbanku taśmą velcro.
Następnym krokiem jest podłączenie włącznika/wyłącznika między powerbankiem a Raspberry Pi. Wziąłem kabel USB i przeciąłem tylko przewód zasilający, następnie przylutowałem jeden koniec przewodu do jednego pinu włącznika/wyłącznika, a drugi koniec przewodu do drugiego pinu włącznika/wyłącznika. Więc kiedy przełącznik wyłączający zasilanie nie przechodzi przez przełącznik, a Raspberry jest wyłączony, a kiedy przełącznik włączania zasilania przechodzi przez przełącznik, a Raspberry jest włączony.
Kiedy power bank się rozładowuje, jest problem z wyjęciem etui, aby go naładować, więc nie chciałem go wyjmować za każdym razem, aby go naładować. Problem polegał na tym, że port ładowania banku mocy to USC typu C, a ja miałem tylko kabel banku mocy. Przylutowałem więc dwa żeńskie złącza USB i włożyłem do obudowy. Złącze wewnątrz do podłączenia kabla power banku i zewnętrzne złącze do podłączenia kabla zasilającego USB.
Umieszczenie przycisków i ich okablowanie było łatwe. Przyciski mają 2 piny, jeden pin każdego przycisku łączy się ze wspólnym kablem, który idzie do uziemionego pinu GPIO, a drugi pin przycisku łączy się z odpowiednim pinem GPIO Raspberry. Schemat połączeń pokazano na załączonym schemacie.
System dźwiękowy oparty jest na tanim wzmacniaczu dźwięku PAM8403. Jest to konieczne, ponieważ dźwięk z gniazda Raspberry Pi nie jest zbyt mocny, aby głośnik działał. Musisz go zasilić napięciem 5V lub więcej. Na załączonych obrazkach widać jak podłączyć wzmacniacz i głośnik. Potrzebujemy męskiego gniazda 3,5 mm do podłączenia do gniazda audio/wideo Rapberry. do gniazda przylutowałem 3 przewody: audio, wideo i uziemienie. Załączony schemat pokazuje, jaką pinezką są wszyscy. Następnie przylutowałem przewód do włącznika On/Off do pobierania prądu, a drugi przewód do przewodu uziemiającego z kabla powerbanku. Następnie podłączam przewody z głośnika do wyjść wzmacniacza. Najłatwiejszą częścią jest przydzielenie systemu dźwiękowego w przypadku. Możesz zobaczyć na zdjęciach.
QuizzPi jest zamontowany, na ostatnim zdjęciu nadal widać ślady ołówka na drewnie, ale czas na oprogramowanie… przejdźmy do stworzenia malutkiego silnika quizowego…
Krok 6: Obraz Rasbian i programowanie silnika quizu…
Naciskamy przycisk zasilania. Nic się nie dzieje. O mój Boże! To nie działa! Co może być nie tak? Jakiś kabel bez połączenia? Nie martw się, musimy zainstalować obraz na karcie SD…
Silnik quizu jest napisany w Pythonie 3, więc potrzebujemy obrazu Raspbian z zainstalowanym kompilatorem Pythona. W tym momencie musimy wziąć pod uwagę rodzaj zainstalowanego ekranu. Mój ekran to interfejs SPI, a sprzedawca podaje obraz Raspbian ze wszystkimi zainstalowanymi sterownikami ekranu. Ta wersja Raspbiana ma również silnik Pythona. Możesz pobrać ten obraz pod tym linkiem.
Jeśli masz ekran HDMI lub RCA, możesz pobrać ostatni obraz Raspbian dostępny na stronie raspberrypi.org. Uwaga: potrzebujesz wersji Desktop Rasbian, więc unikaj pobierania obrazu Lite Raspbian. Te obrazy zawierają kompilator Pythona.
Aby zainstalować obraz na karcie SD możemy użyć dowolnej aplikacji. Używam Win32diskiemagera. Następnie wkładamy kartę SD do Raspberry i wciskamy włącznik/wyłącznik. To działa! Teraz musimy stworzyć program w Pythonie z silnikiem quizz.
Następnym krokiem jest pobranie plików silnika quizu. Załączyłem kod źródłowy w pliku QuizzPi.zip. Pobierz źródło i utwórz folder w Raspberry Pi:
# mkdir /home/pi/QuizzPi
i rozpakuj pobrany plik do tego folderu.
QuizzPi.zip zawiera te pliki:
- QuizzPi.py - zawiera kod
- Pliki graficzne-p.webp" />
- Pliki dźwiękowe MP3 - możesz zmienić, aby spersonalizować
- losmejores.txt - zawiera tabelę najlepszych wyników, możesz ją usunąć, aby zainicjować tabelę
- Instrukcje.txt
Nie podam wyczerpującego wyjaśnienia, jak zaprogramowałem kod silnika w Pythonie, ponieważ jest to zbyt trudne dla osób bez wiedzy programistycznej. Muszą tylko zapisać pliki w Raspberry. Osoby z wiedzą programistyczną będą mogły ją modyfikować bez żadnego wyjaśnienia;)
Pytania i odpowiedzi pochodzą ze wspólnej bazy danych pytań i odpowiedzi o nazwie Open Trivia Database, którą można znaleźć tutaj. Możesz zmienić kategorię i trudność pytań zmieniając linię w pliku QuizzPi.py:
#Cargo desde URLurl = 'https://opendb.com/api.php?amount=10&type=multiple'
zmiana z url uzyskanym z konfiguratora api
Projektowałem ekrany gier w Photoshopie, możesz je modyfikować. Musisz tylko zachować niektóre białe obszary na ekranie pytań, na ekranie wyników i ekranach najlepszych wyników, ponieważ silnik gry zapisuje na nich.
Możesz także spersonalizować dźwięki gry. Musisz tylko zmienić pliki.mp3 przez inne osoby, które chcesz, musisz zachować te same nazwy. Wiele dźwięków można uzyskać z internetowych baz danych, ja dostaję miny z Free Sound Effects.
Teraz musisz zmodyfikować swojego Raspbiana, aby automatycznie uruchamiał QuizzPi. Możesz przeczytać ten artykuł, w którym wyjaśnisz, jak to zrobić:
Skończyliśmy!!!
Krok 7: Demonstracja…
Aby zakończyć tę instrukcję, możesz zobaczyć ten film. Widać, że jest łatwy w użyciu, a trudne pytania zależą od Ciebie…
Edycja: wideo zaktualizowane teraz z dźwiękiem!
Drugie miejsce w konkursie mikrokontrolerów
Zalecana:
Synchronizowanie folderów z Pythonem: 5 kroków
Synchronizowanie folderów z Pythonem: Ta instrukcja pokaże, jak zsynchronizować dwa foldery (i wszystkie znajdujące się w nich foldery), aby jeden był bezpośrednią kopią drugiego. Idealny do tworzenia kopii zapasowych zarówno lokalnie, na serwerze w chmurze/sieciowym, jak i na dysku USB. Brak doświadczenia w programowaniu nie jest
Gra Aruduino LED Szybkie klikanie Gra dla dwóch graczy: 8 kroków
Aruduino LED Game Fast Clicking Two Player Game: Ten projekt jest inspirowany @HassonAlkeim. Jeśli chcesz przyjrzeć się bliżej, oto link, który możesz sprawdzić https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Ta gra jest ulepszoną wersją Alkeima. To jest
Ostateczna gra komputerowa Simon mówi, że gra: 3 kroki
Finał inżynierii komputerowej Gra Simon Mówi: Mój pomysł: Mój projekt to gra Simon Mówi. W tej grze są cztery diody LED i cztery przyciski. Muzyka będzie odtwarzana z brzęczyka, a diody LED zaświecą się dopasowując się do muzyki. Wtedy rozpocznie się gra. Zaświeci się dioda LED i trzeba kliknąć tyłek
PiTanq - robot-czołg z Raspberry Pi i Pythonem do nauki AI: 10 kroków
PiTanq - robot-czołg z Raspberry Pi i Pythonem do nauki AI: Pitanq to robot-czołg z kamerą zasilaną przez Raspberry Pi. Jego celem jest pomoc w nauce sztucznej inteligencji samodzielnej jazdy. Sztuczna inteligencja w zbiorniku jest wspierana przez OpenCV i Tensoflow zbudowane specjalnie dla Raspbian Jessie. W oparciu o solidne aluminium
Przyciski odpowiedzi na ciekawostki: 8 kroków (ze zdjęciami)
Przyciski odpowiedzi na ciekawostki: Dzięki temu obwodowi będziesz mógł uruchomić swój własny teleturniej. Gdy naciśniesz jeden z przycisków odtwarzacza po obu stronach pudełka, odpowiednia lampka zaświeci się, a drugi przycisk zostanie dezaktywowany, aby pokazać, kto odpowiedział na pytania