INHOUDSOPGAWE:

QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python: 7 stappe (met foto's)
QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python: 7 stappe (met foto's)

Video: QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python: 7 stappe (met foto's)

Video: QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python: 7 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python
QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python
QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python
QuizzPi, 'n Raspberry Pi Trivia -speletjie met Python

QuizzPi is 'n trivia -speletjie van die arcade -tipe. QuizzPi is gebore omdat ek die behoefte gehad het om my dogter 'n vermaaklikheid te gee. Sy is 7 jaar oud en sy eis reeds die gebruik van nuwe tegnologieë, die idee was om iets wat pret en leersaam was te skep.

Vereistes van die projek:

  • Maklik om te gebruik
  • Draagbaar
  • Maklik om die stel vrae en antwoorde op te gradeer
  • Hoë tellings tabel

Verskeie items is instelbaar. U kan u eie databasis met vrae/antwoorde skep, of u kan een van die veelvuldige bedieners gebruik wat 'n databasis bied, waar u besluit watter tipe vrae moeilik is … Ek het vir my dogter 'n databasis van eerste graad vrae geskep, maar ons kan verander die opset om trivia -vrae van 'n oline -bediener af te kry. Hierdie instruksionele weergawe kry die vrae uit samewerkende vrae en antwoorde, die Open Trivia Database. Ek het algemene kennisvrae gekies, maar u kan film-, sport- of godsdiensvrae kies.

Ek vra om verskoning vir my swak Engels. Ek is Spaans, maar ek het verkies om hierdie instruksies in Engels te skep, sodat dit meer mense kan bereik.

Kom ons gaan!

Stap 1: u benodig materiale en gereedskap …

U benodig materiaal en gereedskap …
U benodig materiaal en gereedskap …

U het beslis die meeste materiaal tuis …

  • Framboos Pi 2/3 met 'n 8 GB of meer SD -kaart (35 $)
  • Framboos Pi 3,5 duim LCD met omhulsel (11 $). Sien (dit is opsioneel; u kan enige skerm gebruik, u hoef slegs die QuizzPi -koffer daarvoor te verander)
  • Batterye. U kan 'n kragbank gebruik, of u kan 'n selfoonpakket van 18650 (5 $) gebruik. In my geval het ek een Aukey 5000mah kragbank (12 $) gebruik. Sien
  • Vier arcade knoppies. Ek het dit tuis (3 $, 12 knoppies vir 10 $). Sien
  • Een aan/af skakelaar (0,25 $). Sien
  • Twee USB -aansluitings ($ 0,50)
  • Een USB/mikro USB kabel
  • Een goedkoop luidspreker (opsioneel) (0,25 $). Sien
  • Een PAM8403 versterker (opsioneel) (0,80 $). Sien
  • Sommige drade om knoppies, usb -aansluiting en aan/uit -skakelaar aan GPIO -penne te koppel ($ 1?)
  • Vier neodymium magnete, of u kan alles gebruik om die agterdeur toe te maak. Sien
  • Laaghout. Ek het 5 mm laaghout gebruik, maar jy kan alles wat jy by die huis het, gebruik (2 $)

U het ook 'n paar gereedskap nodig …

  • Soldeerhulpprogramme
  • Skroewedraaiers
  • Warmlijmpistool
  • 3D -drukker (opsioneel)

Kom ons gaan!

Stap 2: Laat ons 'n cool QuizzPi -koffer ontwerp …

Kom ons ontwerp 'n oulike QuizzPi -koffer …
Kom ons ontwerp 'n oulike QuizzPi -koffer …
Kom ons ontwerp 'n oulike QuizzPi -koffer …
Kom ons ontwerp 'n oulike QuizzPi -koffer …

Die eerste ding wat ons nodig het, is om te weet hoeveel ruimte ons benodig om hardeware (Framboos + skerm + knoppies + battery + drade) in te sluit. Met inagneming van die dele wat in die vorige stap beskryf is, het ek 'n 3D -ontwerp van die saak gemaak met behulp van die gratis 3D -ontwerper Tinkercad (sien). As u die 3D -model van die saak wil druk, kan u dit aflaai van die aangehegte lêer QuizzPi -koffer.stl.

Op daardie oomblik moes ek besluit of ek die model op my 3D -drukker gaan druk of van laaghout maak. Ek het gedink dat ek vir my dogter 'n bietjie meer tyd kon spandeer om dit uit laaghout te maak. Ek kry dus die planne van die 3D -model en sny die hout.

Die volgende stap is om die dele warm te plak …

Stap 3: Maak die laaghoutkas …

Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …
Maak die laaghoutkas …

Sodra ek al die laaghoutdele van die planne gesny het, is die volgende stap om hulle warm te plak. In sommige verbindings het ek versterkings aangebring om die boks sterker te maak. In die ring trek ek die omtrek van die LCD -skerm met die potlood en sny dit uit. Ek maak vier gate vir die skroewe. As u 'n ander skerm gebruik, moet u hierdie ding verander.

Die agterdeur sluit met twee magnete wat aan die deur vasgemaak is en twee magnete aan die omhulsel, sodat ek die gebruik van skarniere vermy.

Die QuizzPi -saak is klaar …

Stap 4: Bedrading van GPIO -penne, montering van framboos+LCD …

Bedrading GPIO -penne, montering van framboos+LCD …
Bedrading GPIO -penne, montering van framboos+LCD …
Bedrading GPIO -penne, montering van framboos+LCD …
Bedrading GPIO -penne, montering van framboos+LCD …
Bedrading GPIO -penne, montering van framboos+LCD …
Bedrading GPIO -penne, montering van framboos+LCD …

Ons moet die knoppies aan die Raspberry Pi koppel sodat dit kan weet watter knoppie gedruk word. Knoppies is gekoppel aan GPIO -penne. Ons benodig vier IN GPIO -penne plus een Gnd GPIO -pen. Ek het GPIO pen 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) en 39 (Gnd) gebruik vir onderskeidelik rooi, geel, groen en blou knoppies. Hierdie skerm het 'n SPI -koppelvlak. Dit beteken dat dit aan die GPIO -bank gekoppel is, en ek het eerstens die drade in vierkantige knoppies vasgemaak en dan die LCD -skerm verbind.

Die volgende stap was om die Raspberry+LCD+-kas op die ring te monteer. Ek het die eie skroewe van die Raspberry Pi -kas gebruik.

Die QuizzPi is gemonteer …

Stap 5: Battery, knoppies, skakelaar en USB -aansluiting …

Battery, knoppies, skakelaar en USB -aansluiting …
Battery, knoppies, skakelaar en USB -aansluiting …
Battery, knoppies, skakelaar en USB -aansluiting …
Battery, knoppies, skakelaar en USB -aansluiting …
Battery, knoppies, skakelaar en USB -aansluiting …
Battery, knoppies, skakelaar en USB -aansluiting …

Ek het weer Tinkercad gebruik om 'n clip te ontwerp om die kragbank aan die kas te hou. Ek het die snit met my 3D -drukker gedruk en met 'n warm gompistool by die boks gevoeg. Ek heg die.stl -lêer van die model hieronder aan. As u nie toegang tot 'n 3D -drukker het nie, kan u met klittenband op die kragbank aansluit.

Die volgende stap is om die aan/uit -skakelaar tussen die kragbank en die Raspberry Pi aan te sluit. Ek het 'n USB -kabel geneem en ek het net die kragdraad afgesny, en dan het ek die een punt aan die een pen van die aan/uit -skakelaar gesoldeer en die ander draadkant aan die ander pen van die aan/uit -skakelaar. Dus, as die skakelaar inskakel, gaan die skakelaar nie deur nie en framboos is af en as die skakelaar aanskakel, skakel die skakelaar en framboos aan.

As ontlading van 'n kragbank 'n probleem is, moet ek dit uit die boks haal om dit te laai, so ek wou dit nie elke keer uithaal om dit te laai nie. Die probleem was dat die laadpoort van die Power Bank USC -tipe is, en ek het net die kabel van die kragbank. Ek het dus twee vroulike USB -verbindings gesoldeer en in die kas gesit. Die aansluiting binne om die kragbankkabel aan te sluit, en die buitekant om 'n USB -kragkabel aan te sluit.

Dit was maklik om die knoppies te plaas en dit te bedek. Die knoppies het 2 penne, een pen van elke knoppie sluit aan op 'n gemeenskaplike kabel wat na 'n gemaalde GPIO -pen gaan, en die ander pen van die knoppie sluit aan by die onderskeie GPIO -pen van die framboos. Die bedradingsdiagram word in die aangehegte diagram getoon.

Die klankstelsel is gebaseer op PAM8403, 'n goedkoop klankversterker. Dit is nodig, want die geluid van die Raspberry Pi -aansluiting is nie te sterk om 'n luidspreker te laat werk nie. U moet dit met 5v of meer voed. Op die aangehegte beelde kan u sien hoe u die versterker en die luidspreker met 'n draad verbind. Ons benodig 'n manlike 3,5 mm -aansluiting om aan te sluit op die klank-/video -aansluiting van die Rapberry. Ek het 3 drade aan die aansluiting gesoldeer: klank, video en grond. Die aangehegte diagram toon watter pen almal is. Toe soldeer ek 'n draad aan die aan/uit -skakelaar om krag van te neem, en nog 'n draad na die gronddraad van die kragbankkabel. Dan koppel ek die drade van die luidspreker aan die uitsette van die versterker. Die maklike deel is om die klankstelsel in die geval toe te ken. U kan dit op die beelde sien.

QuizzPi is gemonteer, op die laaste foto kan ons nog steeds potloodmerke op die hout sien, maar dit is tyd vir sagteware … laat ons 'n klein vasvra -enjin maak …

Stap 6: Rasbian -beeld en programmering van die vasvra -enjin …

Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …
Rasbian -beeld en programmering van die vasvra -enjin …

Ons druk die aan / uit -knoppie. Niks gebeur. Ag my God! Dit werk nie! Wat kan verkeerd wees? Enige kabel sonder aansluiting? Moenie bekommerd wees nie, ons moet 'n prent op die SD -kaart installeer …

Die vasvra -enjin is in Python 3 geskryf, so ons benodig 'n Raspbian -beeld met die Python -samesteller geïnstalleer. Op hierdie punt moet ons die tipe skerm wat ons geïnstalleer het, in ag neem. My skerm is 'n SPI -koppelvlak, en die verkoper gee 'n Raspbian -beeld met al die skermbestuurders geïnstalleer. Hierdie weergawe van Raspbian het ook 'n Python -enjin. U kan hierdie prent in hierdie skakel aflaai.

As u 'n HDMI- of RCA -skerm het, kan u die laaste Raspbian -beeld aflaai wat beskikbaar is op raspberrypi.org -webwerf. Aandag: u het 'n lessenaar -Rasbian -weergawe nodig, dus vermy die aflaai van Lite Raspbian. Hierdie beelde bevat Python -samesteller.

Om die prent op die SD -kaart te installeer, kan ons enige toepassing gebruik. Ek gebruik Win32diskimager. Dan plaas ons die SD -kaart in die framboos en druk die aan/uit -skakelaar. Dit werk! Nou moet ons 'n Python -program skep met die vasvra -enjin.

Die volgende stap is om die lêers van die vasvra -enjin af te laai. Ek het die bronkode aangeheg in die lêer QuizzPi.zip. Laai die bron af en skep 'n gids in die Raspberry Pi:

# mkdir/home/pi/QuizzPi

en pak die lêer wat in hierdie gids afgelaai is, uit.

QuizzPi.zip bevat hierdie lêers:

  • QuizzPi.py - dit bevat die kode
  • MP3 -klanklêers - u kan verander om dit aan te pas
  • losmejores.txt - dit bevat 'n tabel met hoë tellings, u kan dit verwyder om die tabel te initialiseer
  • Instruksies.txt

Ek sal nie 'n volledige uiteensetting gee van hoe ek die enjinkode in Python geprogrammeer het nie, omdat dit te moeilik is vir mense sonder kennis van programmering. Hulle hoef net die lêers in die Framboos te stoor. Mense met kennis van programme kan dit sonder enige verduideliking verander;)

Vrae en antwoorde kom uit 'n saamgestelde databasis met vrae en antwoorde genaamd Open Trivia Database, wat u hier kan vind. U kan die kategorie en moeilike vrae verander deur 'n reël in die lêer QuizzPi.py te verander:

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

verander met die url verkry van die api -konfigurator

Ek het die spelskerms in Photoshop ontwerp, u kan dit verander. U hoef slegs 'n paar wit areas in die vraeskerm, in die resultate en die hoë tellings skerms te bewaar, omdat die spel -enjin daarop skryf.

U kan ook die geluide van die spel aanpas. U moet slegs die.mp3 -lêers verander deur ander wat u wil hê, u moet dieselfde name behou. U kan baie klanke uit aanlyn databasisse kry, ek kry myne van Free Sound Effects.

Nou moet u u Raspbian verander om QuizzPi outomaties te laat loop. U kan hierdie artikel lees waarin u verduidelik hoe u dit moet doen:

Ons is klaar !!!

Stap 7: Demonstrasie …

Image
Image

Om hierdie instruksie te voltooi, kan u hierdie video sien. U kan sien dat dit maklik is om te gebruik en die moeilike vrae hang van u af …

Edit: video nou opgedateer met klank!

Mikrokontroleur -kompetisie
Mikrokontroleur -kompetisie

Naaswenner in die mikrobeheerderwedstryd

Aanbeveel: