Dit is niet de eerste of de laatste gameconsole ter wereld op RetroPie, maar onder de vele vergelijkbare, valt het voorgestelde Instructables-ontwerp onder de bijnaam 陳亮 op door zijn miniatuurformaat: het is ongeveer zo groot als een meer minimale Arduboy-console.
Het toestel is gebaseerd op het Raspberry Pi Zero board, de optie is geschikt met zowel wifi als zonder. De eerste is handiger, de tweede is energiezuiniger. De meester plaatste er een Waveshare LCD HAT op. Het is belangrijk om een nieuwere versie van de "hoed" te kiezen - met een 1,3-inch scherm met een resolutie van 240x240. Ja, een vierkant, maar Instagram en Polaroid hebben er niets mee te maken. Op deze "hoed" zit, naast het display, een joystick en knoppen. De Raspberry Pi Zero heeft geen kam. Als je het nodig hebt, moet je het zelf solderen. Om de console niet te dik te worden, heb je een kam nodig met 8 mm pinnen. Ik heb zo'n meester niet gevonden en de 12 mm ingekort. Het bestaat uit twee rijen van elk 20 pinnen. In de opening tussen de planken past een LiPo-batterij van 45x23x5 mm met een ingebouwd beveiligingscircuit. De capaciteit staat er niet op aangegeven. Ней Hij voegde er een zeer miniatuur laadregelaar van 10x10 mm aan toe, wat goed is voor iedereen, maar kan de batterij alleen opladen in langzame modus met een stroom van slechts 50 mA. De hiernaast getoonde tweekleurige LED is optioneel. Van de extra benodigde componenten: een mechanische aan / uit-schakelaar, een riem, vier verzonken schroeven met een M2.5-schroefdraad van 14 mm lengte.
De kast en knoppen zijn 3D-geprint, de meester heeft alle bestanden opgesteld die nodig zijn voor hun herhaling op thingiverse. U kunt ze in één of verschillende kleuren afdrukken, in de auteursversie zijn ze als volgt: Layer123.stl - gitzwart, Layer4.stl - transparant geel, Layer5.stl - transparant oranje, Layer678.stl - transparant rood, ButtonHead.stl - transparant rood, blauw en groen (drie knoppen), CrossButtonHead.stl - donkerrood (en dit is een D-pad).
De PAM2306-stabilisator op de Raspberry Pi Zero kan werken met een kleine spanningsdaling, hij genereert 3,3 V aan de uitgang, zelfs wanneer de ingangsspanning daalt tot 3,5 V. De console verbruikt één batterijlading en verbruikt 100 tot 200 mA wanneer wifi is losgekoppeld , Het werkt ongeveer 90 minuten, terwijl het ongeveer 90% van de batterijcapaciteit verbruikt. Een bord waarop wifi niet beschikbaar is in hardware zal nog langer werken.
De meester verbindt de "framboos" en "hoed" met elkaar met een kam met 12 mm pinnen, maar soldeert deze tot nu toe niet:
Hij bijt het teveel weg en de pinnen worden 8 mm:
Soldeer de kam op het ene bord en de tegenhanger op het andere:
Verbindt met andere componenten:
Volgens dit schema, samengesteld in tekstvorm:
Opmerking: bij de "hoed" bevindt de kam zich aan de achterkant, daarom is de nummering van de conclusies omgekeerd.
Alles behalve de Raspberry Pi wordt geplaatst in het detail van de behuizing dat is afgedrukt vanuit het Layer4.stl-bestand, onder de schakelaar is er een voetafdruk:
Bovenaan wordt het gedeelte afgedrukt dat is afgedrukt vanuit het bestand Layer5.stl:
Dan - Raspberry Pi:
En de achterwand is het Layer678.stl-bestand:
Plaatst de schroeven:
Draait de hele constructie om, plaatst de knoppen die zijn afgedrukt vanuit het ButtonHead.stl-bestand, maar nog niet de D-pad:
Sluit met het voorpaneel afgedrukt vanuit het Layer123.stl-bestand:
Draait en draait schroeven vast:
Installeert de D-pad op de joystickas, afgedrukt vanuit het CrossButtonHead.stl-bestand:
Shakes Retropiedoor de Raspberry Pi 0/1 optie te selecteren, en homebrew games. Extra bestanden downloaden: mk_arcade_joystick_rpi en rpi-fbcpdoor de downloadoptie in het ZIP-archief te selecteren.
Schrijft de gedownloade RetroPie-afbeelding naar de geheugenkaart. Alleen het bestand kopiëren zal niet werken. U moet een van de methoden gebruiken, afhankelijk van welk besturingssysteem u op het bureaublad heeft.
Methode voor Linux
Weg voor MacOS
Way voor Windows
In alle gevallen moet de naam van het afbeeldingsbestand in het voorbeeld worden vervangen door de naam van het bestand dat u hebt gedownload.
Plaatst de archieven mk_arcade_joystick_rpi-master.zip en rpi-fbcp-master.zip op de geheugenkaart.
Aan het einde van het bestand config.txt op de geheugenkaart, zet de regel:
dtoverlay = dwc2
In het codlin.txt-bestand na het trefwoord rootwait zet: modules-load = dwc2, g_ether
Het blijkt:
dwc_otg.lpm_enable = 0 console = serieel0,115200 console = tty1 root = PARTUUID
Het maakt een leeg ssh-bestand op de geheugenkaart, op MacOS heeft de wizard de volgende opdracht:
raak / volumes / boot / ssh aan
De 3D-geprinte case heeft al uitsparingen voor een USB-connector en een slot voor een geheugenkaart, dus het installeren van een kaart en het aansluiten van de kabel is niet moeilijker dan in een speler, bijvoorbeeld:
Kort na het laden van RetroPie herkent de OS-console van de computer de virtuele netwerkkaart. Zodra dit gebeurt, voert de wizard de opdracht in:
ssh pi@retropie.local
Het standaardwachtwoord is framboos, het 陳亮 verandert het onmiddellijk met de opdracht passwd.
Aan het einde van het bestand / etc / modules voegt het toe:
spi-bcm2835
flexfb
fbtft_device
Maakt een /etc/modprobe.d/fbtft.conf-bestand met de volgende inhoud:
opties flexfb setaddrwin = 0 breedte = 240 hoogte = 240 init = -1,0x11, -2,120, -1,0x36,0x70, -1,0x3A, 0x05, -1,0xB2,0x0C, 0x0C, 0x00,0x33,0x33, -1.0xB7.0x35, -1.0xBB, 0x1A, -1.0xC0.0x2C, -1.0xC2.0x01, -1.0xC3.0x0B, -1.0xC4.0x20, -1.0xC6.0x0F, - 1,0xD0,0xA4,0xA1, -1,0x21, -1,0xE0,0x00,0x19,0x1E, 0x0A, 0x09,0x15,0x3D, 0x44,0x51,0x12,0x03,0x00,0x3F, 0x3F, -1,0xE1 , 0x00,0x18,0x1E, 0x0A, 0x09,0x25,0x3F, 0x43,0x52,0x33,0x03,0x00,0x3F, 0x3F, -1,0x29, -3
opties fbtft_device name = flexfb gpios = reset: 27, dc: 25, cs: 8, led: 24 speed = 125000000 bgr = 1 fps = 60 custom = 1 height = 240 width = 240
Extraheert bestanden uit een van de twee archieven die eerder naar de kaart zijn gekopieerd (zie hierboven):
unzip /boot/rpi-fbcp-master.zip
Compileert en installeert:
cd rpi-fbcp-master /
mkdir bouwen
cd bouwen
cmake ..
maken
sudo installeer fbcp / usr / local / bin / fbcp
Loopt:
/ usr / local / bin / fbcp &
Aan het einde van het bestand voegt /boot/config.txt toe:
disable_overscan = 1
hdmi_force_hotplug = 1
hdmi_group = 2
hdmi_mode = 87
hdmi_cvt = 240240 60 1 0 0 0
dtparam = spi = aan
Pakt een ander archief uit:
unzip /boot/mk_arcade_joystick_rpi-master.zip
Start de editor en opent het configuratiebestand van de gamepad:
cd mk_arcade_joystick_rpi-master /
vi mk_arcade_joystick_rpi.c
Vindt de string statische const int mk_arcade_gpio_maps [] en laat het er zo uitzien:
statische const int mk_arcade_gpio_maps [] = {6,19,5,26,13,21,16,20,0,0,0,0,0};
Slaat het bestand op, compileert en installeert de module:
sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
export MKVERSION = 0.1.5
sudo -E dkms build -m mk_arcade_joystick_rpi -v 0.1.5
sudo -E dkms installeren -m mk_arcade_joystick_rpi -v 0.1.5
Controleert knoppen:
sudo modprobe mk_arcade_joystick_rpi map = 1
jstest / dev / input / js0
Aan het einde van het bestand voegt / etc / modules toe:
mk_arcade_joystick_rpi
Maakt een /etc/modprobe.d/joystick.conf-bestand met de volgende inhoud:
opties mk_arcade_joystick_rpi map = 1
Gedownloade bestanden (zie hierboven) met homebrew-spellen zijn verspreid van de / boot-map naar de ~ / RetroPie / roms / $ CONSOLE-mappen, waar $ CONSOLE de naam is van het platform waarvoor ze bedoeld zijn.
Voer raspi-config uit:
sudo raspi-config
Configureert:
Selecteert een WiFi-netwerk (alleen voor het bord waar het is): 2 Netwerkopties -> N2 Wi-fi -> voer gegevens over uw netwerk in
Zorgt ervoor dat de download niet stopt om het netwerk te laten verschijnen: 3 Opstartopties -> B2 Wacht op netwerk bij opstarten -> Nee -> OK
Geeft de tijdzone aan: 4 Lokalisatie-opties -> I2 Tijdzone wijzigen -> selecteert uw tijdzone
Schakelt de seriële poort uit: 5 Interfacing Options -> P6 Serial -> No -> No -> OK
Voert het RetroPie-configuratiescript uit:
sudo ~ / RetroPie-Setup / retropie_setup.sh
Optimaliseert de resolutie voor een 1,3-inch scherm: C Configuratie / Tools -> 805 configedit -> 1 -> 0 -> 2 Renderresolutie -> O Resolutie video-uitvoer -> OK -> Annuleren -> Annuleren -> Annuleren
Verandert het thema in een geschikt thema voor een dergelijk scherm (je hebt wifi nodig om verbonden te zijn): 812 esthemes -> 14 Pixel-tft -> OK -> 1 carbon -> 2 Verwijderen
De "hoed" heeft slechts drie afzonderlijke knoppen, plus een ingebouwde direct in de D-pad. En de schermresolutie is 240x240. De master geeft de voorkeur aan het NES-platform, waar de resolutie 256 x 240 is. Om ervoor te zorgen dat het beeld niet wordt vervormd, besloot hij het bij te snijden. Voor lezers die NES-games willen spelen, raadt hij aan om regels toe te voegen aan het einde van het /opt/retropie/configs/nes/retroarch.cfg-bestand:
video_fullscreen_x = "0"
video_fullscreen_y = "0"
video_scale_integer = waar
En aan het einde van het bestand /opt/retropie/configs/all/retroarch-core-options.cfg - de regel:
quicknes_use_overscan_h = "uitgeschakeld"
De knoppen van de gamepad geëmuleerd door NES worden verspreid door de knoppen van de console volgens de afbeelding:
Gebruikers die gewend zijn aan de Turbo-knoppen zullen moeten spenen. De wizard start de editor en opent het EmulationStation-instellingenbestand:
Daar zet het de tekst:
& lt ;? xml version = "1.0"? & gt;
/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh
Nadat het bestand is opgeslagen en de editor is gesloten, wordt het opnieuw gestart, maar met het RetroArch-instellingenbestand:
vi / opt / retropie / configs / all / retroarch / autoconfig / GPIO \ Controller \ 1.cfg
En daar zet het de tekst:
input_device = "GPIO-controller 1"
input_driver = "udev"
input_start_btn = "11"
input_exit_emulator_btn = "11"
input_down_axis = "+1"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_select_btn = "10"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"
input_up_axis = "-1"
input_a_btn = "0"
input_b_btn = "1"
input_reset_btn = "1"
input_enable_hotkey_btn = "10"
Het slaat ook op en sluit, versnelt het laden door opeenvolgende invoer van opdrachten:
sudo systemctl schakelt asplashscreen uit
sudo systemctl schakelt dphys-swapfile uit
sudo systemctl hciuart uitschakelen
sudo systemctl schakelt toetsenbordconfiguratie uit
sudo systemctl schakelt nmbd uit
sudo systemctl schakelt raspi-config uit
sudo systemctl smbd uitschakelen
sudo systemctl schakelt nfs-config uit
Wat swap uitschakelt, doet het goed, maar hij wil niet dat de geheugenkaart snel buigt.
In het bestand /boot/cmdline.txt stelt u de parameters als volgt in:
dwc_otg.lpm_enable = 0 console = tty1 root = PARTUUID = 14a75fe9-02 rootfstype = ext4 elevator = deadline fsck.repair = ja rootwait loglevel = 3 consoleblank = 0 plymouth.enable = 0 logo.nologo fastboot quiet
En deze regel verandert in een opmerking door een raster vooraan te plaatsen:
# dtoverlay = dwc2
Start het apparaat opnieuw op. Gaat uit met de opdracht:
sudo stop
Ontkoppelt de kabel, zet de schakelaar aan en laadt al zonder een pc. Ongeveer een minuut later, wanneer het downloaden is voltooid, configureert het, selecteert het de emulator en het spel.
Zoals de lezer al vermoedde, komt bij het lezen van de configuratiebestanden hierboven de Start-toets overeen met klikken op de D-pad in het midden. Als u hetzelfde spel indrukt, kunt u het instellingenmenu oproepen wanneer het spel niet actief is. Daar selecteert de wizard de volgende items:
UI-INSTELLINGEN - & gt; SCREENSAVER-INSTELLINGEN - & gt; SCREENSAVER NA - & gt; 1 minuut
ANDERE INSTELLINGEN - & gt; STROOMBESPARINGSMODI - & gt; DIRECT
Zet de riem in het daarvoor bestemde "oor":
Klaar, je kunt gebruiken:
Hieronder staan de verschillende kleuren voor de console: