Sisukord:

QuizzPi, Raspberry Pi trivia mäng Pythoniga: 7 sammu (piltidega)
QuizzPi, Raspberry Pi trivia mäng Pythoniga: 7 sammu (piltidega)

Video: QuizzPi, Raspberry Pi trivia mäng Pythoniga: 7 sammu (piltidega)

Video: QuizzPi, Raspberry Pi trivia mäng Pythoniga: 7 sammu (piltidega)
Video: QuizzPi, a Raspberry Pi trivia game 2024, November
Anonim
QuizzPi, Raspberry Pi trivia mäng Pythoniga
QuizzPi, Raspberry Pi trivia mäng Pythoniga
QuizzPi, Raspberry Pi trivia mäng Pythoniga
QuizzPi, Raspberry Pi trivia mäng Pythoniga

QuizzPi on arcade tüüpi tühiasi mäng. QuizzPi sündis, kuna mul oli vaja oma tütrele meelelahutust pakkuda. Ta on 7 -aastane ja nõuab juba uute tehnoloogiate kasutamist, idee oli luua midagi lõbusat ja harivat.

Projekti nõuded:

  • Lihtne kasutada
  • Kaasaskantav
  • Küsimuste ja vastuste komplekti on lihtne uuendada
  • Kõrgete tulemuste tabel

Mitu üksust on konfigureeritavad. Saate luua oma küsimuste/vastuste andmebaasi või kasutada ühte mitmest serverist, mis pakub andmebaasi, kus otsustate keeruliste küsimuste tüübi… Ma lõin oma tütre jaoks esimese klassi küsimuste andmebaasi, kuid saame muutke konfiguratsiooni, et saada olivia -serverilt tühiasi. See juhendatav versioon saab küsimused koostööküsimustest ja vastustest, avatud trivia andmebaasist. Mul on valida üldteadmiste küsimusi, kuid saate valida filmi, spordi või religiooni küsimusi.

Vabandan oma kehva inglise keele pärast. Olen hispaanlane, kuid olen eelistanud koostada selle juhendi inglise keeles, et see jõuaks rohkemate inimesteni.

Lähme!

Samm: vajate mõningaid materjale ja tööriistu …

Te vajate mõningaid materjale ja tööriistu…
Te vajate mõningaid materjale ja tööriistu…

Suurem osa materjalist on teil kindlasti kodus…

  • Raspberry Pi 2/3 8 GB või rohkem SD -kaardiga (35 $)
  • Raspberry Pi 3,5 -tolline LCD ekraan koos korpusega (11 dollarit). Vaadake (see on valikuline, saate kasutada mis tahes kuvarit, vaid peate selle jaoks QuizzPi korpust muutma)
  • Patareid. Võite kasutada toitepanka või kasutada diy 18650 akut (5 dollarit). Minu puhul kasutasin ühte Aukey 5000mah võimsuspanka (12 dollarit). Vt
  • Neli arkaadinuppu. Mul on neid kodus (3 dollarit, 12 nuppu 10 dollari eest). Vt
  • Üks sisse/välja lüliti (0,25 dollarit). Vt
  • Kaks USB -pistikut (0,50 dollarit)
  • Üks USB/mikro -USB -kaabel
  • Üks odav kõlar (valikuline) (0,25 $). Vt
  • Üks PAM8403 võimendi (valikuline) (0,80 dollarit). Vt
  • Mõned juhtmed nuppude, USB -pistiku ja sisse/välja lülitamiseks GPIO -pistikutega (1 $?)
  • Tagaukse sulgemiseks võite kasutada nelja neodüümmagnetit. Vt
  • Vineer. Ma kasutasin 5 mm vineeri, kuid võite kasutada kõiki, mis teil kodus on (2 dollarit)

Teil on vaja ka tööriistu…

  • Jootmisvahendid
  • Kruvikeerajad
  • Kuumliimipüstol
  • 3D -printer (valikuline)

Lähme!

Samm: kujundame laheda QuizzPi ümbrise…

Disainime laheda QuizzPi ümbrise…
Disainime laheda QuizzPi ümbrise…
Disainime laheda QuizzPi ümbrise…
Disainime laheda QuizzPi ümbrise…

Esimene asi, mida vajame, on teada, kui palju ruumi me riistvara (vaarikas + ekraan + nupud + aku + juhtmed) kaasamiseks vajame. Võttes arvesse eelmises etapis kirjeldatud osi, tegin tasuta 3D -disaineri Tinkercad (vt) abil korpuse 3D -kujunduse. Kui soovite printida korpuse 3D -mudeli, saate selle alla laadida lisatud QuizzPi ümbrisest.stl.

Sel hetkel pidin otsustama, kas printida mudel oma 3D -printerile või teha see vineerist. Mõtlesin, et tütre jaoks võin kulutada veidi rohkem aega vineerist valmistamiseks. Seega saan 3D -mudelist plaanid ja lõikan puid.

Järgmine samm on osade kuumliimimine…

Samm: vineerist korpuse valmistamine…

Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…
Vineerkarbi tegemine…

Kui olin plaanide kõik vineerist osad ära lõiganud, on järgmine samm nende kuumliimimine. Mõnes ühenduses panin tugevdusi, et karpi tugevamaks muuta. Raamile joonistan pliiatsiga LCD -ekraani kontuuri ja lõikan selle välja. Kruvide jaoks teen neli auku. Kui kasutate erinevat ekraani, peate seda muutma.

Tagauks sulgub kahe magnetiga, mis on liimitud ukse külge ja kahe magnetiga, mis on liimitud korpuse külge, nii et ma väldin hingede kasutamist.

QuizzPi juhtum on lõppenud …

Samm: GPIO -tihvtide ühendamine, vaarika+LCD paigaldamine…

GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…
GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…
GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…
GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…
GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…
GPIO tihvtide juhtmestik, vaarika+LCD paigaldamine…

Peame nupud Raspberry Pi -ga ühendama, et see saaks teada, millist nuppu vajutatakse. Nupud on ühendatud GPIO tihvtidega. Vajame nelja IN GPIO tihvti pluss ühte Gnd GPIO tihvti. Punase, kollase, rohelise ja sinise nupu jaoks kasutasin GPIO tihvti 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) ja 39 (Gnd). Sellel ekraanil on SPI liides. See tähendab, et see on ühendatud GPIO pangaga, nii et kõigepealt panin ruuduga lõppenud juhtmed nööpnõeltesse ja seejärel ühendasin LCD -ekraani.

Järgmine samm oli Raspberry+LCD+ümbrise paigaldamine raamile. Kasutasin Raspberry Pi korpuse enda kruvisid.

QuizzPi on paigaldatud…

Samm: aku, nupud, lüliti ja USB -pistik …

Aku, nupud, lüliti ja USB -pistik …
Aku, nupud, lüliti ja USB -pistik …
Aku, nupud, lüliti ja USB -pistik …
Aku, nupud, lüliti ja USB -pistik …
Aku, nupud, lüliti ja USB -pistik …
Aku, nupud, lüliti ja USB -pistik …

Kasutasin uuesti Tinkercadi, et kujundada klamber, mis hoiab toitepanka korpuse küljes. Prindisin klambri oma 3D -printeriga ja ühendan korpusega kuuma liimipüstoliga. Lisan allpool oleva mudeli.stl -faili. Kui teil pole juurdepääsu 3D -printerile, saate toitepangaga liituda takjapaelaga.

Järgmine samm on toitepanga ja Raspberry Pi vahelise toitelüliti ühendamine. Võtsin USB -kaabli ja katkestasin ainult toitejuhtme, seejärel jootsin ühe juhtmeotsa sisse/välja lüliti ühe tihvti külge ja teise juhtme otsa sisse/väljalüliti teise tihvti külge. Nii et kui väljalülitatud toide ei lähe läbi lüliti ja vaarikas on välja lülitatud ning kui sisse lülitatud toide läheb läbi lüliti ja vaarikas on sisse lülitatud.

Kui elektripanga tühjenemine on probleemiks, et see korpusest välja laadida, nii et ma ei tahtnud seda iga kord laadimiseks välja võtta. Probleem oli selles, et toitepanga laadimisport on USC tüüpi C ja mul oli ainult toitepanga kaabel. Nii ma jootsin kaks naissoost USB -pistikut ja panin korpuse sisse. Sisemine pistik toitepanga kaabli ühendamiseks ja väline pistik USB -toitekaabli ühendamiseks.

Nuppude paigutamine ja juhtmete ühendamine oli lihtne. Nuppudel on 2 tihvti, üks nööpnõel igast nupust ühendatakse tavalise kaabliga, mis läheb maandatud GPIO -tihvti külge, ja teine nupu tihvt ühendatakse vastava vaarika GPIO -tihvtiga. Ühendusskeem on näidatud lisatud skeemil.

Helisüsteem põhineb odaval helivõimendil PAM8403. See on vajalik, sest Raspberry Pi pistikupesast tulev heli ei ole kõlari toimimiseks liiga võimas. Peate seda toiteallikaks andma 5 või enam. Lisatud piltidel näete, kuidas võimendit ja kõlarit ühendada. Vajame Rapberry audio/video pesaga ühendamiseks isast 3,5 mm pesa. Jootsin pesasse 3 juhtmest: heli, video ja maandus. Lisatud diagramm näitab, milline tihvt on igaüks. Siis jootsin toite toiteallikaks sisse/välja lülitile ja teise juhtme maandusjuhtmele toitepanga kaabli kaudu. Seejärel ühendan kõlari juhtmed võimendi väljunditega. Lihtne on helisüsteem korpusesse paigutada. Näete piltidelt.

QuizzPi on paigaldatud, viimasel fotol näeme puidul veel pliiatsijälgi, kuid on tarkvara aeg … lähme loome väikese viktoriinimootori …

Samm 6: Rasbia pilt ja viktoriinimootori programmeerimine …

Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…
Rasbia pilt ja viktoriinimootori programmeerimine…

Vajutame toitenuppu. Midagi ei juhtu. Oh mu jumal! See ei tööta! Mis võib viga olla? Kas mõni kaabel ilma ühenduseta? Ärge muretsege, peame installima pildi SD -kaardile …

Viktoriinimootor on kirjutatud Python 3 -s, seega vajame Raspbiani pilti koos installitud Pythoni kompilaatoriga. Siinkohal peame arvestama paigaldatud ekraani tüübiga. Minu ekraan on SPI liides ja müüja annab Raspbiani pildi koos kõigi installitud ekraanidraiveritega. Sellel Raspbiani versioonil on ka Pythoni mootor. Selle pildi saate alla laadida sellel lingil.

Kui teil on HDMI- või RCA -ekraan, saate alla laadida viimase Raspbiani pildi, mis on saadaval saidil raspberrypi.org. Tähelepanu: teil on vaja töölaua Rasbiani versiooni, seega vältige Lite Raspbiani pildi allalaadimist. Need pildid sisaldavad Pythoni kompilaatorit.

Pildi installimiseks SD -kaardile saame kasutada mis tahes rakendust. Ma kasutan Win32diskimagerit. Seejärel sisestame SD -kaardi vaarikasse ja vajutame sisse/välja lülitit. See töötab! Nüüd peame looma viktoriinmootoriga Pythoni programmi.

Järgmine samm on viktoriinimootori failide allalaadimine. Lisasin lähtekoodi faili QuizzPi.zip. Laadige allikas alla ja looge Raspberry Pi kaust:

# mkdir/home/pi/QuizzPi

ja pakkige sellesse kausta allalaaditud fail lahti.

QuizzPi.zip sisaldab järgmisi faile:

  • QuizzPi.py - see sisaldab koodi
  • MP3 helifailid - saate muuta isikupärastamiseks
  • losmejores.txt - see sisaldab tabelit High Scores, saate selle kustutada, et lähtestada tabel
  • Instructions.txt

Ma ei anna ammendavat selgitust selle kohta, kuidas olen Pythonis mootorikoodi programmeerinud, sest see on inimestele, kellel pole programmeerimisteadmisi, raske. Neil on vaja ainult failid vaarikasse salvestada. Programmeerimisteadmistega inimesed saavad seda ilma selgitusteta muuta;)

Küsimused ja vastused pärinevad küsimuste ja vastuste andmebaasist Open Trivia Database, mille leiate siit. Saate muuta kategooriat ja keerulisi küsimusi, muutes faili QuizzPi.py rida:

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

muutmine api konfiguraatorilt saadud URL -iga

Kujundasin mänguekraanid Photoshopis, saate neid muuta. Peate säilitama ainult mõned valged alad küsimuste ekraanil, tulemuste ekraanil ja rekordite ekraanidel, sest mängumootor kirjutab neile.

Samuti saate isikupärastada mängu helisid. Peate muutma ainult soovitud.mp3 -faile teiste poolt, samad nimed tuleb säilitada. Interneti -andmebaasidest saate palju helisid, mina saan tasuta heliefektidest miinid.

Nüüd peate oma Raspbiani muutma, et QuizzPi automaatselt käivitada. Seda artiklit saate lugeda, kus selgitatakse, kuidas seda teha:

Oleme lõpetanud !!!

7. samm: demonstratsioon…

Image
Image

Selle juhendi lõpetamiseks näete seda videot. Näete, et seda on lihtne kasutada ja küsimuste keerukus sõltub teist…

Edit: video on nüüd värskendatud heliga!

Mikrokontrollerite võistlus
Mikrokontrollerite võistlus

Mikrokontrollerite võistluse teine koht

Soovitan: