Përmbajtje:

QuizzPi, një lojë Raspberry Pi Trivia Me Python: 7 hapa (me fotografi)
QuizzPi, një lojë Raspberry Pi Trivia Me Python: 7 hapa (me fotografi)

Video: QuizzPi, një lojë Raspberry Pi Trivia Me Python: 7 hapa (me fotografi)

Video: QuizzPi, një lojë Raspberry Pi Trivia Me Python: 7 hapa (me fotografi)
Video: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Korrik
Anonim
QuizzPi, një Raspberry Pi Trivia Game Me Python
QuizzPi, një Raspberry Pi Trivia Game Me Python
QuizzPi, një Raspberry Pi Trivia Game Me Python
QuizzPi, një Raspberry Pi Trivia Game Me Python

QuizzPi është një lojë e vogël me lojëra arcade. QuizzPi lindi sepse kisha nevojë t'i jepja vajzës sime argëtim. Ajo është 7 vjeç dhe ajo tashmë kërkon përdorimin e teknologjive të reja, ideja ishte të krijonte diçka që ishte argëtuese dhe edukative.

Kërkesat e projektit:

  • Lehtë për t'u përdorur
  • Portativ
  • Lehtë për të azhurnuar grupin e pyetjeve dhe përgjigjeve
  • Tabela e pikëve të larta

Shumë artikuj janë të konfigurueshëm. Ju mund të krijoni bazën tuaj të të dhënave me pyetje/përgjigje ose mund të përdorni një nga serverat e shumtë që ofron një bazë të dhënash, ku ju vendosni për llojin e pyetjeve, të vështira,… Unë krijova për vajzën time një bazë të dhënash të pyetjeve të klasës së parë, por ne mundemi ndryshoni konfigurimin për të marrë pyetje të parëndësishme nga një server oline. Ky version udhëzues merr pyetjet nga një pyetje bashkëpunuese dhe përgjigjet, Baza e të Dhënave të Hënave të Hapura. Unë kam zgjedhur pyetje të përgjithshme njohurish, por ju mund të zgjidhni pyetje filmi, sporti ose feje.

Ju kërkoj falje për anglishten time të dobët. Unë jam spanjoll, por kam preferuar të krijoj këtë udhëzues në anglisht, në mënyrë që të arrijë tek më shumë njerëz.

Shkojme!

Hapi 1: Keni nevojë për disa materiale dhe mjete…

Keni nevojë për disa materiale dhe mjete…
Keni nevojë për disa materiale dhe mjete…

Ju e keni pjesën më të madhe të materialit në shtëpi me siguri…

  • Raspberry Pi 2/3 me një kartë SD 8Gb ose më shumë (35 $)
  • Raspberry Pi 3.5 inç LCD me kasë (11 $). Shihni (kjo është opsionale, ju mund të përdorni çdo ekran që keni, ju vetëm duhet të modifikoni kutinë QuizzPi për të)
  • Bateri. Ju mund të përdorni një bankë energjie ose mund të përdorni një paketë baterie DIY 18650 (5 $). Në rastin tim kam përdorur një bankë energjie Aukey 5000mah (12 $). Shiko
  • Katër butona arcade. I kam këto në shtëpi (3 $, 12 butona për 10 $). Shiko
  • Një ndërprerës ndezje/fikje (0.25 $). Shiko
  • Dy lidhje USB (0.50 $)
  • Një kabllo USB/mikro USB
  • Një altoparlant i lirë (opsional) (0.25 $). Shiko
  • Një përforcues PAM8403 (opsional) (0.80 $). Shiko
  • Disa tela për të lidhur butonat, lidhësin USB dhe ndezjen/fikjen në kunjat GPIO (1 $?)
  • Katër magnete neodymium ose mund të përdorni çdo gjë për të mbyllur derën e pasme. Shiko
  • Kompensatë. Kam përdorur kompensatë 5 mm, por ju mund të përdorni çdo gjë që keni në shtëpi (2 $)

Keni nevojë edhe për disa mjete…

  • Shërbimet e saldimit
  • Drejtues vidash
  • Armë Hotglue
  • Printer 3D (opsional)

Shkojme!

Hapi 2: Le të Dizajnojmë një Rast Cool QuizzPi…

Le të Dizajnojmë një Rast Cool QuizzPi…
Le të Dizajnojmë një Rast Cool QuizzPi…
Le të Dizajnojmë një Rast Cool QuizzPi…
Le të Dizajnojmë një Rast Cool QuizzPi…

Gjëja e parë që na duhet është të dimë se sa hapësirë na duhet për të përfshirë harduerin (mjedër + ekran + butona + bateri + tela). Duke marrë parasysh pjesët e përshkruara në hapin e mëparshëm, unë bëra një dizajn 3D të kasës duke përdorur projektuesin online falas 3D Tinkercad (Shih). Nëse dëshironi të printoni modelin 3D të kasës, mund ta shkarkoni nga skedari i bashkangjitur rast QuizzPi.stl

Në atë moment më duhej të vendosja nëse do ta printoja modelin në printerin tim 3D apo ta bëja atë nga kompensatë. Mendova se duke qenë për vajzën time mund të kaloja pak më shumë kohë duke e bërë atë nga kompensatë. Kështu që unë marr planet nga modeli 3D dhe pres drurin.

Hapi tjetër është ngjitja e nxehtë e pjesëve…

Hapi 3: Bërja e kutisë së kompensatës…

Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…
Bërja e kutisë së kompensatës…

Pasi i kisha prerë të gjitha pjesët e kompensatës së planeve hapi tjetër është ngjitja e nxehtë e tyre. Në disa bashkime kam vënë përforcime për ta bërë kutinë më të fortë. Në kornizën unë vizatoj me laps skicën e ekranit LCD dhe e pres atë. Unë bëj katër vrima për vidhat. Nëse përdorni një ekran tjetër, duhet ta modifikoni këtë gjë.

Dera e pasme mbyllet me dy magnetë të ngjitur në derë dhe dy magnetë ngjitës në kasë, kështu që unë shmang përdorimin e varen.

Rasti QuizzPi ka përfunduar…

Hapi 4: Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…

Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…
Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…
Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…
Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…
Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…
Instalimi i kunjave GPIO, Montimi i mjedrës+LCD…

Ne duhet të lidhim butonat me Raspberry Pi në mënyrë që të dijë se çfarë butoni shtyhen. Butonat janë të lidhur me kunjat GPIO. Na duhen katër kunja IN GPIO plus një kunj Gnd GPIO. Kam përdorur pin GPIO 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) dhe 39 (Gnd) për butonat e kuq, të verdhë, jeshil dhe blu, përkatësisht. Ky ekran ka ndërfaqe SPI. Kjo do të thotë se është e lidhur me bankën GPIO, kështu që së pari vendos telat e përfunduar në katror në kunjat e butonave dhe më pas lidha ekranin LCD.

Hapi tjetër ishte montimi i kutisë Raspberry+LCD+në kornizë. Kam përdorur vidhat e rastit Raspberry Pi.

QuizzPi është montuar…

Hapi 5: Bateria, Butonat, Çelësi dhe Lidhësi USB…

Bateria, butonat, ndërprerës dhe lidhës USB…
Bateria, butonat, ndërprerës dhe lidhës USB…
Bateria, butonat, ndërprerës dhe lidhës USB…
Bateria, butonat, ndërprerës dhe lidhës USB…
Bateria, butonat, ndërprerës dhe lidhës USB…
Bateria, butonat, ndërprerës dhe lidhës USB…

Kam përdorur përsëri Tinkercad për të krijuar një kapëse për të mbajtur bankën e energjisë në rast. Unë e printova kapësen me printerin tim 3D dhe u bashkova me kasën me pistoletë me zam të nxehtë. Unë bashkëngjit skedarin.stl të modelit më poshtë. Nëse nuk keni qasje në një printer 3D, mund të bashkoheni në bankën e energjisë me kasetë velcro.

Hapi tjetër është lidhja e çelësit të ndezjes/fikjes midis bankës së energjisë dhe Raspberry Pi. Kam marrë një kabllo USB dhe kam prerë vetëm tela të rrymës, pastaj kam lidhur një fund teli në njërën kunj të çelësit të ndezjes/fikjes dhe skajin tjetër të telit në kunjin tjetër të çelësit të ndezjes/fikjes. Pra, kur ndërprerësi i fikjes nuk kalon përmes swtich dhe Raspberry është i fikur dhe kur kyçja në energji kalon përmes swtich dhe Raspberry është e ndezur.

Kur shkarkimet e bankës së energjisë janë një problem për ta nxjerrë kutinë për ta ngarkuar, kështu që nuk doja ta nxirrja çdo herë për ta ngarkuar. Problemi ishte porti i ngarkimit i bankës së energjisë është USC i tipit C, dhe unë kisha vetëm kabllon e bankës së energjisë. Kështu bashkova dy lidhje USB femra dhe i futa në kasë. Lidhësi brenda për të lidhur kabllon e bankës së energjisë, dhe lidhësi i jashtëm për të lidhur një kabllo USB të energjisë.

Vendosja e butonave dhe instalimi i tyre ishte e lehtë. Butonat kanë 2 kunja, një kunj nga çdo buton lidhet me një kabllo të zakonshme që shkon në një kunj GPIO të tokëzuar, dhe kunja tjetër e butonit lidhet me kunjën përkatëse GPIO të mjedrës. Diagrami i instalimeve elektrike është treguar në diagramin e bashkangjitur.

Sistemi i zërit është i bazuar në PAM8403, një përforcues i lirë i zërit. Shtë e nevojshme sepse tingulli që vjen nga priza e Raspberry Pi nuk është shumë i fuqishëm për të bërë që një altoparlant të funksionojë. Duhet ta furnizoni me energji 5v ose më shumë. Në imazhet e bashkangjitura mund të shihni se si të lidhni amplifikatorin dhe altoparlantin. Ne kemi nevojë për një prizë mashkullore 3.5 mm për t'u lidhur me folenë audio/video të Rapberry. bashkova 3 tela në prizë: audio, video dhe tokë. Diagrami i bashkangjitur tregon se çfarë pin janë të gjithë. Pastaj bashkova një tel në çelësin On/Off për të marrë energji nga, dhe një tel tjetër në tela tokëzues nga kablloja e bankës së energjisë. Pastaj lidh telat nga altoparlanti në daljet e amplifikatorit. Pjesa e lehtë është shpërndarja e sistemit të zërit në kasë. Ju mund të shihni në imazhe.

QuizzPi është montuar, në foton e fundit ne ende mund të shohim shenja lapsash në dru, por është koha e softuerit … le të shkojmë të krijojmë një motor të vogël kuizi …

Hapi 6: Imazhi Rasbian dhe Programimi i Motorit të Kuizit…

Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…
Imazhi Rasbian dhe Programimi i Quiz Engine…

Ne shtypim butonin e energjisë. Asgjë nuk ndodh. Oh Zoti im! Nuk punon! Çfarë mund të jetë e gabuar? A ka ndonjë kabllo pa lidhje? Mos u shqetësoni, ne duhet të instalojmë një imazh në kartën SD …

Motori i kuizit është shkruar në Python 3, kështu që ne kemi nevojë për një imazh Raspbian me përpiluesin Python të instaluar. Në këtë pikë duhet të marrim parasysh llojin e ekranit që kemi instaluar. Ekrani im është ndërfaqe SPI, dhe shitësi jep një imazh Raspbian me të gjithë drejtuesit e ekranit të instaluar. Ky version i Raspbian ka gjithashtu motor Python. Ju mund ta shkarkoni këtë imazh në këtë lidhje.

Nëse keni një ekran HDMI ose RCA, mund të shkarkoni imazhin e fundit Raspbian të disponueshëm në faqen e raspberrypi.org. Kujdes: keni nevojë për versionin Desktop Rasbian, prandaj shmangni shkarkimin e imazhit Lite Raspbian. Këto imazhe përmbajnë përpiluesin Python.

Për të instaluar imazhin në kartën SD ne mund të përdorim çdo aplikim. Unë përdor Win32diskimager. Pastaj futim kartën SD në mjedër dhe shtyjmë çelësin e ndezjes/fikjes. Punon! Tani duhet të krijojmë një program Python me motorin kuiz.

Hapi tjetër është të shkarkoni skedarët e motorit të kuizit. Unë kam bashkangjitur kodin burimor në skedarin QuizzPi.zip. Shkarkoni burimin dhe krijoni një dosje në Raspberry Pi:

# mkdir/home/pi/QuizzPi

dhe zbërtheni skedarin e shkarkuar në këtë dosje.

QuizzPi.zip përmban këto skedarë:

  • QuizzPi.py - përmban kodin
  • Skedarët e imazheve-p.webp" />
  • Skedarët e tingullit MP3 - mund t'i ndryshoni për t'i personalizuar
  • losmejores.txt - përmban tabelën me Rezultate të Larta, mund ta fshini për të inicializuar tabelën
  • Udhëzimet.txt

Unë nuk do të jap një shpjegim shterues se si e kam programuar kodin e motorit në Python sepse është shumë e vështirë për njerëzit pa njohuri programimi. Ata vetëm duhet të ruajnë skedarët në mjedër. Njerëzit me njohuri programimi do të jenë në gjendje ta modifikojnë atë pa asnjë shpjegim;)

Pyetjet dhe përgjigjet janë nga një bazë e të dhënave bashkëpunuese Pyetje & Përgjigje e quajtur Open Trivia Database, mund t’i gjeni këtu. Ju mund të ndryshoni kategorinë dhe vështirësitë e pyetjeve duke ndryshuar një linjë në skedarin QuizzPi.py:

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

duke ndryshuar me url -në e marrë nga konfiguruesi api

Kam projektuar ekranet e lojës në Photoshop, ju mund t'i modifikoni ato. Ju vetëm duhet të ruani disa zona të bardha në ekranin e pyetjeve, në ekranin e rezultateve dhe ekranet me rezultate të larta sepse motori i lojës shkruan mbi to.

Ju gjithashtu mund të personalizoni tingujt e lojës. Ju vetëm duhet të ndryshoni skedarët.mp3 nga të tjerët që dëshironi, ju duhet të ruani të njëjtët emra. Ju mund të merrni shumë tinguj nga bazat e të dhënave në internet, unë marr miniera nga Free Sound Effects.

Tani ju duhet të modifikoni Raspbian tuaj për të ekzekutuar automatikisht QuizzPi. Ju mund ta lexoni këtë artikull ku shpjegoni se si ta bëni atë:

Kemi mbaruar !!!

Hapi 7: Demonstrim…

Image
Image

Për ta përfunduar këtë udhëzues, mund ta shihni këtë video. Ju mund ta shihni se është e lehtë për t’u përdorur dhe vështirësia e pyetjeve varet nga ju…

Redakto: video e azhurnuar tani me zë!

Konkursi i mikrokontrolluesve
Konkursi i mikrokontrolluesve

Vrapues në Konkursin e Mikrokontrolluesve

Recommended: