Obsah:

QuizzPi, Raspberry Pi Trivia Game With Python: 7 Steps (with Pictures)
QuizzPi, Raspberry Pi Trivia Game With Python: 7 Steps (with Pictures)

Video: QuizzPi, Raspberry Pi Trivia Game With Python: 7 Steps (with Pictures)

Video: QuizzPi, Raspberry Pi Trivia Game With Python: 7 Steps (with Pictures)
Video: QuizzPi, a Raspberry Pi trivia game 2024, Červenec
Anonim
QuizzPi, Raspberry Pi Trivia hra s Pythonem
QuizzPi, Raspberry Pi Trivia hra s Pythonem
QuizzPi, Raspberry Pi Trivia hra s Pythonem
QuizzPi, Raspberry Pi Trivia hra s Pythonem

QuizzPi je triviální hra arkádového typu. QuizzPi se narodil, protože jsem měl potřebu dát své dceři zábavu. Je jí 7 let a již požaduje použití nových technologií. Cílem bylo vytvořit něco, co by bylo zábavné i poučné.

Požadavky projektu:

  • Snadné použití
  • Přenosný
  • Snadné vylepšení sady otázek a odpovědí
  • Tabulka s vysokým skóre

Více položek lze konfigurovat. Můžete si vytvořit vlastní databázi otázek/odpovědí nebo můžete použít jeden z více serverů, které nabízejí databázi, kde se rozhodujete o typu otázek, obtížných … Vytvořil jsem pro svou dceru databázi otázek prvního stupně, ale můžeme změňte konfiguraci a získejte dotazy o drobnostech ze serveru oline. Tato instruktážní verze získává dotazy ze společných otázek a odpovědí, otevřené databáze Trivia. Vybral jsem otázky obecných znalostí, ale můžete si vybrat filmové, sportovní nebo náboženské otázky.

Omlouvám se za svou špatnou angličtinu. Jsem Španěl, ale upřednostňuji vytvořit tento návod v angličtině, aby se mohl dostat k více lidem.

Pojďme!

Krok 1: Potřebujete nějaké materiály a nástroje…

Potřebujete nějaké materiály a nástroje…
Potřebujete nějaké materiály a nástroje…

Většinu materiálu máte určitě doma …

  • Raspberry Pi 2/3 s 8 GB nebo více SD kartou (35 $)
  • 3,5palcový LCD displej Raspberry Pi s pouzdrem (11 $). Viz (toto je volitelné, můžete použít jakýkoli displej, který máte, stačí pro něj upravit pouzdro QuizzPi)
  • Baterie. Můžete použít powerbanku nebo můžete použít vlastní baterii 18650 (5 $). V mém případě jsem použil jednu powerbanku Aukey 5000 mAh (12 $). Vidět
  • Čtyři arkádová tlačítka. Tyto mám doma (3 $, 12 tlačítek za 10 $). Vidět
  • Jeden spínač zapnutí/vypnutí (0,25 $). Vidět
  • Dva konektory USB (0,50 $)
  • Jeden kabel USB/micro USB
  • Jeden levný reproduktor (volitelný) (0,25 $). Vidět
  • Jeden zesilovač PAM8403 (volitelný) (0,80 $). Vidět
  • Některé vodiče pro propojení tlačítek, USB konektoru a přepínače zapnutí/vypnutí na piny GPIO (1 $?)
  • Čtyři neodymové magnety nebo můžete k zavření zadních dveří použít cokoli. Vidět
  • Překližka. Použil jsem 5mm překližku, ale můžete použít jakoukoli, kterou máte doma (2 $)

Potřebujete také nějaké nástroje…

  • Nástroje pro pájení
  • Šroubováky
  • Horkovzdušná pistole
  • 3D tiskárna (volitelně)

Pojďme!

Krok 2: Pojďme navrhnout cool pouzdro QuizzPi…

Pojďme navrhnout cool pouzdro QuizzPi…
Pojďme navrhnout cool pouzdro QuizzPi…
Pojďme navrhnout cool pouzdro QuizzPi…
Pojďme navrhnout cool pouzdro QuizzPi…

První věc, kterou potřebujeme, je vědět, kolik místa potřebujeme na zahrnutí hardwaru (Raspberry + obrazovka + tlačítka + baterie + vodiče). S ohledem na části popsané v předchozím kroku jsem vytvořil 3D návrh pouzdra pomocí bezplatného online 3D návrháře Tinkercad (viz). Chcete -li vytisknout 3D model pouzdra, můžete si jej stáhnout z přiloženého souboru Pouzdro QuizzPi.stl.

V tu chvíli jsem se musel rozhodnout, zda model vytisknu na své 3D tiskárně, nebo ho vyrobím z překližky. Myslel jsem, že když jsem pro svou dceru, mohl bych strávit trochu víc času výrobou z překližky. Získávám tedy plány z 3D modelu a řezám dřevo.

Dalším krokem je lepení dílů za tepla…

Krok 3: Výroba překližkového pouzdra …

Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…
Výroba překližkového pouzdra…

Jakmile jsem odřízl všechny části překližky plánů, dalším krokem je jejich lepení za tepla. V některých spojeních jsem dal výztuhy, aby byla krabice silnější. Do lunety nakreslím tužkou obrys obrazovky LCD a vystřihnu ji. Udělám čtyři otvory pro šrouby. Pokud používáte jinou obrazovku, musíte tuto věc upravit.

Zadní dveře se zavírají dvěma magnety nalepenými na dveřích a dvěma magnety nalepenými na pouzdru, takže se vyhýbám používání pantů.

Případ QuizzPi je dokončen…

Krok 4: Zapojení GPIO pinů, montáž Raspberry+LCD…

Zapojení GPIO pinů, montáž Raspberry+LCD…
Zapojení GPIO pinů, montáž Raspberry+LCD…
Zapojení GPIO pinů, montáž Raspberry+LCD…
Zapojení GPIO pinů, montáž Raspberry+LCD…
Zapojení GPIO pinů, montáž Raspberry+LCD…
Zapojení GPIO pinů, montáž Raspberry+LCD…

Potřebujeme připojit tlačítka k Raspberry Pi, aby věděla, jaká tlačítka jsou stisknuta. Tlačítka jsou připojena k pinům GPIO. Potřebujeme čtyři IN GPIO piny plus jeden Gnd GPIO pin. Pro červené, žluté, zelené a modré tlačítko jsem použil GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) a 39 (Gnd). Tato obrazovka má rozhraní SPI. To znamená, že je připojen k GPIO bance, takže nejprve jsem vložil vodiče zakončené čtvercem do kolíků tlačítek a poté jsem připojil LCD obrazovku.

Dalším krokem bylo připevnění pouzdra Raspberry+LCD+na čelní kryt. Použil jsem vlastní šrouby pouzdra Raspberry Pi.

QuizzPi je namontován…

Krok 5: Baterie, tlačítka, přepínač a konektor USB…

Baterie, tlačítka, přepínač a konektor USB…
Baterie, tlačítka, přepínač a konektor USB…
Baterie, tlačítka, přepínač a konektor USB…
Baterie, tlačítka, přepínač a konektor USB…
Baterie, tlačítka, přepínač a konektor USB…
Baterie, tlačítka, přepínač a konektor USB…

Znovu jsem použil Tinkercad k návrhu klipu, který drží powerbanku v pouzdře. Klip jsem vytiskl svou 3D tiskárnou a připojil se k pouzdru horkou lepicí pistolí. Níže přikládám soubor.stl modelu. Pokud nemáte přístup k 3D tiskárně, můžete se připojit k powerbance pomocí pásky na suchý zip.

Dalším krokem je připojení vypínače mezi power bankou a Raspberry Pi. Vzal jsem USB kabel a přestřihl jsem jen napájecí vodič, pak jsem jeden konec drátu připájel k jednomu kolíku vypínače a druhý konec vodiče k druhému kolíku vypínače. Takže když vypínač ve vypnutém stavu neprochází přepínačem a Raspberry je vypnutý a když zapnuté napájení prochází přepínačem a Raspberry je zapnutý.

Když je vybití powerbanky problém vytáhnout z pouzdra a nabít, nechtěl jsem jej vytáhnout pokaždé, když se nabíjí. Problém byl v tom, že nabíjecí port powerbanky je USC typu C a já jsem měl jen kabel powerbanky. Pájel jsem tedy dva ženské USB konektory a vložil do pouzdra. Konektor uvnitř pro připojení kabelu napájecí banky a vnější konektor pro připojení napájecího kabelu USB.

Umístění tlačítek a jejich zapojení bylo snadné. Tlačítka mají 2 piny, jeden kolík každého tlačítka se připojuje ke společnému kabelu, který vede k uzemněnému kolíku GPIO, a druhý kolík tlačítka se připojuje k příslušnému kolíku GPIO na malině. Schéma zapojení je uvedeno na přiloženém schématu.

Zvukový systém je založen na PAM8403, levném zesilovači zvuku. Je to nutné, protože zvuk získaný z konektoru Raspberry Pi není příliš silný, aby fungoval reproduktor. Musíte jej napájet 5V nebo více. Na přiložených obrázcích vidíte, jak zapojit zesilovač a reproduktor. K připojení audio/video konektoru Rapberry potřebujeme 3,5 mm konektor. Ke konektoru jsem připájel 3 dráty: audio, video a uzemnění. Přiložený diagram ukazuje, jaký pin je každý. Poté jsem připájel vodič k vypínači pro zapnutí napájení a další vodič k uzemňovacímu kabelu z napájecího kabelu. Poté připojím vodiče z reproduktoru k výstupům zesilovače. Nejjednodušší je přidělit zvukový systém v pouzdře. Na obrázcích můžete vidět.

QuizzPi je namontovaný, na poslední fotografii můžeme stále vidět značky tužky na dřevě, ale je čas na software … pojďme vytvořit malý kvízový engine …

Krok 6: Rasbian Image a programování Quiz Engine…

Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…
Rasbian Image a programování Quiz Engine…

Stiskněte tlačítko napájení. Nic se neděje. Ó můj bože! To nejde! Co může být špatně? Nějaký kabel bez připojení? Nebojte se, musíme nainstalovat obrázek na SD kartu…

Kvízový engine je napsán v Pythonu 3, takže potřebujeme obrázek Raspbian s nainstalovaným kompilátorem Pythonu. V tomto okamžiku musíme vzít v úvahu typ obrazovky, kterou jsme nainstalovali. Moje obrazovka je rozhraní SPI a prodejce poskytuje obrázek Raspbian se všemi nainstalovanými ovladači obrazovky. Tato verze Raspbian má také Python engine. Tento obrázek si můžete stáhnout v tomto odkazu.

Pokud máte obrazovku HDMI nebo RCA, můžete si stáhnout poslední obrázek Raspbian, který je k dispozici na webu raspberrypi.org. Upozornění: potřebujete verzi Desktop Rasbian, takže se vyhněte stahování obrazu Lite Raspbian. Tyto obrázky obsahují kompilátor Pythonu.

K instalaci obrazu na kartu SD můžeme použít libovolnou aplikaci. Používám Win32diskimager. Poté vložíme SD kartu do Raspberry a stiskneme vypínač. Funguje to! Nyní musíme vytvořit program Python pomocí kvízového enginu.

Dalším krokem je stažení souborů kvízového enginu. Připojil jsem zdrojový kód do souboru QuizzPi.zip. Stáhněte si zdroj a vytvořte složku v Raspberry Pi:

# mkdir/home/pi/QuizzPi

a rozbalte soubor stažený do této složky.

QuizzPi.zip obsahuje tyto soubory:

  • QuizzPi.py - obsahuje kód
  • Soubory obrázků-p.webp" />
  • Zvukové soubory MP3 - můžete si je přizpůsobit
  • losmejores.txt - obsahuje tabulku High Scores, můžete ji smazat pro inicializaci tabulky
  • Instructions.txt

Nebudu podávat vyčerpávající vysvětlení toho, jak jsem naprogramoval kód motoru v Pythonu, protože je to těžké pro lidi bez znalosti programování. Potřebují pouze uložit soubory do Raspberry. Lidé s znalostmi programování to budou moci upravit bez jakéhokoli vysvětlení;)

Otázky a odpovědi pocházejí ze společné databáze otázek a odpovědí s názvem Open Trivia Database, kterou najdete zde. Můžete změnit kategorii a obtížnost otázek změnou řádku v souboru QuizzPi.py:

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

změna pomocí adresy URL získané z konfigurátoru API

Herní obrazovky jsem navrhl ve Photoshopu, můžete je upravit. Musíte pouze zachovat některé bílé oblasti na obrazovce s otázkami, na obrazovce s výsledky a na obrazovkách s nejvyšším skóre, protože na ně píše herní engine.

Zvuky hry si můžete také přizpůsobit. Musíte pouze změnit soubory.mp3 ostatními, které chcete, musíte zachovat stejná jména. Z online databází můžete získat spoustu zvuků, já získávám miny z Free Sound Effects.

Nyní musíte svůj Raspbian upravit, aby automaticky spustil QuizzPi. Můžete si přečíst tento článek, kde vysvětlete, jak na to:

Skončili jsme!!!

Krok 7: Ukázka…

Image
Image

Chcete -li dokončit tento návod, můžete se podívat na toto video. Vidíte, že se snadno používá a obtížná otázka závisí na vás…

Upravit: video bylo nyní aktualizováno se zvukem!

Soutěž o mikrořadič
Soutěž o mikrořadič

Runner Up in the Microcontroller Contest

Doporučuje: