Innehållsförteckning:

QuizzPi, ett Raspberry Pi Trivia -spel med Python: 7 steg (med bilder)
QuizzPi, ett Raspberry Pi Trivia -spel med Python: 7 steg (med bilder)

Video: QuizzPi, ett Raspberry Pi Trivia -spel med Python: 7 steg (med bilder)

Video: QuizzPi, ett Raspberry Pi Trivia -spel med Python: 7 steg (med bilder)
Video: Raspberry Pi 400 Unboxing / Review - Ultra Cheap $70 Budget PC for School Students? 2024, Juli
Anonim
QuizzPi, ett Raspberry Pi Trivia -spel med Python
QuizzPi, ett Raspberry Pi Trivia -spel med Python
QuizzPi, ett Raspberry Pi Trivia -spel med Python
QuizzPi, ett Raspberry Pi Trivia -spel med Python

QuizzPi är ett triviaspel av arkadtyp. QuizzPi föddes eftersom jag hade behov av att ge min dotter en underhållning. Hon är 7 år och hon kräver redan användning av ny teknik, tanken var att skapa något som var både roligt och lärorikt.

Krav på projektet:

  • Lätt att använda
  • Portabla
  • Lätt att uppgradera uppsättningen frågor och svar
  • Höga poäng tabell

Flera objekt är konfigurerbara. Du kan skapa din egen databas med frågor/svar eller så kan du använda en av flera servrar som erbjuder en databas där du bestämmer vilken typ av frågor, svårt, … Jag skapade en databas med första klassens frågor för min dotter, men vi kan ändra konfiguration för att få triviafrågor från en oline -server. Den här instruerbara versionen får frågorna från samarbetsfrågor och svar, Open Trivia Database. Jag har valt allmänna kunskapsfrågor men du kan välja film-, sport- eller religionsfrågor.

Jag ber om ursäkt för min dåliga engelska. Jag är spanska men jag har föredraget att skapa detta instruerbart på engelska så att det kan nå ut till fler människor.

Nu går vi!

Steg 1: Du behöver några material och verktyg …

Du behöver lite material och verktyg …
Du behöver lite material och verktyg …

Du har säkert det mesta hemma …

  • Raspberry Pi 2/3 med ett 8 GB eller mer SD -kort (35 $)
  • Raspberry Pi 3,5 -tums LCD med fodral (11 $). Se (detta är valfritt, du kan använda vilken skärm du har, du behöver bara ändra QuizzPi -fodralet för det)
  • Batterier. Du kan använda en powerbank eller så kan du använda ett diy 18650 batteri (5 $). I mitt fall använde jag en Aukey 5000mah powerbank (12 $). Ser
  • Fyra arkadknappar. Jag har dessa hemma (3 $, 12 knappar för 10 $). Ser
  • En strömbrytare (0,25 $). Ser
  • Två USB -kontakter (0,50 $)
  • En USB/mikro USB -kabel
  • En billig högtalare (tillval) (0,25 $). Ser
  • En PAM8403 -förstärkare (tillval) (0,80 $). Ser
  • Några ledningar för att länka knappar, usb -kontakt och strömbrytare till GPIO -stift (1 $?)
  • Fyra neodymmagneter eller så kan du använda vad som helst för att få bakdörren stängd. Ser
  • Plywood. Jag använde 5 mm plywood men du kan använda allt du har hemma (2 $)

Du behöver också några verktyg …

  • Lödningsverktyg
  • Skruvmejslar
  • Lim pistol
  • 3D -skrivare (tillval)

Nu går vi!

Steg 2: Låt oss designa ett coolt QuizzPi -fodral …

Låt oss designa ett coolt QuizzPi -fodral …
Låt oss designa ett coolt QuizzPi -fodral …
Låt oss designa ett coolt QuizzPi -fodral …
Låt oss designa ett coolt QuizzPi -fodral …

Det första vi behöver är att veta hur mycket utrymme vi behöver för att inkludera hårdvara (hallon + skärm + knappar + batteri + ledningar). Med hänsyn till delarna som beskrivs i föregående steg gjorde jag en 3D -design av fodralet med hjälp av gratis 3D -designer Tinkercad (Se). Om du vill skriva ut 3D -modellen av fodralet kan du ladda ner det från den bifogade filen QuizzPi -fodral.stl.

I det ögonblicket var jag tvungen att bestämma om jag skulle skriva ut modellen på min 3D -skrivare eller göra den av plywood. Jag trodde att för min dotter kunde jag spendera lite mer tid på att göra den av plywood. Så jag får planerna från 3D -modellen och hugger av träet.

Nästa steg är varmlimning av delarna …

Steg 3: Gör plywoodfodralet …

Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …
Gör plywoodfodralet …

När jag hade klippt alla plywooddelar i planerna är nästa steg varmlimning av dem. I vissa fogar sätter jag förstärkningar för att göra lådan starkare. I ramen ritar jag med blyertspetsen konturen på LCD -skärmen och klipper ut den. Jag gör fyra hål för skruvarna. Om du använder en annan skärm måste du ändra den här saken.

Bakdörren stängs med två magneter limmade på dörren och två magneter lim på höljet, så jag undviker att använda gångjärn.

QuizzPi -fallet är klart …

Steg 4: Anslut GPIO -stift, montering av hallon+LCD …

Kabeldragning av GPIO -stift, montering av hallon+LCD …
Kabeldragning av GPIO -stift, montering av hallon+LCD …
Kabeldragning av GPIO -stift, montering av hallon+LCD …
Kabeldragning av GPIO -stift, montering av hallon+LCD …
Kabeldragning av GPIO -stift, montering av hallon+LCD …
Kabeldragning av GPIO -stift, montering av hallon+LCD …

Vi måste ansluta knapparna till Raspberry Pi så att den kan veta vilken knapp som trycks in. Knappar är anslutna till GPIO -stift. Vi behöver fyra IN GPIO -stift plus en Gnd GPIO -stift. Jag använde GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) och 39 (Gnd) för röda, gula, gröna och blå knappar. Denna skärm har SPI -gränssnitt. Det betyder att den är ansluten till GPIO -banken, så först satte jag ledningar som slutade med fyrkantiga knappar och sedan kopplade jag LCD -skärmen.

Nästa steg var att montera Raspberry+LCD+-fodralet på ramen. Jag använde Raspberry Pi -fodralets egna skruvar.

QuizzPi är monterad …

Steg 5: Batteri, knappar, switch och USB -kontakt …

Batteri, knappar, switch och USB -kontakt …
Batteri, knappar, switch och USB -kontakt …
Batteri, knappar, switch och USB -kontakt …
Batteri, knappar, switch och USB -kontakt …
Batteri, knappar, switch och USB -kontakt …
Batteri, knappar, switch och USB -kontakt …

Jag använde Tinkercad igen för att designa ett klipp för att hålla powerbanken i fodralet. Jag skrev ut klippet med min 3D -skrivare och ansluter till fodralet med en varm limpistol. Jag bifogar.stl -filen till modellen nedan. Om du inte har tillgång till en 3D -skrivare kan du ansluta till powerbanken med kardborreband.

Nästa steg är att ansluta strömbrytaren mellan powerbanken och Raspberry Pi. Jag tog en USB -kabel och jag klippte bara strömkabeln, sedan lödde jag ena änden till en stift på på/av -omkopplaren och den andra trådänden till den andra stiftet på strömbrytaren. Så när strömbrytaren inte stängs av går strömbrytaren och Hallon är avstängd och när strömmen slås på går strömbrytaren och Hallon är på.

När powerbank -urladdningar är ett problem att ta ut väskan för att ladda den, så jag ville inte ta ut den varje gång för att ladda. Problemet var att powerbankens laddningsport är USC typ C, och jag hade bara kabeln till powerbanken. Så jag lödde två kvinnliga USB -kontakter och satte i fodralet. Anslutningen inuti för att ansluta strömbankskabeln och den yttre kontakten för att ansluta en USB -strömkabel.

Det var enkelt att placera knapparna och koppla dem. Knapparna har 2 stift, en stift av varje knapp ansluts till en gemensam kabel som går till en jordad GPIO -stift, och den andra stiftet på knappen ansluter till dess respektive GPIO -stift på hallon. Kopplingsschemat visas i det bifogade diagrammet.

Ljudsystemet är baserat i PAM8403, en billig ljudförstärkare. Det är nödvändigt eftersom ljudet från Raspberry Pi -uttaget inte är för kraftfullt för att få en högtalare att fungera. Du måste driva den med 5v eller mer. På de bifogade bilderna kan du se hur du kopplar förstärkaren och högtalaren. Vi behöver en 3,5 mm hane för att ansluta till Rapberry ljud/video jack. Jag lödde 3 trådar till uttaget: ljud, video och jord. Diagrammet som bifogas visar vilken nål alla är. Sedan lödde jag en kabel till strömbrytaren för att ta ström från och en annan kabel till jordkabeln från strömbankskabeln. Sedan ansluter jag ledningarna från högtalaren till förstärkarens utgångar. Den enkla delen är att tilldela ljudsystemet i fallet. Du kan se på bilderna.

QuizzPi är monterad, på det sista fotot kan vi fortfarande se pennmärken på träet, men det är dags för programvara … låt oss gå för att skapa en liten frågesportmotor …

Steg 6: Rasbisk bild och programmering av frågesportmotorn …

Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …
Rasbisk bild och programmering av frågesportmotorn …

Vi trycker på strömknappen. Ingenting händer. Herregud! Det fungerar inte! Vad kan vara fel? Någon kabel utan anslutning? Oroa dig inte, vi måste installera en bild på SD -kortet …

Frågesportmotorn är skriven i Python 3, så vi behöver en Raspbian -bild med Python -kompilatorn installerad. Vid denna tidpunkt måste vi ta hänsyn till vilken typ av skärm vi har installerat. Min skärm är SPI -gränssnitt, och säljaren ger en Raspbian -bild med alla skärmdrivrutiner installerade. Denna version av Raspbian har också Python -motor. Du kan ladda ner denna bild i denna länk.

Om du har en HDMI- eller RCA -skärm kan du ladda ner den senaste Raspbian -bilden som finns på raspberrypi.org -webbplatsen. Observera: du behöver en Rasbian -version på skrivbordet, så undvik att ladda ner Lite Raspbian -bild. Dessa bilder innehåller Python -kompilator.

För att installera bilden på SD -kortet kan vi använda valfri applikation. Jag använder Win32diskimager. Sedan sätter vi in SD -kortet i hallon och trycker på/av -knappen. Det fungerar! Nu måste vi skapa ett Python -program med frågesportmotorn.

Nästa steg är att ladda ner filer från frågesportmotorn. Jag har bifogat källkoden i filen QuizzPi.zip. Ladda ner källan och skapa en mapp i Raspberry Pi:

# mkdir/home/pi/QuizzPi

och packa upp filen som laddats ner till den här mappen.

QuizzPi.zip innehåller dessa filer:

  • QuizzPi.py - den innehåller koden
  • MP3 -ljudfiler - du kan ändra för att anpassa
  • losmejores.txt - den innehåller tabellen High Scores, du kan ta bort den för att initiera tabellen
  • Instructions.txt

Jag kommer inte att ge en uttömmande förklaring till hur jag har programmerat motorkoden i Python eftersom det är för svårt för människor utan programmeringskunskap. De behöver bara spara filerna i hallon. Personer med programmeringskunskap kommer att kunna ändra det utan någon förklaring;)

Frågor och svar kommer från en samarbetsdatabas med frågor och svar som heter Open Trivia Database, du hittar här. Du kan ändra kategori och svårt för frågorna att ändra en rad i filen QuizzPi.py:

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

ändras med webbadressen från api -konfiguratorn

Jag designade spelskärmarna i Photoshop, du kan ändra dem. Du måste bara bevara vissa vita områden i frågeskärmen, i resultatskärmen och högskärmsskärmarna eftersom spelmotorn skriver på dem.

Du kan också anpassa spelets ljud. Du måste bara ändra.mp3 -filerna av andra du vill, du måste bevara samma namn. Du kan få många ljud från online -databaser, jag får gruvor från Free Sound Effects.

Nu måste du ändra din Raspbian för att automatiskt köra QuizzPi. Du kan läsa den här artikeln där förklara hur du gör det:

Vi är klara!!!

Steg 7: Demonstration …

Image
Image

För att avsluta detta instruerbara kan du se den här videon. Du kan se att det är lätt att använda och det svåra av frågorna beror på dig …

Edit: video uppdaterad nu med ljud!

Tävling för mikrokontroller
Tävling för mikrokontroller

Tvåa i Microcontroller -tävlingen

Rekommenderad: