Obsah:

QuizzPi, Raspberry Pi Trivia hra s Pythonom: 7 krokov (s obrázkami)
QuizzPi, Raspberry Pi Trivia hra s Pythonom: 7 krokov (s obrázkami)

Video: QuizzPi, Raspberry Pi Trivia hra s Pythonom: 7 krokov (s obrázkami)

Video: QuizzPi, Raspberry Pi Trivia hra s Pythonom: 7 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, December
Anonim
QuizzPi, drobná hra Raspberry Pi s Pythonom
QuizzPi, drobná hra Raspberry Pi s Pythonom
QuizzPi, drobná hra Raspberry Pi s Pythonom
QuizzPi, drobná hra Raspberry Pi s Pythonom

QuizzPi je triviálna hra arkádového typu. QuizzPi sa narodil, pretože som mal potrebu poskytnúť svojej dcére zábavu. Má 7 rokov a už požaduje používanie nových technológií. Cieľom bolo vytvoriť niečo, čo by bolo zábavné aj poučné.

Požiadavky projektu:

  • Jednoduché použitie
  • Prenosný
  • Ľahko aktualizujte sadu otázok a odpovedí
  • Tabuľka vysokých skóre

Viaceré položky sú konfigurovateľné. Môžete si vytvoriť vlastnú databázu otázok/odpovedí alebo môžete použiť jeden z viacerých serverov, ktoré ponúkajú databázu, kde sa rozhodnete pre typ otázok, ťažké, … Vytvoril som pre svoju dcéru databázu otázok prvého stupňa, ale môžeme zmeňte konfiguráciu, aby ste dostávali kvízové otázky zo servera oline. Táto inštrukčná verzia získava otázky z kolaboratívnych otázok a odpovedí, otvorenej databázy znalostí. Vybral som si otázky všeobecného vedomia, ale môžete si vybrať filmové, športové alebo náboženské otázky.

Ospravedlňujem sa za moju zlú angličtinu. Som Španiel, ale uprednostnil som vytvoriť tento návod v angličtine, aby sa mohol dostať k väčšiemu počtu ľudí.

Poďme!

Krok 1: Potrebujete nejaké materiály a nástroje …

Potrebujete nejaké materiály a nástroje…
Potrebujete nejaké materiály a nástroje…

Väčšinu materiálu máte určite doma …

  • Raspberry Pi 2/3 s kartou SD 8 Gb alebo viac (35 $)
  • 3,5 palcový LCD displej Raspberry Pi s puzdrom (11 $). Pozrite sa (toto je voliteľné, môžete použiť ľubovoľný displej, ktorý máte, stačí k nemu upraviť puzdro QuizzPi)
  • Batérie. Môžete použiť power banku alebo môžete použiť vlastnú batériu 18650 (5 $). V mojom prípade som použil jednu power banku Aukey 5000 mAh (12 $). Viď
  • Štyri arkádové tlačidlá. Tieto mám doma (3 $, 12 tlačidiel za 10 $). Viď
  • Jeden prepínač zapnutia/vypnutia (0,25 $). Viď
  • Dva konektory USB (0,50 $)
  • Jeden kábel USB/micro USB
  • Jeden lacný reproduktor (voliteľný) (0,25 $). Viď
  • Jeden zosilňovač PAM8403 (voliteľný) (0,80 $). Viď
  • Niektoré káble na prepojenie tlačidiel, konektora USB a vypínača/prepínača na kolíky GPIO (1 $?)
  • Štyri neodymové magnety alebo môžete na zatvorenie zadných dverí použiť čokoľvek. Viď
  • Preglejka. Použil som 5 mm preglejku, ale môžete použiť akúkoľvek, ktorú máte doma (2 $)

Potrebujete aj nejaké nástroje …

  • Pomôcky na spájkovanie
  • Skrutkovače
  • Horúca lepiaca pištoľ
  • 3D tlačiareň (voliteľné)

Poďme!

Krok 2: Poďme navrhnúť cool puzdro QuizzPi…

Poďme si navrhnúť cool puzdro QuizzPi…
Poďme si navrhnúť cool puzdro QuizzPi…
Poďme si navrhnúť cool puzdro QuizzPi…
Poďme si navrhnúť cool puzdro QuizzPi…

Prvá vec, ktorú potrebujeme, je vedieť, koľko miesta potrebujeme na zahrnutie hardvéru (malina + obrazovka + tlačidlá + batéria + vodiče). Vzhľadom na časti popísané v predchádzajúcom kroku som vytvoril 3D návrh puzdra pomocou bezplatného online 3D návrhára Tinkercad (pozri). Ak si chcete vytlačiť 3D model puzdra, môžete si ho stiahnuť z priloženého súboru Puzdro QuizzPi.stl.

V tej chvíli som sa musel rozhodnúť, či model vytlačím na 3D tlačiarni alebo ho vyrobím z preglejky. Myslel som si, že keď som pre svoju dcéru, môžem stráviť trochu viac času jej výrobou z preglejky. Dostávam teda plány z 3D modelu a pílim drevo.

Ďalším krokom je lepenie dielov za tepla …

Krok 3: Výroba preglejky …

Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…
Výroba preglejkového puzdra…

Akonáhle som odrezal všetky časti preglejky plánov, ďalším krokom je ich lepenie za tepla. Do niektorých spojení som vložil výstuhy, aby bola krabica pevnejšia. Do lunety nakreslím ceruzkou obrys obrazovky LCD a vystrihnem ju. Robím štyri otvory pre skrutky. Ak používate inú obrazovku, musíte túto vec upraviť.

Zadné dvere sa zatvárajú dvoma magnetmi prilepenými k dverám a dvoma magnetmi prilepenými k puzdru, takže sa vyhýbam používaniu pántov.

Prípad QuizzPi je dokončený …

Krok 4: Zapojenie GPIO pinov, montáž Raspberry+LCD…

Zapojenie GPIO pinov, montáž Raspberry+LCD…
Zapojenie GPIO pinov, montáž Raspberry+LCD…
Zapojenie GPIO pinov, montáž Raspberry+LCD…
Zapojenie GPIO pinov, montáž Raspberry+LCD…
Zapojenie GPIO pinov, montáž Raspberry+LCD…
Zapojenie GPIO pinov, montáž Raspberry+LCD…

Potrebujeme pripojiť tlačidlá k Raspberry Pi, aby vedel, aké tlačidlo je stlačené. Tlačidlá sú pripojené k pinom GPIO. Potrebujeme štyri IN GPIO piny plus jeden Gnd GPIO pin. Na červené, žlté, zelené a modré tlačidlo som použil GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) a 39 (Gnd). Táto obrazovka má rozhranie SPI. To znamená, že je pripojený k banke GPIO, takže najskôr som vložil vodiče zakončené štvorcom do kolíkov tlačidiel a potom som pripojil obrazovku LCD.

Ďalším krokom bolo namontovanie puzdra Raspberry+LCD+na rám. Použil som vlastné skrutky skrinky Raspberry Pi.

QuizzPi je namontovaný…

Krok 5: Batéria, tlačidlá, prepínač a konektor USB …

Batéria, tlačidlá, prepínač a konektor USB …
Batéria, tlačidlá, prepínač a konektor USB …
Batéria, tlačidlá, prepínač a konektor USB …
Batéria, tlačidlá, prepínač a konektor USB …
Batéria, tlačidlá, prepínač a konektor USB …
Batéria, tlačidlá, prepínač a konektor USB …

Tinkercad som znova použil na navrhnutie klipu, ktorý držal power banku v puzdre. Klip som vytlačil svojou 3D tlačiarňou a horúcou lepiacou pištoľou sa pripojil k puzdru. Nižšie prikladám súbor.stl modelu. Ak nemáte prístup k 3D tlačiarni, môžete sa pripojiť k powerbanke pomocou pásky na suchý zips.

Ďalším krokom je pripojenie vypínača medzi power banku a Raspberry Pi. Vzal som kábel USB a prestrihol som iba napájací vodič, potom som jeden koniec drôtu spájkoval na jeden kolík vypínača a druhý koniec drôtu na druhý kolík vypínača. Takže keď vypínač pri vypnutí neprejde prepínačom a Raspberry je vypnutý a keď vypínač pri zapnutí prejde prepínačom a Raspberry je zapnutý.

Keď je vybitie powerbanky problém vybrať ho z obalu a nabiť ho, nechcel som ho vyberať vždy na nabíjanie. Problém bol v tom, že nabíjací port powerbanky je USC typu C a ja som mal iba kábel powerbanky. Preto som spájkoval dva ženské konektory USB a vložil do puzdra. Vnútorný konektor na pripojenie kábla napájacej banky a vonkajší konektor na pripojenie napájacieho kábla USB.

Umiestnenie tlačidiel a ich zapojenie bolo jednoduché. Tlačidlá majú 2 piny, jeden kolík každého tlačidla sa pripája na spoločný kábel, ktorý smeruje k uzemnenému kolíku GPIO, a druhý kolík tlačidla sa pripája k príslušnému kolíku GPIO maliny. Schéma zapojenia je znázornená na priloženom diagrame.

Zvukový systém je založený na lacnom zosilňovači zvuku PAM8403. Je to nevyhnutné, pretože zvuk získavaný z konektora Raspberry Pi nie je príliš silný na to, aby reproduktor fungoval. Musíte ho napájať 5 V alebo viac. Na priložených obrázkoch vidíte, ako prepojiť zosilňovač a reproduktor. Na pripojenie k audio/video konektoru Rapberry potrebujeme mužský 3,5 mm konektor. Do konektora som spájkoval 3 vodiče: audio, video a uzemnenie. Priložený diagram ukazuje, aký pin je každý. Potom som k prepínaču zapnutia/vypnutia spájkoval drôt, z ktorého som odoberal energiu, a ďalší kábel k uzemňovaciemu káblu z napájacej banky. Potom zapojím vodiče z reproduktora do výstupov zosilňovača. Najjednoduchšou súčasťou je priradenie zvukového systému k puzdru. Môžete to vidieť na obrázkoch.

QuizzPi je namontovaný, na poslednej fotografii môžeme stále vidieť značky ceruzky na dreve, ale je čas na softvér … poďme vytvoriť malý kvízový engine …

Krok 6: Rasbian Image a programovanie kvízového motora …

Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …
Rasbian Image a programovanie kvízového motora …

Stlačíme vypínač. Nič sa nedeje. Bože môj! Nejde to! Čo môže byť zlé? Nejaký kábel bez pripojenia? Nebojte sa, musíme nainštalovať obrázok na kartu SD …

Kvízový engine je napísaný v Pythone 3, takže potrebujeme obrázok Raspbian s nainštalovaným kompilátorom Pythonu. V tomto mieste musíme vziať do úvahy typ obrazovky, ktorú sme nainštalovali. Moja obrazovka je rozhranie SPI a predajca poskytuje obrázok Raspbian so všetkými nainštalovanými ovládačmi obrazovky. Táto verzia Raspbian má aj engine Python. Tento obrázok si môžete stiahnuť v tomto odkaze.

Ak máte obrazovku HDMI alebo RCA, môžete si stiahnuť posledný obrázok Raspbian, ktorý je k dispozícii na webe raspberrypi.org. Upozornenie: Potrebujete verziu Desktop Rasbian, preto sa vyhnite sťahovaniu obrazu Lite Raspbian. Tieto obrázky obsahujú kompilátor Pythonu.

Na inštaláciu obrazu na kartu SD môžeme použiť ľubovoľnú aplikáciu. Používam Win32diskimager. Potom vložíme SD kartu do Raspberry a stlačíme vypínač. Funguje to! Teraz musíme vytvoriť program Python s kvízovým nástrojom.

Ďalším krokom je stiahnutie súborov kvízového jadra. Priložil som zdrojový kód do súboru QuizzPi.zip. Stiahnite si zdroj a vytvorte priečinok v Raspberry Pi:

# mkdir/home/pi/QuizzPi

a rozbaľte súbor stiahnutý do tohto priečinka.

QuizzPi.zip obsahuje tieto súbory:

  • QuizzPi.py - obsahuje kód
  • Súbory-p.webp" />
  • Zvukové súbory MP3 - môžete prispôsobiť a prispôsobiť
  • losmejores.txt - obsahuje tabuľku najvyšších skóre, môžete ju odstrániť a inicializovať tabuľku
  • Instructions.txt

Nebudem podávať vyčerpávajúce vysvetlenie toho, ako som naprogramoval kód motora v Pythone, pretože je to ťažké pre ľudí bez znalosti programovania. Potrebujú iba uložiť súbory do Raspberry. Ľudia s programovacími znalosťami ho budú môcť upraviť bez akéhokoľvek vysvetlenia;)

Otázky a odpovede pochádzajú z databázy otázok a odpovedí s názvom Open Trivia Database, ktorú nájdete tu. Kategóriu a náročnú otázku môžete zmeniť zmenou riadka v súbore QuizzPi.py:

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

zmena pomocou adresy URL získanej z konfigurátora rozhrania API

Herné obrazovky som navrhol vo Photoshope, môžete ich upravovať. Musíte iba zachovať niektoré biele oblasti na obrazovke s otázkami, na obrazovke s výsledkami a na obrazovkách s najvyšším skóre, pretože na ne píše herný engine.

Môžete si tiež prispôsobiť zvuky hry. Súbory.mp3 musíte zmeniť iba inými osobami, ktoré chcete, a zachovať rovnaké názvy. Z online databáz môžete získať veľa zvukov, ja získavam míny z bezplatných zvukových efektov.

Teraz musíte svoj Raspbian upraviť, aby automaticky spustil QuizzPi. Tento článok si môžete prečítať a vysvetliť, ako na to:

Skončili sme !!!

Krok 7: Ukážka…

Image
Image

Ak chcete dokončiť tento návod, môžete si pozrieť toto video. Vidíte, že sa ľahko používa a zložité otázky závisia od vás …

Upraviť: video bolo aktualizované so zvukom!

Súťaž o mikrokontrolér
Súťaž o mikrokontrolér

Druhé miesto v súťaži o mikrokontrolér

Odporúča: