» Elektronica »Subminiatuur gameconsole op RetroPie

Subminiatuur gameconsole op RetroPie



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

Subminiatuur gameconsole op RetroPie











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:





10
10
10

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
1 commentaar
Sorry
Geplaatst door Instructables onder de bijnaam 陳亮
Hij heeft blijkbaar geen smartphone of tablet, niets om op te spelen! lach

We raden je aan om te lezen:

Geef het voor de smartphone ...