Tartalomjegyzék:

QuizzPi, egy Raspberry Pi trivia játék Pythonnal: 7 lépés (képekkel)
QuizzPi, egy Raspberry Pi trivia játék Pythonnal: 7 lépés (képekkel)

Videó: QuizzPi, egy Raspberry Pi trivia játék Pythonnal: 7 lépés (képekkel)

Videó: QuizzPi, egy Raspberry Pi trivia játék Pythonnal: 7 lépés (képekkel)
Videó: ADIVINA 50 PELÍCULAS por los EMOJIS 🎬 | QUIZZY! 2024, November
Anonim
QuizzPi, egy Raspberry Pi trivia játék Python -szal
QuizzPi, egy Raspberry Pi trivia játék Python -szal
QuizzPi, egy Raspberry Pi trivia játék Python -szal
QuizzPi, egy Raspberry Pi trivia játék Python -szal

A QuizzPi egy arcade típusú trivia játék. A QuizzPi azért született, mert szükségem volt szórakoztatni a lányomat. 7 éves, és már igényli az új technológiák használatát, az ötlet az volt, hogy valami szórakoztató és tanulságos legyen.

A projekt követelményei:

  • Könnyen kezelhető
  • Hordozható
  • Könnyen frissíthető a kérdések és válaszok halmaza
  • Magas pontszámok táblázat

Több elem konfigurálható. Létrehozhat saját kérdések/válaszok adatbázist, vagy használhatja a több olyan kiszolgáló egyikét, amely adatbázist kínál, ahol eldöntheti, hogy milyen típusú kérdések vannak, nehéz,… Létrehoztam a lányomnak egy első osztályú kérdések adatbázisát, de módosítsa a konfigurációt, hogy trivia kérdéseket kapjon egy oline szervertől. Ez az oktatható verzió a kérdéseket egy közös kérdésekből és válaszokból, az Open Trivia Database -ből kapja. Vannak általános ismeretekkel kapcsolatos kérdéseim, de választhat film, sport vagy vallás kérdéseket.

Elnézést kérek szegény angolomért. Spanyol vagyok, de inkább angolul készítettem ezt az oktatható anyagot, hogy több emberhez eljusson.

Gyerünk!

Lépés: Szükség van néhány anyagra és eszközre…

Szükség van néhány anyagra és eszközre…
Szükség van néhány anyagra és eszközre…

A legtöbb anyag biztosan otthon van…

  • Raspberry Pi 2/3 8 Gb vagy több SD -kártyával (35 $)
  • Raspberry Pi 3,5 hüvelykes LCD kijelző tokkal (11 $). Lásd (ez opcionális, bármilyen kijelzőt használhat, csak módosítania kell a QuizzPi tokját)
  • Akkumulátorok. Használhat tápegységet, vagy használhat egy diy 18650 akkumulátorcsomagot (5 USD). Az én esetemben egy Aukey 5000mah power bankot használtam (12 $). Lát
  • Négy arcade gomb. Vannak ilyenek otthon (3 dollár, 12 gomb 10 dollárért). Lát
  • Egy ki/be kapcsoló (0,25 $). Lát
  • Két USB csatlakozó (0,50 $)
  • Egy USB/mikro USB kábel
  • Egy olcsó hangszóró (opcionális) (0,25 $). Lát
  • Egy PAM8403 erősítő (opcionális) (0,80 USD). Lát
  • Néhány vezeték a gombok, az USB -csatlakozó és a ki-/bekapcsoló GPIO -csatlakozókkal való összekapcsolásához (1 $?)
  • Négy neodímium mágnes, vagy bármit használhat a hátsó ajtó bezárásához. Lát
  • Furnér. 5 mm -es rétegelt lemezt használtam, de bármit használhatsz otthon (2 $)

Önnek is szüksége van néhány eszközre…

  • Forrasztási segédprogramok
  • Csavarhúzók
  • Ragasztópisztoly
  • 3D nyomtató (opcionális)

Gyerünk!

2. lépés: Tervezzünk egy menő QuizzPi tokot…

Tervezzünk egy menő QuizzPi tokot…
Tervezzünk egy menő QuizzPi tokot…
Tervezzünk egy menő QuizzPi tokot…
Tervezzünk egy menő QuizzPi tokot…

Az első dolog, amire szükségünk van, hogy tudjuk, mennyi hely szükséges a hardverhez (Málna + képernyő + gombok + akkumulátor + vezetékek). Figyelembe véve az előző lépésben leírt részeket, elkészítettem a tok 3D -s tervezését az ingyenes online 3D tervező, Tinkercad segítségével (lásd). Ha ki szeretné nyomtatni a tok 3D -s modelljét, letöltheti azt a csatolt QuizzPi tokból.stl.

Abban a pillanatban el kellett döntenem, hogy a modellt a 3D nyomtatómon nyomtassam, vagy rétegelt lemezből készítsem el. Azt hittem, hogy a lányom számára egy kicsit több időt tölthetek rétegelt lemezből. Így a terveket a 3D -s modellből veszem, és kivágom a fát.

A következő lépés az alkatrészek ragasztása…

3. lépés: A rétegelt lemez tok elkészítése…

A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…
A rétegelt lemez tok elkészítése…

Miután levágtam a tervek minden rétegelt lemez részét, a következő lépés a ragasztás. Néhány csatlakozásnál megerősítéseket tettem, hogy a doboz erősebb legyen. A keretben rajzolom a ceruzával az LCD képernyő körvonalait, és kivágom. Négy lyukat készítek a csavarokhoz. Ha másik képernyőt használ, módosítania kell ezt a dolgot.

A hátsó ajtó két mágnessel, az ajtóhoz ragasztva és két mágnessel a tokhoz záródik, így kerülöm a zsanérok használatát.

A QuizzPi -ügy befejeződött…

4. lépés: GPIO csapok bekötése, málna+LCD felszerelése…

GPIO csapok bekötése, málna+LCD szerelés…
GPIO csapok bekötése, málna+LCD szerelés…
GPIO csapok bekötése, málna+LCD szerelés…
GPIO csapok bekötése, málna+LCD szerelés…
GPIO csapok bekötése, málna+LCD szerelés…
GPIO csapok bekötése, málna+LCD szerelés…

Csatlakoztatnunk kell a gombokat a Raspberry Pi -hez, hogy tudja, melyik gombot nyomja meg. A gombok a GPIO csapokhoz vannak csatlakoztatva. Szükségünk van négy IN GPIO tűre és egy Gnd GPIO tűre. A GPIO 31 -es (GPIO6), 33 -as (GPIO13), 35 (GPIO19), 37 -es (GPIO26) és 39 (Gnd) tűt használtam a piros, sárga, zöld és kék gombokhoz. Ez a képernyő SPI interfésszel rendelkezik. Ez azt jelenti, hogy a GPIO bankhoz van csatlakoztatva, ezért először a négyzet alakú vezetékeket a gombostűkbe helyeztem, majd az LCD -képernyőt.

A következő lépés a Raspberry+LCD+tok felszerelése volt a keretre. A Raspberry Pi tok saját csavarjait használtam.

A QuizzPi fel van szerelve…

Lépés: Akkumulátor, gombok, kapcsoló és USB -csatlakozó…

Akkumulátor, gombok, kapcsoló és USB csatlakozó…
Akkumulátor, gombok, kapcsoló és USB csatlakozó…
Akkumulátor, gombok, kapcsoló és USB csatlakozó…
Akkumulátor, gombok, kapcsoló és USB csatlakozó…
Akkumulátor, gombok, kapcsoló és USB csatlakozó…
Akkumulátor, gombok, kapcsoló és USB csatlakozó…

Ismét Tinkercad segítségével terveztem egy klipet, amellyel a tápegységet a tokhoz tarthatom. Kinyomtattam a klipet a 3D nyomtatómmal, és forró ragasztópisztollyal csatlakoztattam a tokhoz. Csatolom az alábbi modell.stl fájlját. Ha nincs hozzáférése 3D nyomtatóhoz, tépőzáras szalaggal csatlakozhat az árambankhoz.

A következő lépés a be/ki kapcsoló csatlakoztatása a tápegység és a Raspberry Pi között. Fogtam egy USB -kábelt, és csak a tápkábelt vágtam el, majd az egyik vezeték végét a be/ki kapcsoló egyik tűjére forrasztottam, a másik vezeték végét pedig a ki/be kapcsoló másik tűjére. Tehát amikor a kikapcsolt állapotban lévő áramellátás nem megy át a kapcsolótáblán és a Málna ki van kapcsolva, és amikor a bekapcsoló áram áthalad a switichen, és a Málna be van kapcsolva.

Amikor a power bank kisütései problémát okoznak, hogy kivegyék a tokot tölteni, ezért nem akartam minden alkalommal elővenni a töltést. A probléma az volt, hogy a power bank töltőportja USC C típusú, és csak a power bank kábele volt nálam. Tehát forrasztottam két női USB -csatlakozót, és betettem a tokba. A belső csatlakozó a tápbank kábel csatlakoztatásához, a külső csatlakozó pedig az USB tápkábel csatlakoztatásához.

A gombok elhelyezése és bekötése egyszerű volt. A gombok 2 tűsek, az egyik gomb minden gombja egy közös kábelhez csatlakozik, amely egy földelt GPIO tűhöz, a másik gomb pedig a megfelelő málna GPIO csapjához csatlakozik. A kapcsolási rajz a mellékelt ábrán látható.

A hangrendszer alapja a PAM8403, egy olcsó hangerősítő. Erre azért van szükség, mert a Raspberry Pi csatlakozóból érkező hang nem túl erős ahhoz, hogy a hangszóró működjön. 5 V -os vagy annál nagyobb feszültséggel kell táplálni. A mellékelt képeken láthatja, hogyan kell csatlakoztatni az erősítőt és a hangszórót. Szükségünk van egy 3,5 mm -es férfi csatlakozóra, hogy csatlakozzunk a Rapberry audio/video aljzatához. 3 vezetéket forrasztottam az aljzatba: audio, video és föld. A mellékelt diagram azt mutatja, hogy milyen tű mindenki. Ezután forrasztottam egy vezetéket a be/ki kapcsolóra, hogy áramot vegyenek, és egy másik vezetéket a földelő vezetékhez a power bank kábeléből. Ezután csatlakoztatom a vezetékeket a hangszóróból az erősítő kimeneteihez. A könnyű rész a hangrendszer kiosztása a tokban. A képeken látható.

A QuizzPi fel van szerelve, az utolsó fotón még látunk ceruzajeleket a fán, de itt a szoftver ideje … menjünk, és hozzunk létre egy apró kvízmotort …

6. lépés: Rasbian kép és a kvízmotor programozása…

Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…
Raszbikus kép és a kvízmotor programozása…

Megnyomjuk a bekapcsoló gombot. Semmi nem történik. Istenem! Nem működik! Mi lehet a baj? Van kábel csatlakozás nélkül? Ne aggódjon, telepítenünk kell egy képet az SD -kártyára …

A kvízmotor a Python 3 -ban van írva, ezért szükségünk van egy Raspbian képre, telepített Python -fordítóval. Ezen a ponton figyelembe kell vennünk a telepített képernyő típusát. A képernyőm SPI interfész, és az eladó Raspbian képet ad az összes telepített képernyőillesztővel. A Raspbian ezen verziója Python motorral is rendelkezik. Ezt a képet letöltheti ezen a linken.

Ha rendelkezik HDMI- vagy RCA -képernyővel, letöltheti az utolsó Raspbian -képet, amely a raspberrypi.org webhelyen érhető el. Figyelem: asztali Rasbian verzióra van szüksége, ezért kerülje a Lite Raspbian kép letöltését. Ezek a képek Python fordítót tartalmaznak.

A kép SD kártyára történő telepítéséhez bármilyen alkalmazást használhatunk. Win32diskimagert használok. Ezután helyezzük be az SD kártyát a Málnába, és nyomjuk meg a ki/be kapcsolót. Működik! Most létre kell hoznunk egy Python programot a kvízmotorral.

A következő lépés a kvízmotor fájljainak letöltése. Csatoltam a forráskódot a QuizzPi.zip fájlba. Töltse le a forrást, és hozzon létre egy mappát a Raspberry Pi -ben:

# mkdir/home/pi/QuizzPi

és bontsa ki a mappába letöltött fájlt.

A QuizzPi.zip a következő fájlokat tartalmazza:

  • QuizzPi.py - tartalmazza a kódot
  • MP3 hangfájlok - személyre szabhatja
  • losmejores.txt - magas pontszámokat tartalmazó táblázatot tartalmaz, törölheti a tábla inicializálásához
  • Instructions.txt

Nem fogok kimerítő magyarázatot adni arra, hogyan programoztam be a motorkódot a Python -ban, mert nehéz programozási ismeretek nélkül. Csak menteniük kell a fájlokat a Málnába. A programozási ismeretekkel rendelkező emberek minden magyarázat nélkül módosíthatják azt;)

A kérdések és válaszok a Kérdések és válaszok együttműködési adatbázisából származnak, Open Trivia Database néven, itt találja. A QuizzPi.py fájl sorát megváltoztathatja a kérdések kategóriájában és nehézségeiben:

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

megváltoztatása az api konfigurátorból kapott URL -címmel

A játék képernyőit Photoshopban terveztem, módosíthatod. Csak meg kell őriznie néhány fehér területet a kérdés képernyőn, az eredmények képernyőn és a magas pontszámok képernyőn, mert a játékmotor ír rájuk.

Személyre szabhatja a játék hangjait is. Csak meg kell változtatnia az.mp3 fájlokat mások által, csak meg kell őriznie ugyanazokat a neveket. Sok hangot kaphat online adatbázisokból, én bányákat a Free Sound Effects -ből.

Most módosítania kell a Raspbian programot a QuizzPi automatikus futtatásához. Elolvashatja ezt a cikket, ahol elmagyarázza, hogyan kell csinálni:

Végeztünk!!!

7. lépés: demonstráció…

Image
Image

Ennek az utasításnak a befejezéséhez nézze meg ezt a videót. Láthatja, hogy könnyen használható, és a kérdések nehézsége tőletek függ…

Szerk: a videó hanggal frissítve!

Mikrokontroller verseny
Mikrokontroller verseny

Második hely a mikrokontroller versenyen

Ajánlott: