Inhaltsverzeichnis:

QuizzPi, ein Raspberry Pi-Trivia-Spiel mit Python - Gunook
QuizzPi, ein Raspberry Pi-Trivia-Spiel mit Python - Gunook

Video: QuizzPi, ein Raspberry Pi-Trivia-Spiel mit Python - Gunook

Video: QuizzPi, ein Raspberry Pi-Trivia-Spiel mit Python - Gunook
Video: Trivia Gumball Machine with Raspberry Pi and Python 2024, Juli
Anonim
QuizzPi, ein Raspberry Pi Trivia-Spiel mit Python
QuizzPi, ein Raspberry Pi Trivia-Spiel mit Python
QuizzPi, ein Raspberry Pi Trivia-Spiel mit Python
QuizzPi, ein Raspberry Pi Trivia-Spiel mit Python

QuizzPi ist ein Quizspiel im Arcade-Stil. QuizzPi wurde geboren, weil ich das Bedürfnis hatte, meiner Tochter eine Unterhaltung zu bieten. Sie ist 7 Jahre alt und fordert bereits den Einsatz neuer Technologien. Die Idee war, etwas zu schaffen, das sowohl Spaß macht als auch lehrreich ist.

Anforderungen an das Projekt:

  • Einfach zu verwenden
  • tragbar
  • Einfaches Upgrade des Fragen- und Antwortsatzes
  • Highscore-Tabelle

Mehrere Elemente sind konfigurierbar. Sie können Ihre eigene Datenbank mit Fragen/Antworten erstellen oder Sie können einen der mehreren Server verwenden, die eine Datenbank anbieten, in der Sie die Art der Fragen bestimmen, schwierig, … Ich habe für meine Tochter eine Datenbank mit Fragen der ersten Klasse erstellt, aber wir können Ändern Sie die Konfiguration, um Trivia-Fragen von einem Oline-Server zu erhalten. Diese anweisbare Version erhalten die Fragen aus einer kollaborativen Fragen und Antworten, der Open Trivia Database. Ich habe allgemeine Wissensfragen, aber Sie können Film-, Sport- oder Religionsfragen auswählen.

Ich entschuldige mich für mein schlechtes Englisch. Ich bin Spanisch, aber ich habe es vorgezogen, dieses instructable auf Englisch zu erstellen, damit es mehr Menschen erreichen kann.

Lass uns gehen!

Schritt 1: Sie benötigen einige Materialien und Werkzeuge…

Sie benötigen einige Materialien und Werkzeuge…
Sie benötigen einige Materialien und Werkzeuge…

Die meisten Materialien haben Sie sicher zu Hause…

  • Raspberry Pi 2/3 mit einer 8 GB oder mehr SD-Karte (35 $)
  • Raspberry Pi 3,5-Zoll-LCD mit Gehäuse (11 $). Siehe (dies ist optional, Sie können jedes Display verwenden, das Sie haben, Sie müssen nur das QuizzPi-Gehäuse dafür ändern)
  • Batterien. Sie können eine Powerbank oder einen DIY 18650-Akku (5 $) verwenden. In meinem Fall habe ich eine Aukey 5000mah Powerbank (12$) verwendet. Sehen
  • Vier Arcade-Tasten. Diese habe ich zu Hause (3$, 12 Knöpfe für 10$). Sehen
  • Ein Ein-/Ausschalter (0,25 $). Sehen
  • Zwei USB-Anschlüsse (0,50 $)
  • Ein USB-/Micro-USB-Kabel
  • Ein billiger Lautsprecher (optional) (0,25 $). Sehen
  • Ein PAM8403-Verstärker (optional) (0,80 $). Sehen
  • Einige Drähte zum Verbinden von Tasten, USB-Anschluss und Ein / Aus-Schalter an GPIO-Pins (1 $?)
  • Vier Neodym-Magnete oder Sie können alles Mögliche verwenden, um die Hintertür zu schließen. Sehen
  • Sperrholz. Ich habe 5 mm Sperrholz verwendet, aber Sie können jedes verwenden, das Sie zu Hause haben (2 $)

Sie brauchen auch einige Werkzeuge…

  • Lötwerkzeuge
  • Schraubendreher
  • Heißklebepistole
  • 3D-Drucker (optional)

Lass uns gehen!

Schritt 2: Lassen Sie uns eine coole QuizzPi-Hülle entwerfen …

Lassen Sie uns eine coole QuizzPi-Hülle entwerfen…
Lassen Sie uns eine coole QuizzPi-Hülle entwerfen…
Lassen Sie uns eine coole QuizzPi-Hülle entwerfen…
Lassen Sie uns eine coole QuizzPi-Hülle entwerfen…

Als erstes müssen wir wissen, wie viel Platz wir für die Hardware benötigen (Raspberry + Bildschirm + Tasten + Akku + Kabel). Unter Berücksichtigung der im vorherigen Schritt beschriebenen Teile habe ich mit dem kostenlosen Online-3D-Designer Tinkercad (siehe) ein 3D-Design des Gehäuses erstellt. Wenn Sie das 3D-Modell des Gehäuses drucken möchten, können Sie es aus der angehängten Datei QuizzPi case herunterladen.stl.

In diesem Moment musste ich mich entscheiden, ob ich das Modell auf meinem 3D-Drucker ausdrucken oder aus Sperrholz machen sollte. Ich dachte, dass ich für meine Tochter etwas mehr Zeit damit verbringen könnte, es aus Sperrholz zu machen. Also hole ich mir die Pläne aus dem 3D-Modell und schneide das Holz.

Der nächste Schritt ist das Heißkleben der Teile…

Schritt 3: Herstellung des Sperrholzkoffers …

Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…
Herstellung der Sperrholzkiste…

Sobald ich alle Sperrholzteile der Pläne geschnitten hatte, ist der nächste Schritt das Heißkleben. In einigen Joins habe ich Verstärkungen angebracht, um die Box stärker zu machen. In die Lünette zeichne ich mit dem Bleistift den Umriss des LCD-Bildschirms und schneide ihn aus. Ich mache vier Löcher für die Schrauben. Wenn Sie einen anderen Bildschirm verwenden, müssen Sie dieses Ding ändern.

Die Hintertür schließt mit zwei Magneten, die an die Tür geklebt werden und zwei Magneten, die an das Gehäuse geklebt werden, so dass ich die Verwendung von Scharnieren vermeide.

Der QuizzPi-Fall ist fertig…

Schritt 4: GPIO-Pins verdrahten, Raspberry + LCD montieren…

GPIO-Pins verdrahten, Raspberry+LCD montieren…
GPIO-Pins verdrahten, Raspberry+LCD montieren…
GPIO-Pins verdrahten, Raspberry+LCD montieren…
GPIO-Pins verdrahten, Raspberry+LCD montieren…
GPIO-Pins verdrahten, Raspberry+LCD montieren…
GPIO-Pins verdrahten, Raspberry+LCD montieren…

Wir müssen die Tasten mit dem Raspberry Pi verbinden, damit er weiß, welche Taste gedrückt wird. Tasten sind mit GPIO-Pins verbunden. Wir benötigen vier IN GPIO-Pins plus einen Gnd GPIO-Pin. Ich habe GPIO-Pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) und 39 (Gnd) für rote, gelbe, grüne bzw. blaue Tasten verwendet. Dieser Bildschirm hat eine SPI-Schnittstelle. Dies bedeutet, dass es an die GPIO-Bank angeschlossen ist, also habe ich zuerst Drähte mit quadratischen Enden in Tastenstifte gesteckt und dann den LCD-Bildschirm angeschlossen.

Der nächste Schritt war, das Raspberry + LCD + Gehäuse auf die Lünette zu montieren. Ich habe die eigenen Schrauben des Raspberry Pi-Gehäuses verwendet.

Der QuizzPi ist montiert…

Schritt 5: Batterie, Tasten, Schalter und USB-Anschluss…

Akku, Tasten, Schalter und USB-Anschluss…
Akku, Tasten, Schalter und USB-Anschluss…
Akku, Tasten, Schalter und USB-Anschluss…
Akku, Tasten, Schalter und USB-Anschluss…
Akku, Tasten, Schalter und USB-Anschluss…
Akku, Tasten, Schalter und USB-Anschluss…

Ich habe Tinkercad erneut verwendet, um einen Clip zu entwerfen, um die Powerbank am Gehäuse zu halten. Ich habe den Clip mit meinem 3D-Drucker ausgedruckt und mit einer Heißklebepistole mit dem Gehäuse verbunden. Ich hänge die.stl-Datei des Modells unten an. Wenn Sie keinen Zugang zu einem 3D-Drucker haben, können Sie die Powerbank mit Klettband verbinden.

Der nächste Schritt besteht darin, den Ein-/Ausschalter zwischen der Powerbank und dem Raspberry Pi zu verbinden. Ich habe ein USB-Kabel genommen und nur das Stromkabel abgeschnitten, dann habe ich ein Drahtende an einen Pin des Ein- / Ausschalters und das andere Drahtende an den anderen Pin des Ein- / Ausschalters gelötet. Wenn also der Einschalter nicht durch den Schalter geht und Raspberry ausgeschaltet ist, und wenn der Einschalter durch den Schalter geht und Raspberry eingeschaltet ist.

Wenn sich die Powerbank entlädt, ist es ein Problem, die Hülle zum Aufladen herauszunehmen, daher wollte ich sie nicht jedes Mal zum Aufladen herausnehmen. Das Problem war, dass der Ladeanschluss der Powerbank USC Typ C ist und ich nur das Kabel der Powerbank hatte. Also habe ich zwei USB-Buchsen angelötet und in das Gehäuse gesteckt. Der Anschluss innen zum Anschließen des Powerbank-Kabels und der äußere Anschluss zum Anschließen eines USB-Stromkabels.

Die Tasten zu platzieren und zu verdrahten war einfach. Die Tasten haben 2 Pins, ein Pin jeder Taste ist mit einem gemeinsamen Kabel verbunden, das mit einem Masse-GPIO-Pin verbunden ist, und der andere Pin der Taste ist mit dem entsprechenden GPIO-Pin der Himbeere verbunden. Der Schaltplan ist im beigefügten Schaltplan dargestellt.

Das Soundsystem basiert auf PAM8403, einem billigen Soundverstärker. Es ist notwendig, weil der Ton von der Buchse des Raspberry Pi nicht zu stark ist, um einen Lautsprecher zum Laufen zu bringen. Sie müssen es mit 5 V oder mehr betreiben. In den beigefügten Bildern sehen Sie, wie Sie den Verstärker und den Lautsprecher verkabeln. Wir benötigen einen 3,5-mm-Stecker, um eine Verbindung mit der Audio-/Videobuchse des Rapberry herzustellen. Ich habe 3 Drähte an die Buchse gelötet: Audio, Video und Masse. Das beigefügte Diagramm zeigt, welcher Pin jeder ist. Dann lötete ich einen Draht an den Ein / Aus-Schalter für die Stromversorgung und einen weiteren Draht an den Erdungsdraht des Powerbank-Kabels. Dann verbinde ich die Drähte vom Lautsprecher mit den Ausgängen des Verstärkers. Der einfache Teil besteht darin, das Soundsystem im Gehäuse zuzuordnen. Sie können in den Bildern sehen.

QuizzPi ist montiert, auf dem letzten Foto sind noch Bleistiftspuren auf dem Holz zu sehen, aber es ist Software-Zeit… Lass uns eine kleine Quiz-Engine erstellen…

Schritt 6: Rasbian Image und Programmierung der Quiz-Engine…

Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…
Rasbian Image und Programmierung der Quiz-Engine…

Wir drücken den Power-Knopf. Nichts passiert. Oh mein Gott! Es funktioniert nicht! Was kann falsch sein? Irgendein Kabel ohne Verbindung? Keine Sorge, wir müssen ein Image auf der SD-Karte installieren…

Die Quiz-Engine ist in Python 3 geschrieben, daher benötigen wir ein Raspbian-Image mit installiertem Python-Compiler. An dieser Stelle müssen wir die Art des Bildschirms berücksichtigen, den wir installiert haben. Mein Bildschirm ist eine SPI-Schnittstelle und der Verkäufer gibt ein Raspbian-Image mit allen installierten Bildschirmtreibern an. Diese Version von Raspbian hat auch eine Python-Engine. Dieses Bild können Sie unter diesem Link herunterladen.

Wenn Sie einen HDMI- oder RCA-Bildschirm haben, können Sie das letzte verfügbare Raspbian-Bild auf der Website raspberrypi.org herunterladen. Achtung: Sie benötigen eine Desktop-Rasbian-Version, also vermeiden Sie es, das Lite-Raspbian-Image herunterzuladen. Dieses Bild enthält Python-Compiler.

Um das Image auf der SD-Karte zu installieren, können wir jede Anwendung verwenden. Ich verwende Win32diskimager. Dann legen wir die SD-Karte in den Raspberry ein und drücken den Ein-/Ausschalter. Es klappt! Jetzt müssen wir ein Python-Programm mit der Quizz-Engine erstellen.

Im nächsten Schritt laden Sie die Dateien der Quiz-Engine herunter. Quellcode habe ich in der Datei QuizzPi.zip angehängt. Laden Sie die Quelle herunter und erstellen Sie einen Ordner auf dem Raspberry Pi:

# mkdir /home/pi/QuizzPi

und entpacken Sie die heruntergeladene Datei in diesen Ordner.

QuizzPi.zip enthält diese Dateien:

  • QuizzPi.py - es enthält den Code
  • PNG-Bilddateien - es enthält eine grafische Benutzeroberfläche, Sie können sie ändern, um sie zu personalisieren
  • MP3-Sounddateien - Sie können ändern, um sie zu personalisieren
  • losmejores.txt - enthält die Highscore-Tabelle, Sie können sie löschen, um die Tabelle zu initialisieren
  • Anleitung.txt

Ich werde nicht erschöpfend erklären, wie ich den Engine-Code in Python programmiert habe, weil es für Leute ohne Programmierkenntnisse zu schwer ist. Sie müssen nur die Dateien im Raspberry speichern. Leute mit Programmierkenntnissen können es ohne Erklärung ändern;)

Fragen und Antworten stammen aus einer kollaborativen Question&Answers-Datenbank namens Open Trivia Database, die Sie hier finden. Sie können die Kategorie und den Schwierigkeitsgrad der Fragen ändern, indem Sie eine Zeile in der Datei QuizzPi.py ändern:

#Cargo desde URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'

Ändern mit der URL aus dem API-Konfigurator

Ich habe die Spielbildschirme in Photoshop entworfen, Sie können sie ändern. Sie müssen nur einige weiße Bereiche im Fragebildschirm, im Ergebnisbildschirm und in den Highscore-Bildschirmen beibehalten, da die Spiel-Engine darauf schreibt.

Sie können auch die Sounds des Spiels personalisieren. Sie müssen nur die.mp3-Dateien durch andere ändern, die Sie möchten, Sie müssen die gleichen Namen beibehalten. Sie können viele Sounds aus Online-Datenbanken beziehen, ich bekomme meine von Free Sound Effects.

Jetzt müssen Sie Ihr Raspbian ändern, um QuizzPi automatisch auszuführen. Sie können diesen Artikel lesen und erklären, wie es geht:

Wir sind fertig!!!

Schritt 7: Demonstration…

Image
Image

Um dieses instructable zu beenden, können Sie dieses Video sehen. Sie können sehen, dass es einfach zu bedienen ist und die Schwierigkeit der Fragen von Ihnen abhängt…

Edit: Video jetzt mit Ton aktualisiert!

Mikrocontroller-Wettbewerb
Mikrocontroller-Wettbewerb

Zweiter im Mikrocontroller-Wettbewerb

Empfohlen: