Turinys:
- 1 žingsnis: jums reikia tam tikrų medžiagų ir įrankių …
- 2 žingsnis: suprojektuokime „QuizzPi“dėklą …
- 3 žingsnis: faneros dėklo gaminimas …
- 4 žingsnis: GPIO kaiščių prijungimas, „Raspberry+LCD“montavimas …
- 5 veiksmas: baterija, mygtukai, jungiklis ir USB jungtis …
- 6 veiksmas: „Rasbian“vaizdas ir „Quiz Engine“programavimas …
- 7 žingsnis: demonstracija …
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
„QuizzPi“yra arkadinis smulkmenų žaidimas. „QuizzPi“gimė, nes man reikėjo savo dukrai suteikti pramogų. Jai yra 7 metai ir ji jau reikalauja naudoti naujas technologijas, idėja buvo sukurti tai, kas būtų smagu ir mokoma.
Projekto reikalavimai:
- Paprasta naudoti
- Nešiojamas
- Lengva atnaujinti klausimų ir atsakymų rinkinį
- Aukštų balų lentelė
Konfigūruojami keli elementai. Galite sukurti savo klausimų/atsakymų duomenų bazę arba naudoti vieną iš kelių serverių, kuriuose yra duomenų bazė, kurioje galite nuspręsti, kokio tipo klausimai yra sudėtingi,… Aš sukūriau savo dukrai pirmos klasės klausimų duomenų bazę, bet mes galime pakeiskite konfigūraciją, kad gautumėte smulkmenų iš oline serverio. Ši pamokoma versija gauna klausimus iš bendrų klausimų ir atsakymų - atviros smulkmenų duomenų bazės. Turiu pasirinkti bendrųjų žinių klausimus, bet jūs galite pasirinkti filmų, sporto ar religijos klausimus.
Atsiprašau už prastą anglų kalbą. Esu ispanas, bet norėjau sukurti šį nurodymą anglų kalba, kad jis pasiektų daugiau žmonių.
Eime!
1 žingsnis: jums reikia tam tikrų medžiagų ir įrankių …
Didžiąją dalį medžiagos tikrai turite namuose …
- „Raspberry Pi 2/3“su 8 GB ar daugiau SD kortele (35 USD)
- „Raspberry Pi“3,5 colio skystųjų kristalų ekranas su dėklu (11 USD). Žiūrėkite (tai neprivaloma, galite naudoti bet kurį turimą ekraną, jums tereikia pakeisti „QuizzPi“dėklą)
- Baterijos. Galite naudoti maitinimo banką arba „pasidaryk pats“18650 akumuliatorių (5 USD). Mano atveju naudojau vieną „Aukey 5000mah“maitinimo banką (12 USD). Pamatyti
- Keturi pasažo mygtukai. Turiu juos namuose (3 USD, 12 mygtukų už 10 USD). Pamatyti
- Vienas įjungimo/išjungimo jungiklis (0,25 USD). Pamatyti
- Dvi USB jungtys (0,50 USD)
- Vienas USB/mikro USB kabelis
- Vienas pigus garsiakalbis (neprivaloma) (0,25 USD). Pamatyti
- Vienas PAM8403 stiprintuvas (neprivaloma) (0,80 USD). Pamatyti
- Kai kurie laidai, skirti susieti mygtukus, USB jungtį ir įjungimo/išjungimo jungiklį prie GPIO kaiščių (1 USD?)
- Keturi neodimio magnetai arba galite naudoti bet ką, kad uždarytumėte galines duris. Pamatyti
-
Fanera. Aš naudojau 5 mm fanerą, bet jūs galite naudoti bet ką, ką turite namuose (2 USD)
Jums taip pat reikia tam tikrų įrankių…
- Litavimo priemonės
- Sraigtiniai varžtai
- Karštų klijų pistoletas
- 3D spausdintuvas (neprivaloma)
Eime!
2 žingsnis: suprojektuokime „QuizzPi“dėklą …
Pirmas dalykas, kurio mums reikia, yra žinoti, kiek vietos mums reikia aparatinei įrangai (avietė + ekranas + mygtukai + baterija + laidai). Atsižvelgdamas į ankstesniame žingsnyje aprašytas dalis, sukūriau 3D korpuso dizainą naudodamas nemokamą internetinį 3D dizainerį Tinkercad (žr.). Jei norite atspausdinti 3D korpuso modelį, galite jį atsisiųsti iš pridėto failo „QuizzPi“dėklo.stl.
Tą akimirką turėjau nuspręsti, ar spausdinti modelį savo 3D spausdintuve, ar padaryti jį iš faneros. Maniau, kad būdama dukrai galiu skirti šiek tiek daugiau laiko gamindama ją iš faneros. Taigi aš gaunu planus iš 3D modelio ir pjaustau medieną.
Kitas žingsnis yra karšto dalių klijavimas …
3 žingsnis: faneros dėklo gaminimas …
Nupjovęs visas plano faneros dalis, kitas žingsnis yra karšto klijavimo. Kai kuriuose sujungimuose įdėjau sutvirtinimų, kad dėžutė būtų tvirtesnė. Prie rėmelio pieštuku nupiešiu LCD ekrano kontūrą ir iškirpiu. Aš darau keturias skyles varžtams. Jei naudojate kitą ekraną, turite tai pakeisti.
Galinės durys užsidaro dviem magnetais, priklijuotais prie durų, ir dviem magnetais, priklijuotais prie korpuso, todėl vengiu naudoti vyriai.
„QuizzPi“byla baigta …
4 žingsnis: GPIO kaiščių prijungimas, „Raspberry+LCD“montavimas …
Turime prijungti mygtukus prie „Raspberry Pi“, kad jis žinotų, koks mygtukas yra paspaudžiamas. Mygtukai yra prijungti prie GPIO kaiščių. Mums reikia keturių IN GPIO kaiščių ir vieno Gnd GPIO kaiščio. Aš naudoju GPIO kaištį 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) ir 39 (Gnd) atitinkamai raudoniems, geltoniems, žaliems ir mėlyniems mygtukams. Šis ekranas turi SPI sąsają. Tai reiškia, kad jis yra prijungtas prie GPIO banko, todėl pirmiausia aš įkišau laidus, kurie baigėsi kvadratu į mygtukų kaiščius, o tada prijungiau LCD ekraną.
Kitas žingsnis buvo sumontuoti „Raspberry+LCD+“dėklą ant rėmo. Aš naudoju paties „Raspberry Pi“dėklo varžtus.
„QuizzPi“yra sumontuotas…
5 veiksmas: baterija, mygtukai, jungiklis ir USB jungtis …
Aš vėl panaudojau „Tinkercad“, norėdamas sukurti klipą, kad laikytų maitinimo banką prie korpuso. Aš atspausdinau klipą savo 3D spausdintuvu ir prisijungiau prie dėklo karšto klijų pistoletu. Pridedu žemiau esančio modelio.stl failą. Jei neturite prieigos prie 3D spausdintuvo, galite prisijungti prie maitinimo banko su velcro juosta.
Kitas žingsnis yra prijungti įjungimo/išjungimo jungiklį tarp maitinimo banko ir „Raspberry Pi“. Aš paėmiau USB kabelį ir nukirpau tik maitinimo laidą, tada vieną laido galą lituodavau prie vieno įjungimo/išjungimo jungiklio kaiščio, o kitą laido galą - prie kito įjungimo/išjungimo jungiklio kaiščio. Taigi, kai išjungimo maitinimas neįeina per „Swtich“ir „Raspberry“yra išjungtas, o įjungus maitinimą - per „Swtich“ir „Raspberry“yra įjungtas.
Kai „Power Bank“išsikrovimas yra problema išimti jį iš dėklo ir įkrauti, todėl nenorėjau jo išimti kiekvieną kartą, kad įkrautumėte. Problema buvo ta, kad maitinimo banko įkrovimo prievadas yra C tipo USC, o aš turėjau tik maitinimo banko kabelį. Taigi lituodavau dvi moteriškas USB jungtis ir įdėjau į dėklą. Vidinė jungtis, skirta prijungti maitinimo bloko kabelį, ir išorinė jungtis, skirta prijungti USB maitinimo kabelį.
Įdėti mygtukus ir prijungti juos buvo paprasta. Mygtukai turi 2 kaiščius, vienas kiekvieno mygtuko kaištis jungiamas prie bendro kabelio, kuris eina į įžemintą GPIO kaištį, o kitas mygtuko kaištis prijungiamas prie atitinkamo aviečių GPIO kaiščio. Prijungimo schema parodyta pridedamoje schemoje.
Garso sistema pagrįsta pigiu garso stiprintuvu PAM8403. Tai būtina, nes garsas, gaunamas iš „Raspberry Pi“lizdo, nėra per stiprus, kad garsiakalbis veiktų. Jį reikia maitinti 5v ar daugiau. Pridedamuose paveikslėliuose galite pamatyti, kaip prijungti stiprintuvą ir garsiakalbį. Mums reikia 3,5 mm lizdo, kad galėtume prisijungti prie „Rapberry“garso/vaizdo lizdo. prie lizdo litavau 3 laidus: garso, vaizdo ir įžeminimo. Pridedama schema rodo, koks kaištis yra kiekvienas. Tada aš prijungiau laidą prie įjungimo/išjungimo jungiklio, kad gautumėte maitinimą, ir kitą laidą prie įžeminimo laido iš maitinimo banko kabelio. Tada aš prijungiu laidus iš garsiakalbio prie stiprintuvo išėjimų. Lengva dalis yra garso sistemos paskirstymas dėkle. Galite pamatyti paveikslėliuose.
„QuizzPi“yra sumontuotas, paskutinėje nuotraukoje vis dar matome pieštuko žymes ant medžio, tačiau atėjo programinės įrangos laikas … eikime kurti mažą viktorinos variklį …
6 veiksmas: „Rasbian“vaizdas ir „Quiz Engine“programavimas …
Paspaudžiame maitinimo mygtuką. Nieko neįvyksta. O Dieve! Tai neveikia! Kas gali būti negerai? Bet koks kabelis be jungties? Nesijaudinkite, turime įdiegti vaizdą į SD kortelę …
Viktorinos variklis yra parašytas „Python 3“, todėl mums reikia „Raspbian“vaizdo su įdiegtu „Python“kompiliatoriumi. Šiuo metu turime atsižvelgti į įdiegto ekrano tipą. Mano ekranas yra SPI sąsaja, o pardavėjas pateikia Raspbian vaizdą su visomis įdiegtomis ekrano tvarkyklėmis. Ši „Raspbian“versija taip pat turi „Python“variklį. Šią nuotrauką galite atsisiųsti iš šios nuorodos.
Jei turite HDMI arba RCA ekraną, galite atsisiųsti paskutinį Raspbian vaizdą, pasiekiamą raspberrypi.org svetainėje. Dėmesio: jums reikia „Desktop Rasbian“versijos, todėl venkite atsisiųsti „Lite Raspbian“vaizdo. Šiose nuotraukose yra „Python“kompiliatorius.
Norėdami įdiegti vaizdą į SD kortelę, galime naudoti bet kokią programą. Aš naudoju Win32diskimager. Tada įdedame SD kortelę į Raspberry ir paspaudžiame įjungimo/išjungimo jungiklį. Tai veikia! Dabar turime sukurti „Python“programą su „quizz“varikliu.
Kitas žingsnis - atsisiųsti viktorinos variklio failus. Pridėjau šaltinio kodą prie failo „QuizzPi.zip“. Atsisiųskite šaltinį ir sukurkite aplanką „Raspberry Pi“:
# mkdir/home/pi/QuizzPi
ir išpakuokite į šį aplanką atsisiųstą failą.
„QuizzPi.zip“yra šie failai:
- QuizzPi.py - jame yra kodas
- MP3 garso failai - galite pakeisti, kad suasmenintumėte
- losmejores.txt - joje yra aukštų rezultatų lentelė, galite ją ištrinti, kad inicijuotumėte lentelę
- Instrukcijos.txt
Aš nepateiksiu išsamaus paaiškinimo, kaip užprogramavau variklio kodą „Python“, nes žmonėms, neturintiems programavimo žinių, tai sunku. Jiems tereikia išsaugoti failus „Raspberry“. Žmonės, turintys programavimo žinių, galės juos keisti be jokio paaiškinimo;)
Klausimai ir atsakymai yra iš klausimų ir atsakymų duomenų bazės, pavadintos „Open Trivia Database“, kurią rasite čia. Galite pakeisti kategoriją ir sudėtingus klausimus, pakeisdami eilutę faile QuizzPi.py:
#Cargo desde URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'
keitimas naudojant URL, gautą iš API konfigūravimo priemonės
Aš sukūriau žaidimų ekranus „Photoshop“, galite juos keisti. Jums tereikia išsaugoti kai kurias baltas sritis klausimų ekrane, rezultatų ekrane ir aukštų rezultatų ekranuose, nes žaidimo variklis rašo ant jų.
Taip pat galite pritaikyti žaidimo garsus. Jums tereikia pakeisti.mp3 failus kitais, kuriuos norite, ir išsaugoti tuos pačius pavadinimus. Jūs galite gauti daug garsų iš internetinių duomenų bazių, aš gaunu minų iš nemokamų garso efektų.
Dabar turite pakeisti „Raspbian“, kad automatiškai paleistumėte „QuizzPi“. Galite perskaityti šį straipsnį, kuriame paaiškinta, kaip tai padaryti:
Mes baigėme !!!
7 žingsnis: demonstracija …
Norėdami užbaigti šią instrukciją, galite pamatyti šį vaizdo įrašą. Matote, kad juo lengva naudotis, o klausimų sudėtingumas priklauso nuo jūsų …
Redaguoti: vaizdo įrašas dabar atnaujintas garsu!
Antroji vieta mikrovaldiklių konkurse
Rekomenduojamas:
„Python Tic Tac Toe“žaidimas: 4 žingsniai
„Python Tic Tac Toe“žaidimas: „Python Tic Tac Toe“žaidimas Šis žaidimas sukurtas kompiuterine „Python“versija Aš naudoju „Python“redaktorių, pavadintą: pycharm, taip pat galite naudoti įprastą „Python“kodo redaktorių
Simono žaidimas - įdomus žaidimas!: 5 žingsniai
Simono žaidimas - įdomus žaidimas!: Nuoroda: čia Laikas mums treniruoti smegenis, ar ne? Be tų nuobodžių ir beprasmių žaidimų, yra žaidimas „Simono žaidimas“
Python atspėjimo žaidimas: 9 žingsniai
„Python Guessing Game“: šiose instrukcijose pateikiamos žingsnis po žingsnio instrukcijos, kaip parašyti programą naudojant atsitiktinį modulį ir sukurti atspėjimo žaidimą, kuris sąveikauja su vartotoju. Norėdami pradėti, kompiuteryje turite įdiegti „python“ir taip pat veikti
Smulkmenų žaidimo atsakymo mygtukai: 8 žingsniai (su paveikslėliais)
Smulkmenos žaidimo atsakymo mygtukai: Naudodami šią grandinę galėsite paleisti savo žaidimų šou. Kai paspausite vieną iš grotuvo mygtukų abiejose dėžutės pusėse, atitinkama lemputė užsidegs, o kitas mygtukas bus išjungtas, kad būtų parodytas, kas atsakė į klausimus
Kaip sukurti paprastą smulkmenų žaidimą: 7 žingsniai
Kaip sukurti paprastą smulkmenų žaidimą: tai labai paprastas būdas sukurti smulkmenos žaidimą. Tikiuosi, kad jums patiks. Beje, aš taip pat jau paskelbiau smulkmenų žaidimą, taigi, jei nenorite sukurti savo, tiesiog eikite į šią svetainę https://www.instructables.com/id/Trivia_Game/ virš mūsų paskelbta svetainė