Πίνακας περιεχομένων:
- Βήμα 1: Χρειάζεστε κάποια υλικά και εργαλεία…
- Βήμα 2: Ας σχεδιάσουμε μια δροσερή θήκη QuizzPi…
- Βήμα 3: Φτιάχνοντας τη θήκη από κόντρα πλακέ…
- Βήμα 4: Καλωδίωση καρφιτσών GPIO, τοποθέτηση Raspberry+LCD…
- Βήμα 5: Μπαταρία, κουμπιά, διακόπτης και συνδετήρας USB…
- Βήμα 6: Rasbian Image and Programming the Quiz Engine…
- Βήμα 7: Επίδειξη…
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
Το QuizzPi είναι ένα παιχνίδι trivia τύπου arcade. Το QuizzPi γεννήθηκε επειδή είχα την ανάγκη να δώσω διασκέδαση στην κόρη μου. Είναι 7 ετών και απαιτεί ήδη τη χρήση νέων τεχνολογιών, η ιδέα ήταν να δημιουργηθεί κάτι που να είναι διασκεδαστικό και εκπαιδευτικό.
Απαιτήσεις του έργου:
- Εύχρηστος
- Φορητός
- Εύκολη αναβάθμιση του συνόλου των ερωτήσεων και απαντήσεων
- Πίνακας υψηλών βαθμολογιών
Πολλά στοιχεία είναι διαμορφώσιμα. Μπορείτε να δημιουργήσετε τη δική σας βάση δεδομένων με ερωτήσεις/απαντήσεις ή μπορείτε να χρησιμοποιήσετε έναν από τους πολλούς διακομιστές που προσφέρει μια βάση δεδομένων, όπου μπορείτε να επιλέξετε τον τύπο των ερωτήσεων, δύσκολο… Δημιούργησα για την κόρη μου μια βάση δεδομένων με ερωτήσεις πρώτης τάξης, αλλά μπορούμε αλλάξτε τη διαμόρφωση για να λαμβάνετε ερωτήσεις trivia από έναν διακομιστή oline. Αυτή η διδακτική έκδοση λάβετε τις ερωτήσεις από συνεργατικές ερωτήσεις και απαντήσεις, την Open Trivia Database. Έχω επιλέξει ερωτήσεις γενικής γνώσης αλλά μπορείτε να επιλέξετε ταινίες, αθλητικές ή θρησκευτικές ερωτήσεις.
Ζητώ συγγνώμη για τα κακά μου αγγλικά. Είμαι Ισπανός αλλά έχω προτιμήσει να δημιουργήσω αυτό το διδακτικό στα αγγλικά, ώστε να μπορεί να φτάσει σε περισσότερους ανθρώπους.
Πάμε!
Βήμα 1: Χρειάζεστε κάποια υλικά και εργαλεία…
Έχετε το μεγαλύτερο μέρος του υλικού στο σπίτι σίγουρα…
- Raspberry Pi 2/3 με κάρτα SD 8 GB ή παραπάνω (35 $)
- Raspberry Pi LCD 3.5 ιντσών με θήκη (11 $). Δείτε (αυτό είναι προαιρετικό, μπορείτε να χρησιμοποιήσετε οποιαδήποτε οθόνη έχετε, χρειάζεται μόνο να τροποποιήσετε τη θήκη QuizzPi για αυτό)
- Μπαταρίες. Μπορείτε να χρησιμοποιήσετε ένα power bank ή μπορείτε να χρησιμοποιήσετε μια μπαταρία DIY 18650 (5 $). Στην περίπτωσή μου χρησιμοποίησα ένα power bank Aukey 5000mah (12 $). Βλέπω
- Τέσσερα κουμπιά arcade. Έχω αυτά στο σπίτι (3 $, 12 κουμπιά για 10 $). Βλέπω
- Ένας διακόπτης on/off (0,25 $). Βλέπω
- Δύο υποδοχές USB (0,50 $)
- Ένα καλώδιο USB/micro USB
- Ένα φθηνό ηχείο (προαιρετικό) (0,25 $). Βλέπω
- Ένας ενισχυτής PAM8403 (προαιρετικός) (0,80 $). Βλέπω
- Ορισμένα καλώδια για σύνδεση κουμπιών, σύνδεσμος usb και διακόπτης ενεργοποίησης/απενεργοποίησης σε καρφίτσες GPIO (1 $;)
- Τέσσερις μαγνήτες νεοδυμίου ή μπορείτε να χρησιμοποιήσετε οτιδήποτε για να κλείσετε την πίσω πόρτα. Βλέπω
-
Κόντρα πλακέ. Χρησιμοποίησα κόντρα πλακέ 5mm αλλά μπορείτε να χρησιμοποιήσετε ό, τι έχετε στο σπίτι (2 $)
Χρειάζεστε και κάποια εργαλεία…
- Βοηθητικά προγράμματα συγκόλλησης
- Βιδωτοί οδηγοί
- Όπλο Hotglue
- Τρισδιάστατος εκτυπωτής (προαιρετικός)
Πάμε!
Βήμα 2: Ας σχεδιάσουμε μια δροσερή θήκη QuizzPi…
Το πρώτο πράγμα που χρειαζόμαστε είναι να γνωρίζουμε πόσοι χώροι χρειαζόμαστε για να συμπεριλάβουμε υλικό (Raspberry + οθόνη + κουμπιά + μπαταρία + καλώδια). Λαμβάνοντας υπόψη τα μέρη που περιγράφονται στο προηγούμενο βήμα, έκανα έναν τρισδιάστατο σχεδιασμό της θήκης χρησιμοποιώντας τον δωρεάν διαδικτυακό σχεδιαστή 3D Tinkercad (Βλέπε). Εάν θέλετε να εκτυπώσετε το μοντέλο 3D της θήκης, μπορείτε να το κατεβάσετε από το συνημμένο αρχείο θήκη QuizzPi.stl
Εκείνη τη στιγμή έπρεπε να αποφασίσω αν θα εκτυπώσω το μοντέλο στον τρισδιάστατο εκτυπωτή μου ή θα το φτιάξω από κόντρα πλακέ. Νόμιζα ότι όντας για την κόρη μου θα μπορούσα να ξοδέψω λίγο περισσότερο χρόνο για να το φτιάξω από κόντρα πλακέ. Έτσι παίρνω τα σχέδια από το τρισδιάστατο μοντέλο και κόβω το ξύλο.
Το επόμενο βήμα είναι να κολλήσετε θερμά τα μέρη…
Βήμα 3: Φτιάχνοντας τη θήκη από κόντρα πλακέ…
Μόλις έκοψα όλα τα μέρη κόντρα πλακέ των σχεδίων, το επόμενο βήμα είναι να τα κολλήσω θερμά. Σε ορισμένες ενώσεις έβαλα ενισχύσεις για να γίνει το κουτί πιο δυνατό. Στο πλαίσιο, σχεδιάζω με το μολύβι το περίγραμμα της οθόνης LCD και το κόβω. Κάνω τέσσερις τρύπες για τις βίδες. Εάν χρησιμοποιείτε διαφορετική οθόνη, πρέπει να τροποποιήσετε αυτό το στοιχείο.
Η πίσω πόρτα κλείνει με δύο μαγνήτες κολλημένους στην πόρτα και δύο μαγνήτες κόλλα στη θήκη, έτσι αποφεύγω τη χρήση μεντεσέδων.
Η θήκη QuizzPi ολοκληρώθηκε…
Βήμα 4: Καλωδίωση καρφιτσών GPIO, τοποθέτηση Raspberry+LCD…
Πρέπει να συνδέσουμε τα κουμπιά στο Raspberry Pi, ώστε να μπορεί να γνωρίζει ποιο κουμπί πατάει. Τα κουμπιά συνδέονται με καρφίτσες GPIO. Χρειαζόμαστε τέσσερις ακίδες IN GPIO συν έναν ακροδέκτη Gnd GPIO. Χρησιμοποίησα GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) και 39 (Gnd) για κόκκινα, κίτρινα, πράσινα και μπλε κουμπιά αντίστοιχα. Αυτή η οθόνη έχει διασύνδεση SPI. Αυτό σημαίνει ότι είναι συνδεδεμένο με την τράπεζα GPIO, οπότε πρώτα έβαλα σύρματα που τελείωσαν σε τετράγωνο στις καρφίτσες των κουμπιών και μετά ένωσα την οθόνη LCD.
Το επόμενο βήμα ήταν η τοποθέτηση της θήκης Raspberry+LCD+στο πλαίσιο. Χρησιμοποίησα τις βίδες της θήκης Raspberry Pi.
Το QuizzPi είναι τοποθετημένο…
Βήμα 5: Μπαταρία, κουμπιά, διακόπτης και συνδετήρας USB…
Χρησιμοποίησα ξανά το Tinkercad για να σχεδιάσω ένα κλιπ για να κρατάει το power bank στη θήκη. Τύπωσα το κλιπ με τον τρισδιάστατο εκτυπωτή μου και ένωσα τη θήκη με πιστόλι θερμής κόλλας. Επισυνάπτω το αρχείο.stl του μοντέλου παρακάτω. Εάν δεν έχετε πρόσβαση σε τρισδιάστατο εκτυπωτή, μπορείτε να συμμετάσχετε στο power bank με ταινία Velcro.
Το επόμενο βήμα είναι να συνδέσετε τον διακόπτη on/off μεταξύ της τράπεζας ισχύος και του Raspberry Pi. Πήρα ένα καλώδιο USB και έκοψα μόνο το καλώδιο τροφοδοσίας, έπειτα κόλλησα το ένα άκρο του καλωδίου στη μία ακίδα του διακόπτη ενεργοποίησης/απενεργοποίησης και το άλλο άκρο του σύρματος στην άλλη ακίδα του διακόπτη on/off. Έτσι, όταν ο διακόπτης απενεργοποίησης δεν περνάει από το swtich και το Raspberry είναι απενεργοποιημένο και όταν ο διακόπτης ενεργοποίησης περνάει από το swtich και το Raspberry είναι ενεργοποιημένο.
Όταν οι εκφορτίσεις της τράπεζας τροφοδοσίας είναι πρόβλημα να το βγάλετε από τη θήκη για να το φορτίσετε, οπότε δεν ήθελα να το βγάζω κάθε φορά για φόρτιση. Το πρόβλημα ήταν ότι η θύρα φόρτισης του power bank είναι τύπου USC C, και είχα μόνο το καλώδιο του power bank. Έτσι κόλλησα δύο θηλυκές υποδοχές USB και έβαλα τη θήκη. Ο συνδετήρας στο εσωτερικό για τη σύνδεση του καλωδίου τροφοδοσίας και ο εξωτερικός σύνδεσμος για τη σύνδεση καλωδίου τροφοδοσίας USB.
Η τοποθέτηση των κουμπιών και η καλωδίωση τους ήταν εύκολη. Τα κουμπιά έχουν 2 ακίδες, μία ακίδα κάθε κουμπιού συνδέεται με ένα κοινό καλώδιο που πηγαίνει σε μια γείωση καρφίτσα GPIO και η άλλη καρφίτσα του κουμπιού συνδέεται με την αντίστοιχη καρφίτσα GPIO του βατόμουρου. Το διάγραμμα καλωδίωσης φαίνεται στο συνημμένο διάγραμμα.
Το ηχοσύστημα βασίζεται στο PAM8403, έναν φθηνό ενισχυτή ήχου. Είναι απαραίτητο επειδή ο ήχος που προέρχεται από την υποδοχή του Raspberry Pi δεν είναι πολύ ισχυρός για να κάνει το ηχείο να λειτουργεί. Πρέπει να το τροφοδοτήσετε με 5v ή περισσότερο. Στις συνημμένες εικόνες μπορείτε να δείτε πώς να συνδέσετε τον ενισχυτή και το ηχείο. Χρειαζόμαστε μια αρσενική υποδοχή 3,5 mm για να συνδεθούμε στην υποδοχή ήχου/βίντεο του Rapberry. κόλλησα 3 καλώδια στην υποδοχή: ήχο, βίντεο και γείωση. Το συνημμένο διάγραμμα δείχνει ποια είναι η καρφίτσα του καθενός. Στη συνέχεια, κόλλησα ένα καλώδιο στον διακόπτη On/Off για λήψη ισχύος και ένα άλλο καλώδιο στο καλώδιο γείωσης από το καλώδιο της τράπεζας ισχύος. Στη συνέχεια, συνδέω τα καλώδια από το ηχείο στις εξόδους του ενισχυτή. Το εύκολο μέρος είναι η κατανομή του ηχοσυστήματος στην θήκη. Μπορείτε να δείτε στις εικόνες.
Το QuizzPi είναι τοποθετημένο, στην τελευταία φωτογραφία μπορούμε ακόμα να δούμε σημάδια μολυβιών στο ξύλο, αλλά είναι ώρα λογισμικού… πάμε να δημιουργήσουμε μια μικροσκοπική μηχανή κουίζ…
Βήμα 6: Rasbian Image and Programming the Quiz Engine…
Πατάμε το κουμπί λειτουργίας. Δεν συμβαίνει τίποτα. Ω Θεέ μου! Δεν δουλεύει! Τι μπορεί να φταίει; Υπάρχει καλώδιο χωρίς σύνδεση; Μην ανησυχείτε, πρέπει να εγκαταστήσουμε μια εικόνα στην κάρτα SD…
Ο κινητήρας κουίζ είναι γραμμένος σε Python 3, οπότε χρειαζόμαστε μια εικόνα Raspbian με εγκατεστημένο τον μεταγλωττιστή Python. Σε αυτό το σημείο πρέπει να λάβουμε υπόψη τον τύπο οθόνης που έχουμε εγκαταστήσει. Η οθόνη μου είναι διασύνδεση SPI και ο πωλητής δίνει μια εικόνα Raspbian με όλα τα προγράμματα οδήγησης οθόνης εγκατεστημένα. Αυτή η έκδοση του Raspbian διαθέτει επίσης κινητήρα Python. Μπορείτε να κατεβάσετε αυτήν την εικόνα σε αυτόν τον σύνδεσμο.
Εάν διαθέτετε οθόνη HDMI ή RCA, μπορείτε να κατεβάσετε την τελευταία εικόνα Raspbian διαθέσιμη στον ιστότοπο raspberrypi.org. Προσοχή: χρειάζεστε την έκδοση Desktop Rasbian, οπότε αποφύγετε να κάνετε λήψη εικόνας Lite Raspbian. Αυτές οι εικόνες περιέχουν μεταγλωττιστή Python.
Για να εγκαταστήσουμε την εικόνα στην κάρτα SD μπορούμε να χρησιμοποιήσουμε οποιαδήποτε εφαρμογή. Χρησιμοποιώ Win32diskimager. Στη συνέχεια, εισάγουμε την κάρτα SD στο Raspberry και πατάμε το διακόπτη on/off. Δουλεύει! Τώρα πρέπει να δημιουργήσουμε ένα πρόγραμμα Python με τη μηχανή κουίζ.
Το επόμενο βήμα είναι να κατεβάσετε τα αρχεία της μηχανής κουίζ. Έχω επισυνάψει τον πηγαίο κώδικα στο αρχείο QuizzPi.zip. Κατεβάστε την πηγή και δημιουργήστε ένα φάκελο στο Raspberry Pi:
# mkdir/home/pi/QuizzPi
και αποσυμπιέστε το αρχείο που έχετε κατεβάσει σε αυτόν το φάκελο.
Το QuizzPi.zip περιέχει αυτά τα αρχεία:
- QuizzPi.py - περιέχει τον κώδικα
- Αρχεία εικόνας-p.webp" />
- Αρχεία ήχου MP3 - μπορείτε να τα αλλάξετε για να τα εξατομικεύσετε
- losmejores.txt - περιέχει πίνακα High Scores, μπορείτε να τον διαγράψετε για να προετοιμάσετε τον πίνακα
- Instructions.txt
Δεν θα δώσω μια εξαντλητική εξήγηση για το πώς έχω προγραμματίσει τον κώδικα του κινητήρα στην Python επειδή είναι πολύ δύσκολο για άτομα χωρίς γνώσεις προγραμματισμού. Χρειάζεται μόνο να αποθηκεύσουν τα αρχεία στο Raspberry. Τα άτομα με γνώση προγραμματισμού θα μπορούν να το τροποποιήσουν χωρίς καμία εξήγηση.)
Οι ερωτήσεις και οι απαντήσεις προέρχονται από μια συνεργατική βάση δεδομένων ερωτήσεων & απαντήσεων που ονομάζεται Open Trivia Database, μπορείτε να βρείτε εδώ. Μπορείτε να αλλάξετε την κατηγορία και τις δύσκολες ερωτήσεις που αλλάζουν μια γραμμή στο αρχείο QuizzPi.py:
#Cargo desde URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'
αλλαγή με το url που λαμβάνεται από το διαμορφωτή api
Σχεδίασα τις οθόνες παιχνιδιών στο Photoshop, μπορείτε να τις τροποποιήσετε. Απλώς πρέπει να διατηρήσετε ορισμένες λευκές περιοχές στην οθόνη ερωτήσεων, στην οθόνη αποτελεσμάτων και στις οθόνες υψηλών βαθμολογιών, επειδή η μηχανή παιχνιδιού γράφει σε αυτές.
Μπορείτε επίσης να προσαρμόσετε τους ήχους του παιχνιδιού. Πρέπει μόνο να αλλάξετε τα αρχεία.mp3 από άλλους που θέλετε, πρέπει να διατηρήσετε τα ίδια ονόματα. Μπορείτε να λάβετε πολλούς ήχους από διαδικτυακές βάσεις δεδομένων, παίρνω νάρκες από το Free Sound Effects.
Τώρα πρέπει να τροποποιήσετε το Raspbian για να εκτελέσετε αυτόματα το QuizzPi. Μπορείτε να διαβάσετε αυτό το άρθρο όπου εξηγείτε πώς να το κάνετε:
Τελειώσαμε !!!
Βήμα 7: Επίδειξη…
Για να ολοκληρώσετε αυτό το διδακτικό μπορείτε να δείτε αυτό το βίντεο. Μπορείτε να δείτε ότι είναι εύκολο στη χρήση και το δύσκολο των ερωτήσεων εξαρτάται από εσάς…
Επεξεργασία: Το βίντεο ενημερώθηκε τώρα με ήχο!
Επόμενος στο Διαγωνισμό Μικροελεγκτών
Συνιστάται:
Ένα απλό παιχνίδι μαντείας - Python + XBees + Arduino: 10 βήματα
Ένα απλό παιχνίδι εικασίας - Python + XBees + Arduino: Δείτε πώς λειτουργεί το παιχνίδι: Έχετε 4 προσπάθειες να μαντέψετε ένα γράμμα μεταξύ ‘a’ - ‘h’ - > Μαντέψτε το σωστό γράμμα: Κερδίζετε! ;-> Μαντέψτε το λάθος γράμμα: Το παιχνίδι τελείωσε;-> Μαντέψτε οποιονδήποτε άλλο χαρακτήρα εκτός του «α» - «η»: Το παιχνίδι τελείωσε; Το Arduino σας θα σας αφήσει να
Πώς να φτιάξετε ένα παιχνίδι καρτών σε ένα Raspberry Pi: 8 βήματα
Πώς να φτιάξετε ένα παιχνίδι καρτών σε ένα Raspberry Pi: Ο σκοπός αυτού είναι να δημιουργήσετε ένα παιχνίδι στο raspberry pi χρησιμοποιώντας μουσική, κουμπιά, φώτα και βομβητή! το παιχνίδι ονομάζεται Άσοι και ο στόχος είναι να φτάσουμε όσο το δυνατόν πιο κοντά στο 21 χωρίς να το παρακάνουμε Βήμα 1: Προετοιμασία του Raspberry Pi Πάρτε το raspberry pi και
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: 5 βήματα
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: Λάβετε υπόψη ότι αυτό είναι τώρα αρκετά παλιό, οπότε ορισμένα μέρη είναι λανθασμένα και παλιά. Τα αρχεία που πρέπει να επεξεργαστείτε έχουν αλλάξει. Έχω ενημερώσει τον σύνδεσμο για να σας δώσω την πιο πρόσφατη έκδοση της εικόνας (χρησιμοποιήστε το 7-zip για να την αποσυμπιέσετε) αλλά για πλήρη εγκατάσταση
Πώς να ελέγξετε αν ένα παιχνίδι θα τρέξει στον υπολογιστή σας πριν αγοράσετε το παιχνίδι .: 4 βήματα
Πώς να ελέγξετε αν ένα παιχνίδι θα τρέξει στον υπολογιστή σας πριν αγοράσετε το παιχνίδι .: Πρόσφατα απέκτησα το Call of Duty 4 από έναν φίλο (δωρεάν θα μπορούσα να προσθέσω) επειδή δεν θα εκτελεστεί στον υπολογιστή του. Λοιπόν, ο υπολογιστής του είναι αρκετά νέος και με μπέρδεψε γιατί δεν θα λειτουργούσε. Έτσι, μετά από μερικές ώρες αναζήτησης στο διαδίκτυο, συνάντησα
Πώς να φτιάξετε ένα απλό παιχνίδι παρτίδας Trivia: 7 βήματα
Πώς να φτιάξετε ένα απλό παιχνίδι παρτίδας Trivia: Αυτός είναι ένας πολύ απλός τρόπος για να φτιάξετε ένα παιχνίδι trivia. Ελπίζω να σας αρέσει. Παρεμπιπτόντως, έχω ήδη δημοσιεύσει ένα παιχνίδι trivia, οπότε αν δεν θέλετε να φτιάξετε το δικό σας, απλώς μεταβείτε σε αυτόν τον ιστότοπο https://www.instructables.com/id/Trivia_Game/ο ιστότοπος που αναρτήθηκε από πάνω μας