Indholdsfortegnelse:

Raspberry Pi Mobile Gaming Device: 11 trin
Raspberry Pi Mobile Gaming Device: 11 trin

Video: Raspberry Pi Mobile Gaming Device: 11 trin

Video: Raspberry Pi Mobile Gaming Device: 11 trin
Video: Build your OWN retro game console with a Raspberry Pi! 2024, November
Anonim
Raspberry Pi mobil gaming -enhed
Raspberry Pi mobil gaming -enhed

Har du nogensinde ønsket at være i stand til at spille klassiske videospil på farten, men var ikke sikker på, hvor du kan få en enhed, der kan køre gamle spil, eller var de bare for dyre? Så lav din egen!

Dette er en dokumentation om opbygningen af min Raspberry Pi Mobile Gaming Device, inspireret af Nintendo Switch. Omkostningerne er lige under $ 200 og kan køre mange ældre spil med brug af RetroPie. RetroPie har over 30 emulatorer indbygget, så det er en leg at køre ældre spil, så længe du har ROM'erne!

Der var mange ting, jeg ville have gjort anderledes i dette projekt, og jeg vil prøve at dele det med dig i denne vejledning. På den måde kan du lære af mine fejl uden at skulle lave dem selv.

Forhåbentlig kan du bruge instruktionerne i denne vejledning til at oprette din egen Raspberry Pi -gamingenhed. Hvis du gør det, bedes du fortælle mig det ved at klikke på "I Made It!" i slutningen af Instructable.

Hvis du kan lide dette projekt, skal du også stemme på det, som det er i Game Life -konkurrencen. Tak!

Trin 1: Deleliste

FÆRDIGHEDER

Du bliver nødt til at være praktisk med et loddejern, kende grundlæggende Python og have lidt styr på træbearbejdning.

Evnen til at ødelægge videospil er også et must (jeg arbejder dog stadig på det …)

DELE

1x Raspberry Pi 2 eller 3 - $ 35

1x Raspberry Pi Official 7 Touchscreen - $ 75

1x Micro SD -kort (minimum 8 GB, du vil sandsynligvis have mere til dine ROM'er!)

1x litiumionbatteripakke - 3,7V 4400mAh - $ 19,95 (https://www.adafruit.com/product/354)

2x analog 2 -akset tommelfinger joystick - $ 5,95 (https://www.adafruit.com/product/512)

1x PowerBoost 1000 oplader - $ 19,95 (https://www.adafruit.com/product/2465)

1x MCP3008 - 8 -kanals 10 -bit ADC - $ 3,75 (https://www.adafruit.com/product/856)

1x Adafruit Trinket - 6,95 $ (https://www.adafruit.com/product/1500)

4x 3 mm lysdioder

Et sortiment af taktile trykknapper - (runde: https://www.adafruit.com/product/1009 og firkantet:

Et sortiment af ledninger, modstande og andre små komponenter

Perf bord

1/4 "træ og 1/2" træ til opbygning af kassen

VÆRKTØJ

Loddekolbe

Nålestang

Wire Stripper

En loddestation/hjælpende hånd kan også være nyttig.

Drill Press

Båndsav/rullesav

Bordsav

Båndsliber

Dremel værktøj

SOFTWARE

RetroPie (https://retropie.org.uk)

Alle koder og Fritzing -skemaer er tilgængelige i denne Github -fil

Du skal også bruge en anden computer til at indlæse RetroPie og ROM'er på din Raspberry Pi. Denne computer skal bruge Etcher.io, Win32DiskImager eller et andet program, der kan skrive RetroPie til et SD -kort sammen med den nyeste Arduino IDE. Hvis du kører Windows, skal du installere PuTTY (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) for at SSH til din Raspberry Pi.

Trin 2: Breadboard dine kredsløb

Jeg begyndte med at forplante mine kredsløb for at sikre, at alt fungerede som planlagt.

Jeg har inkluderet skemaerne og koden i Github -filen i begyndelsen af selvstudiet; dog har jeg foretaget nogle mindre ændringer, som jeg glemte at dokumentere, så nogle ting kan have været anderledes, end de er nu. Koden kan bruges som udgangspunkt for dit projekt, men jeg anbefaler stærkt i det mindste at læse den igennem for at forstå den og ændre den for at opfylde dine specifikke behov eller gøre det bedre.

Alle betjeningselementer er tilsluttet 3,3v, tilslutning til 5v kan beskadige din Raspberry Pi

Controller ledninger

Der er i alt 12 betjeningsknapper. 4 for A/B/X/Y, 4 for DPAD, en for hver Start og Select og to skulderknapper. Du kan muligvis have 4 skulderknapper afhængigt af plads, men de fleste RetroPie -spil, der kræver skulderknapper, kræver kun to (jeg tror …).

Knapperne er forbundet på den ene side til 3.3v gennem en 10k modstand, og på den samme side er forbundet til deres respektive GPIO -pin via en 1k modstand. Den anden side er forbundet direkte til GND (jord). Hvis logikken er anderledes i dit kredsløb, skal du sørge for, at logikken i din kode afspejler det! I den kode, jeg har angivet, kan det fungere på begge måder, men citér mig ikke om det;)

Joysticks er forbundet til MCP3008 ADC (Analog til Digital Converter). Der er 8 kanaler den ene side og SPI -grænsefladen på den anden. Sørg for at tilslutte output fra joysticks til den korrekte side af ADC! Joysticks 'X, Y og SEL (knapvalg) er alle forbundet til ADC'en. SEL -stiften er ikke analog, men for at spare på GPIO -stifter tilsluttede jeg dem til ADC. Jeg ledede en modstand fra SEL -benene til 3,3v, da output er indstillet til en flydende værdi, når den ikke trykkes, derefter kortsluttes til jorden, når den trykkes.

ADC'en er tilsluttet via 4 ben til Raspberry Pi, men visse stifter er ikke påkrævede (så vidt jeg ved. Stifterne i skematikken blev testet og fungeret fint, sammen med et par andre). Som jeg sagde ovenfor, skal du sørge for, at koden afspejler din hardware!

Strømledning

Du bliver først nødt til at uploade koden til Trinket fra Arduino IDE. Åbn filen TrinketRPi.ino i Arduino IDE, vælg dit bord og port fra værktøjsmenuen, og tryk på upload -knappen.

PowerBoosts 5v output er forbundet direkte til Raspberry Pi 5v GPIO pin og Touchscreen 5v pin, og jorden fra PowerBoost er forbundet til Pi og Touchscreen's ground pins. Prikken er forsynet med Raspberry Pi's 3.3v GPIO pin.

Adafruit Trinket bruges til at styre strømmen. Pin 0 på Trinket er forbundet til GPIO 15 (ikke fysisk 15) på Raspberry Pi, og pin 2 på Trinket er forbundet til EN -pin på PowerBoost. Sammen med det er en afbryderknap forbundet mellem BAT og EN på PowerBoost. Når der trykkes på denne knap og holdes nede i ca. 5 sekunder (den tid, det tager for Trinket at starte), tændes alt. Når den frigives, holder Trinket pin 2 HIGH (forbundet til EN -pin på PowerBoost), så strømmen fortsætter til systemet.

Tænd / sluk -knappen fungerer kun som en ON -kontakt, da jeg ikke var sikker på, hvordan jeg skulle lave et kredsløb, der ville lade det fungere som både til og fra. Pi'en kan dog stadig lukke ned fra softwaren!

Når Pi starter, er pin 15 sat til HIGH (Controller.py) for at underrette Trinket om, at den er tændt. Når Pi er slukket på en eller anden måde, går pin 15 lavt, hvilket får Trinket til at holde strømmen i ~ 20 sekunder og derefter slukke for strømmen helt.

Jeg er ked af at sige, at jeg har foretaget nogle ændringer af dette, som nu er begravet i et kabinet, og jeg er ikke sikker på, hvad jeg gjorde, da dette projekt blev foretaget for et stykke tid siden. Dette layout burde fungere, men prøv det, inden du propper det på et utilgængeligt sted!

PowerBoosts BAT -pin er forbundet til ADC'en for at aflæse batteriniveauet. En 6,8k modstand forbinder BAT -stiften med ADC -kanalen, og en anden 10k modstand forbinder BAT -stiften med GND. Dette gør det muligt for ADC at få batteriets udgangsspænding og tilnærme batteriniveauet. Ved opladning vil batteriets ydelse være 5v, så der er ingen måde at vide batteriniveauet, mens det oplades med denne opsætning.

Hvis du vil, kan du tilslutte VBUS på PowerBoost på samme måde som BAT; dette giver dig mulighed for at vide, om batteriet oplades.

Indikatorlysdioder

De fire indikatorlysdioder giver dig mulighed for at se ting som batteriniveau, lydstyrke eller displayets lysstyrke. Koden er kun konfigureret til batteriniveau i øjeblikket.

Hver 3 mm LED er forbundet fra en GPIO -pin, gennem en 100ohm modstand og tilbage til jorden. Mine lysdioder er grønne, sørg for at vælge de passende modstande til andre farvede lysdioder, da de har forskellige strømkrav!

Det er det til ledninger! Når du har testet dine ledninger på et brødbræt, kan du begynde at lave et mere permanent kredsløb.

Trin 3: Konfigurer softwaren

Konfigurer softwaren
Konfigurer softwaren

For at indlæse RetroPie på SD -kortet skal du bruge et program som Etcher.io (anbefales) eller Win32DiskImager og RetroPie -operativsystemet fra linket i begyndelsen.

For at bruge Etcher skal du først indsætte dit micro SD -kort i din computer. Åbn Etcher, og klik på "Vælg billede". Naviger til den mappe, hvor du downloadede RetroPie, vælg den, og klik på "Åbn". Klik derefter på "Vælg drev", og vælg dit SD -kort fra listen. Sørg for at vælge det korrekte SD -kort, da det sletter det! Klik på "Flash", og vent på, at den er færdig. Det skubber automatisk SD -kortet ud, når det er gjort, så det er sikkert at fjerne det fra din computer.

Hvis du ikke har en Raspberry Pi 3, skal du bruge en WiFi -dongle. En spilcontroller er nyttig på dette trin, men der kræves kun et tastatur. Indsæt dit SD -kort i din Raspberry Pi, tilslut det til en skærm (berøringsskærmen fungerer godt) og tilslut strøm. Når RetroPie er startet, skal du konfigurere kontrollerne. Vælg din controller/tastatur, og følg vejledningen. Når det er gjort, skal du navigere til WiFi -indstillinger i RetroPie -menuen og konfigurere din WiFi.

Du skal også aktivere SSH. Gå tilbage til RetroPie-menuen, og vælg raspi-config fra listen (jeg tror, det er der, den er). Under grænseflader skal du vælge SSH. Det vil spørge, om du vil aktivere SSH. Vælg Ja.

Du skal muligvis genstarte din Pi nu. Når det er genstartet, skal du gå tilbage til RetroPie -menuen. Jeg tror, at der er en IP -adresse eller værtnavn, der fortæller dig Raspberry Pi's IP -adresse. Kopier dette ned på et stykke papir eller lad denne menu stå åben for nu.

På din computer skal du SSH til din Raspberry Pi.

Hvis du er på Windows, skal du downloade, installere og åbne PuTTY (link i deleliste) og indstille feltet "Værtsnavn (eller IP -adresse)" til din Raspberry Pi's værtsnavn, og klik derefter på "Åbn" for at starte sessionen.

På Mac og Linux kan du blot åbne en terminal og skrive

$ ssh pi@værtsnavn

erstatte "værtsnavn" med den IP -adresse, du fik på Raspberry Pi. Bemærk, at $ ikke er indtastet i terminalen, det betyder bare, at dette er en ny terminalprompt.

Indtast derefter

$ nano /home/pi/Controller.py

og indsæt indholdet i Controller.py -filen fra Github i den. Controller.py er python -scriptet, der håndterer alle kontrolindgange, f.eks. Joysticks og knapper.

Du bliver nødt til at ændre pin -numrene for at matche dem i din hardware.

Tryk på CTRL-X eller CMD-X og derefter Y for at gemme filen. Indtast derefter

$ sudo nano /etc/rc.local

indtast derefter denne linje i filen:

sudo python3 /home/pi/Controller.py &

tryk derefter på CTRL-X (Windows) eller CMD-X (Mac) og derefter Y (ingen CTRL/CMD) for at gemme. Dette sætter scriptet Controller.py til at starte ved opstart.

Dernæst kan du nulstille din controller -konfiguration, så du kan bruge dine knapper/joysticks i stedet for en USB -spilcontroller.

$ sudo ~/RetroPie-Setup/retropie_setup.sh

og gå til Emulation Station -konfiguration via

Administrer pakker -> Kernepakker -> emuleringsstation -> Konfiguration eller konfiguration / værktøjer -> emuleringsstation, og vælg muligheden for at slette / nulstille emuleringsstationens inputkonfiguration

Næste gang du genstarter, vil din USB -controller ikke blive konfigureret længere, men du vil kunne konfigurere dine brugerdefinerede kontroller på det tidspunkt.

På dette tidspunkt kan du indlæse dine ROM'er på Raspberry Pi. Der er mange forskellige måder at gøre dette på, og jeg fandt disse videoer de mest nyttige:

Gennem din browser-Denne mulighed giver dig også lettere adgang til nogle andre ting på din RetroPie-installation, da den giver en webbaseret GUI til mange af de opgaver, der normalt udføres via terminalen eller den RetroPie tekstbaserede GUI.

Over dit netværk - Denne mulighed giver dig mulighed for at overføre ROM'er fra din computers filbrowser, hvilket gør det lettere at navigere til dine filer. Det giver dig også mulighed for at udforske og redigere nogle delte mapper på RetroPie, f.eks. BIOS, stænkskærme og konfigurationsfiler.

Brug af begge muligheder giver mere kontrol over din RetroPie -installation, men kun en er nødvendig for at overføre ROM'er. Vælg den, der passer bedst til dig.

Trin 4: Forbered Raspberry Pi og Touchscreen

Til dette projekt ville pladsen være minimal, så jeg startede med at fjerne unødvendige komponenter fra Raspberry Pi.

Først var USB- og Ethernet -portene. Loddetøjet på disse kan være svært at fjerne, da det har en høj smeltetemperatur. Jeg skar det meste af hver port af med en dåsesnip og lodde derefter de resterende dele af. Vær forsigtig, mens du fjerner disse porte, da nogle mindre komponenter let kan slås fra Raspberry Pi (taler af erfaring).

En enkelt USB -port er forbundet (ikke direkte) til Raspberry Pi's nyligt udsatte USB -loddepinde. Dette gør det muligt at tilslutte den til siden af sagen.

USB -strømafbrydelsesporten blev fjernet fra berøringsskærmen på samme måde.

Dernæst lodde jeg GPIO -benene af. Jeg fandt den nemmeste måde at gøre dette på ved først at afskære den sorte plastdel omkring bunden af GPIO -benene. Dette giver dig mulighed for at aflade alle stifter separat. Jeg kunne ikke aflodse nogen af jordstifterne på grund af et højere smeltepunkts lod, men de kan skæres kortere senere.

Trin 5: Opret kredsløb til kontroller

Opret kredsløb til kontroller
Opret kredsløb til kontroller
Opret kredsløb til kontrolelementer
Opret kredsløb til kontrolelementer

Til dette trin skal du bruge sektioner af perf board til at lodde knapperne til. Jeg har fundet ud af, at perf bord med kobberspor i linjer mellem nogle af hullerne kan fungere bedre end perf bord med alle hullerne adskilt. Det er dog op til dig, hvad du bruger;)

Der vil være to sæt med 4 knapper i en diamantform til DPAD og til A/B/X/Y. Jeg glemte at tage billeder af mine, mens jeg satte det sammen, men det burde ikke være særlig svært at finde ud af layoutet. Mine knapper var lige ved at røre ved to af deres hjørner hver. Start/Select -knapperne kan loddes til individuelt perf -bord, eller du kan muligvis tilslutte en til A/B/X/Y -knappen perf board. Skulderknapperne skal begge også loddes til deres egne individuelle perf boards.

Joysticks i mit tilfælde skulle loddes til deres medfølgende breakout boards. Du har sikkert allerede gjort dette, hvis det også var din sag:)

LED'erne blev loddet til en enkelt strimmel perf bord, og det samme var ADC.

Sørg for at teste ledninger med en voltmåler, for test efter installation af alt i kabinettet kan være vanskelig!

Det kan være en god idé at vente med at lodde eventuelle ledninger til Raspberry Pi eller mellem perf board sektioner, indtil du kender dit kabinetlayout. Det gjorde jeg ikke, og det gjorde det svært at passe alt senere (ups).

Trin 6: Oprettelse af sagen

Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen
Oprettelse af sagen

Sagen er nok det, der tog længst tid på dette projekt. Den sag, du laver, vil sandsynligvis afvige fra min, så jeg vil ikke give nøjagtige dimensioner på noget (plus jeg mistede layoutet til sagen).

Front, top og bagside er lavet af 1/4 "træ (hvis jeg husker rigtigt), og siderne og bunden er lavet af 1/2" træ.

Begynd med at måle afstanden mellem midten af dine knapper sammen med diameteren på hver på den bredeste del af knappen. Marker disse målinger på indersiden af sagen, hvor du vil placere dem. Du vil (næsten) altid bore fra indersiden af sagen til ydersiden, da bunden af et boret hul vil se pænere ud. Det hjælper at placere et skrotbræt bag dit hul, mens du borer, så det ikke river brættet i stykker.

Joystickshullerne blev først boret til den omtrentlige størrelse og derefter slebet og brugt Dremel -værktøjet på indersiden til at runde dem ud, så joysticksne ville passe bedre.

Det store hul til berøringsskærmen blev målt fra metalsektionen på bagsiden af berøringsskærmen. Jeg startede med at bore et hul nær den ene kant af, hvor skærmen ville gå, fjernede den ene ende af rullesaven, satte den gennem hullet og fastgjorde det igen, så jeg kunne skære hullet. Der blev lavet en lille outdone i det rektangulære hul, så båndkablet på bagsiden af skærmen kunne passere igennem (billedet ovenfor). Jeg brugte Dremel -værktøjet til at barbere en sektion ned på siden af dette hul, så berøringsskærmen ville ligge i skål mod sagen.

Toppen af sagen blev boret på omtrent samme måde med rektangulære huller til HDMI, A/V -stik, USB -port og opladningsport. Raspberry Pi sidder lige ved siden af toppen af sagen, så der ikke er brug for HDMI- og A/V -ledninger. Jeg skulle nok nok have brugt forlængere, da det passede lidt.

Bagsiden af sagen har seks huller til ventilation. Disse har ingen specifik størrelse eller layout, så du kan lave et fedt mønster med dem! Jeg glemte at bore et hul bag PowerBoosts opladningsindikatorer, så jeg skal holde enheden helt rigtigt, så jeg kan se dem gennem ventilationshullerne. Det kan være en god idé at bore et lille hul bag på sagen, så du kan se dem!

Siderne og bunden af kabinettet er hakket langs kanterne, så de går sammen, og skaber en lomme til for- og bagside at sidde i.

Når du har alle hullerne boret/skåret, kan du samle sagen. I min blev alt undtagen bagsiden limet sammen, med bagsiden skruet på for at give let adgang til komponenterne.

Trin 7: Afslutning af elektronikken og testmontering

Afslutning af elektronikken og testmontering
Afslutning af elektronikken og testmontering
Afslutning af elektronikken og testmontering
Afslutning af elektronikken og testmontering

På dette tidspunkt skal du afslutte elektronikken ved at lodde de resterende ledninger mellem perfboard -sektionerne. Sørg for, at dine ledninger har den korrekte længde for at nå, hvor de skal hen. Gå altid lidt for længe, da du kan bøje ledninger lidt over, men du kan ikke strække dem!

Ledninger kan loddes direkte til Raspberry Pi, bare sørg for at dobbelttjekke placeringen, før du laver noget permanent!

Jeg fandt ud af, at det var nyttigt at oprette en perf board strip, der havde jord og spænding på den, så hver perf board sektion kunne forbinde til den i stedet for forskellige pins på Raspberry Pi eller andre sektioner.

Test pasformhuller og mellemrum for at sikre, at dit layout fungerer!

Trin 8: Maleri

For at male min sag valgte jeg en halvblank sort maling, der passede meget godt til berøringsskærmen. Jeg tapede indersiden af hullerne af, så jeg ikke kunne få maling i de områder, hvor der var limet knapper til dem. Indersiden behøver ikke og skal ikke males, men bare rolig, hvis der kommer lidt ind.

Trin 9: Installation af komponenter

Installation af komponenter
Installation af komponenter
Installation af komponenter
Installation af komponenter

For at installere knapperne skar jeg små stykker af 1/4 træ, der blev limet til perfboardpladens sektioner. Disse blev derefter limet til indersiden af kassen på deres respektive pletter ved hjælp af superlim, da trælim gør det svært at holde på plads, mens den tørrer.

Til joysticks lavede jeg små "standoffs" ved hjælp af dyvler og små træstykker, som derefter blev skruet og/eller limet til monteringshullerne i breakout boards. Jeg brugte Gorilla superlim, da den hurtigt bindes og let kan føjes til træ og perf bord. Et joystick breakout board skulle trimmes ned på den ene side med en båndsliber for at få det til at passe bedre.

Raspberry Pi blev installeret på lignende måde som joysticks, med træstands fastgjort til nogle af monteringshullerne.

PowerBoost havde en lille træblok limet til bunden, som derefter blev limet til siden af kassen.

Lysdioderne blev simpelthen limet direkte på kassen. Jeg fandt ud af, at superlimen "brændte" malingen, hvis den kom på ydersiden, når LED'erne installeres, så du vil være forsigtig, når du gør det.

Efter tilslutning af batteriet blev det tapet til bunden af sagen ved hjælp af dobbeltsidet skumtape, som ser ud til at holde godt.

Derefter kan du teste, at den tænder og fortsætte til det sidste trin.

Trin 10: Afslutning

Afslutter
Afslutter

Nu hvor hardwaren er færdig, kan du afslutte opsætningen af kontrollerne i RetroPie. Tilslut først en 5v 2,5A strømadapter eller en hvilken som helst officiel Raspberry Pi strømadapter, da dit batteri muligvis ikke er opladet endnu. Sørg for, at du har mindst 2,5A, hvis din Pi er tændt, mens du oplader den, da strømmen er delt mellem PowerBoost -opladningskredsløbet og Raspberry Pi. Hvis du oplader den, mens Pi er slukket, bør enhver oplader fungere. Start din Raspberry Pi ved at holde tænd / sluk -knappen nede i cirka 5 sekunder. Jeg fandt ud af, at min ikke startede, mens den var tilsluttet af en eller anden grund, så du skal muligvis oplade batteriet, indtil den grønne indikatorlampe på PowerBoost lyser (batteriet er opladet), og derefter tage stikket ud. Når RetroPie starter, skal du igen konfigurere controlleren, kun denne gang er det Python -controlleren. Når du har konfigureret dine kontroller, skal du sørge for, at alt fungerer ved at starte dit yndlingsspil og teste det!

Trin 11: Afsluttende ord og kreditter

Tillykke! Du har gennemført din helt egen Raspberry Pi Mobile Gaming Device! Hav det sjovt at spille spil, mens du er på farten, og vis det frem til dine venner!

Et par ting, jeg ville have gjort anderledes, er:

- Brug af en Arduino til kontrol i stedet for ledningsføring direkte til Raspberry Pi. Der var et par gange, jeg brændte en GPIO -pin ud, og (jeg tror), at Arduino har mere pin -beskyttelse end Pi.

- 3D -print ville have været rart for en sag, men desværre har jeg ikke en (endnu)

- Planlagde ledningerne bedre. Jeg skyndte mig lige ind i dette projekt og fandt ud af lidt sent, at jeg skulle have planlagt mere:)

- Huller til LED'er til opladningsstatus. Opladningsindikatorerne på PowerBoost fortæller om batteriet er opladet eller ej, og jeg glemte at bore et hul, så de kan ses. Et godt sted ville sandsynligvis være bagsiden af sagen bag PowerBoost eller oven på lysdioderne.

- Fjernelse af bagpanelhuller. Bagpanelet på min sidder lidt tæt, så nogle huller, der giver dig mulighed for at trække det ud med din finger, kan være en god idé.

Heldigvis var jeg i stand til at afslutte dette projekt, og jeg håber, at du har eller vil være i stand til også at lære noget om træbearbejdning, programmering eller lodning.

Jeg vil gerne takke Mr. Fields for at hjælpe mig i dette projekt. Han donerede venligt sin tid, værksted og træet til dette projekt. Han hjalp mig med at lære mere om træbearbejdning og kunne guide mig gennem processen med at lave sagen.

Tak fordi du læste denne Instructable!

Anbefalede: