ArduBaby - Halv størrelse Arduboy med 500 spill på seriell flash: 10 trinn

ArduBaby - Halv størrelse Arduboy med 500 spill på seriell flash: 10 trinn

Innholdsfortegnelse:

Anonim

Du kan se denne youtube videoen for å se slutten til slutt prosessen hvordan jeg opprettet denne lille hjemmelagde Arduboy med seriell flashminne som kan lagre så mange som 500 spill å spille på veien.

Kreditt til skaperen (Kevin Bates), Arduboy er en svært vellykket 8-bits spillkonsoll. Det var tusenvis av spill skrevet av hobbyisten som delte dem fritt på forumforumet til Arduboy, slik at flere kan lære å kode.

Maskinvareutformingen er også åpen kildekode og tillater beslutningstakere som meg å designe sin egen versjon av maskinvare og utvikle programvareverktøy for å forbedre funksjonen. Credits til MR.Blinky som utformet Flash-Cart-kretsen, hjemmelaget pakke for Arduino IDE og pythonverktøyene for å administrere Flash-vognen som er i stand til å lagre 500 spill på et 16Mbyte serielt flashminne for å spille på veien uten en datamaskin.

Studier diskusjonene tråder på Arduboy fellesskap forum, lærte jeg hva jeg trenger å lage flere hjemmelagde Arduboys. For nybegynnere kan dette ikke være lett. Derfor vil jeg dele det jeg lærte i en enkelt end-to-end video og denne skriftlige instruksjonen. Håper dette vil hjelpe de som leter etter svar på å bygge sitt eget kit, men vet ikke hvordan man spør eller ikke fikk den riktige kanalen for å stille disse spørsmålene.

Min versjon av Arduboy er liten bare 1/4 av størrelsen på kredittkortet (3,5cm x 5,0cm0), men litt tykt (2cm inkludert bunndekselet), men har alle klokkene og fløyter du trenger: 0,9 "OLED, hodetelefonkontakt, volumkontroll, RGB-LED.

og viktigst, utvidelsesporten som tillater deg å bytte spillkonsollknappene dine med forskjellige ved å bytte den øvre kretskortet (knapphatten).

Du kan da bruke stille knapper, joystick som knapper, eller til og med analoge styrere som et potensiometer.

Du kan også legge til fuktighets- og temperatursensor for å bygge en liten værstasjon, eller legge til super sonic sensorer for å bygge en avstandsmåler.

Den har også flere 16M byte seriell flashminne for lagring av opptil 500 Arduboy-spill eller bruksprogrammer. Ved å bruke bootloader (Cathy3K) designet av MR.Blinky, kan du ringe opp en av de 500 spillene på veien og selv-flash som på ATmega32U4-brikken (mikrokontrolleren til Arduboy) i sekunder for å begynne å spille uten kobler til datamaskinen eller telefonen din.

forsyninger:

Trinn 1: Få alle delene

De fleste delene kan kjøpes online via amazon.com, aliexpress.com eller taobao.com. Noen av disse kan høstes fra ubrukte Arduino boards.

Det kostet meg mindre enn USD 12 (unntatt frakt) for å kjøpe alle disse fra taobao.com og send til Hong Kong.

Arduino Pro Micro

OLED 64x128 SSD1306 SPI 0,96"

W25Q128 16Mbyte minnebrikke

3,7 V 280 Mah Lipo batteri

USB LiPO batteriladermodul (4.2V)

3,5 mm hodetelefonkontakt

10K mini VR (B103) for volumkontroll

10K mini VR (B103) for potensiometer eller roterende kontroller (valgfritt)

mini Piezo høyttaler

3k resister

Tre 1K motstander

3-i-1 RGB-LED

Syv 5x5mm stille knapper

9x4mm skyvebryter for strømbryter

to 5x8cm dobbel side perf bord

en 5x8cm single side perf bord

1x13 pin kvinnelig header

1x13 pin hankrok (per knapphue)

1x7 pin kvinnelig header

1x7 pin mannlig header

3,5 x 5 cm akrylbrett for bakdeksel

fraktkostnader som skal inkluderes i budsjettet

Trinn 2: Gjør hovedstyret

1. Lag rammen til hovedkortet.

en. Ta 8cm x 5cm perf boards. Klipp den med en saks (eller en sag) for å lage en 3,5 cm x 5 cm mindre perf bord. Det burde fortsatt ha 18 rader og 13 kolonner med pinhull. Klipp ut et 3,5 cm x 5 cm stykke fra et akrylbrett som skal brukes som bakdeksel.

b. Løs en 13-pinners kvinnelig topp til siste rad nederst for knapphatten og utvidelsen.

c. Løs en 7-pins kvinnelig header til den første raden på toppen for 7-pins OLED.

d. Løs en lydknapp for tilbakestillingsknappen.

e. Løs en glidebryter for strømbryteren.

f. Løs en 3,5 mm stereo hodetelefonkontakt for hodetelefon.

g. Fest en 3-pinners 10K mini-variabel motstand.

2. Lag 4,2 V LIPO batterilader og 3,3 V regulator krets.

en. desolder 5-polet 5V regulatoren på Pro-Micro-kortet, slik at vi kan levere strøm fra en ekstern 3,3 V regulator.

b. Trim LIPO batteriladermodulen slik at den kan passe på hovedkortet like ved siden av batteripakken på 3,4 mm. Du må gjøre kuttet på det punktet der USB-kontakten møter resten av kretsen. Hvis dette fortsatt er for stort, kan det hende du må trimme litt lenger. I mitt tilfelle trenger jeg å flytte og re-lodde en av motstanden slik at jeg kan trimme videre.

c. Trim av tappen øverst på 3.3V regulatoren (AMS1117-3.3) for å redusere plass, og for å unngå kortslutning. Deretter lodder tpin 1 til den negative utgangen og pin 3 den positive utgangen på LIPO batterilader modulen. Løs en 0.1uF kondensator mellom Pin 1 og Pin 2 for å avkoble og redusere støy. Bruk en liten SMD type kondensator for å redusere plass hvis mulig.

d. Koble en 0,3 mm laminert (isolert) ledning fra RAW-pinnen på Pro-mikrokortet til den positive 5 V-inngangen på batteriladermodulen. Koble en ledning fra GND-pinnen på Pro-mikrokortet til den negative inngangen på batteriladermodulen. Koble en ledning fra midtstiftet (pin 2) til 3.3V regulatoren.Koble de negative og positive terminalene til LIPO-batteriet til henholdsvis negativ og positiv utgang på batteriladeren.

d. Koble USB-kabelen fra datamaskinen til Pro-Micro-kortet. RAW-pinnen skal levere 5V fra USB-kabelen til LIPO-batteriladermodulen, som reguleres for å lade LIPO-batteriet. Ladelampen lyser. 3.3V-regulatoren skal konvertere 4.2V-utgangen til 3.3V for å slå opp Pro-Micro-kortet. Lysdioden på Pro-Micro-kortet burde lyse.

e. Start Arduino IDE, og klikk Verktøy -> Porter for å sjekke portnavnet for å sjekke om Pro Micros USB-port er gjenkjent av datamaskinen. På min MAC OSX viser den "/dev/cu.usbmodem14201 (Arduino Leonardo)". Klikk på Tools-Boards og velg "Arduino Leonardo". Legg deretter på eksempelskissen "Blink". Test deretter opplastingen for å sjekke om du kan laste opp til Pro Micro. Hvis det er noe problem, kontroller ledningen og lodding.

3. Lag det serielle flash-datterkortet.

en. Klipp ut en mindre enkelt side perf bord med 7 pin hull x 4 pin hull som skal brukes som datterbordet til å huse flashminne chip og ekstra breakout pins av D11, D12, D14.

b. Del loddetinnene på den andre siste raden av brettet i to halvdeler. Dette vil bli brukt til å montere seriell flashminne modulen som er en overflatemontert enhet med en smal avstand mellom tappene, slik at de midterste to pinnene vil stå på de to halvdelene av loddetinnet og ikke vil kortslutte.

c. Løs Winbond W25Q128 minnebrikken på perf bordet. Pass på at ingen to pinner er i kontakt.

4. Løs ytterligere breakouts fra ATMega32U4-brikken for tappene D11, D12, D13.

en. Ved hjelp av en fin loddetråd, og et forstørrelsesglass, loddemåler tre 0,5 mm laminerte (isolerte) ledninger, på pinnene i ATMega32U4-brikken til brytestifter D11, D12, D13. Se pin-oppsettet til ATMega32U4. Dette er den vanskeligste delen av prosjektet. Jeg tilbrakte en halv time hver gang jeg måtte lodde dette. Du må være veldig forsiktig så du ikke ved et uhell kortslutninger andre pins på mikrokontrolleren, mens du fremdeles gjør en solid ledd som vil vare.

Se på youtube videoer for å lære hvordan du gjør et slikt lite loddingsarbeid, og hvordan du redder et utilsiktet utslipp av soldater ved hjelp av ørene. Jeg vil ikke anbefale varmluftpistol / blåser med mindre du er dyktig nok. Hvis avstanden og strømmen ikke er godt kontrollert, kan det lett ødelegge soldatene til ATMega32U4-brikken eller smelte andre komponenter og skade hele brettet til et punkt utover gjenoppretting.

b. lodde de andre enden av de tre ledningene på de midterste 3 loddemodulene i den siste raden av seriell flash-datterbrettet.

5. Monter seriell flash-datterkortet på Pro Micro-brikken.

en. Lodde 0,5 mm ledninger i den første raden med pinner på toppen av Pro Micro-kortet, dvs. TX og RAW.

b. Lodde 0,5 mm ledninger (for eksempel de som kommer fra transistorens ben) til de siste fire radene av pins på baksiden av Pro Micro-brikken. dvs. D6, D7, D8, D9 og SCLK, MISO, MOSI og A10. Ledningen skal stikke ut fra toppen og ned til bunnen slik at vi kan bruke den til lodding på datterbordet og koble det til hovedkortet nederst.

c. Løs den serielle flash-datterplaten til Pro-mikroen ved å koble de siste radene med pins av Pro Micro til den på datterplaten.

6. Monter LIPO batteriladerbordet på hovedkortet.

en. Loddemål 0,5 mm ledninger (for eksempel de som kommer fra transistorens ben) til de fire hjørnene på LIPO batteriladerbordet (for -ve-inngang, + ve-inngang, -ve utgang, + ve-utgang). Bor et hull på stedet der midtstiftet på 3V regulatoren ligger. Løs en 0,3 mm laminert ledning til midtstiftet (3.3 V utgang).

b. Løs de 4 beina på batteriladerkortet på hovedkortet, rett ved siden av 3,5 mm hodetelefonkontakt. For å redusere plass, bør laderkortet trykkes ned for å møte hovedkortet.

7. Monter Pro-mikrokortet nederst på hovedkortet og lol alle pinnene fra de siste 4 radene og den første raden på Pro Micro til hovedkortet. Det er ikke nødvendig å lodde de andre pinnene, de vil bli koblet til med laminerte ledninger etter behov senere. Dette er å tillate enklere modifikasjon og om nødvendig utskifting av Pro Micro hvis den er brent.

8. Gjør resten av lodding.

Koble pinnene til Pro Micro-kortet til de forskjellige komponentene og toppene. All lodding tilkobling vil bli laget på undersiden av dobbeltsidet perf bord. Etter at alt lodding er gjort, må du teste forbindelsen.

9. Dekk bunnen av hovedkortet med akrylplaten i samme størrelse.

Trinn 3: Lag knapphatten

en. Ta 8cm x 5cm perf boards. Klipp den med en saks (eller en sag) for å lage en 3,5 cm x 5 cm mindre perf bord. Det burde fortsatt ha 18 rader og 13 kolonner med pinhull. Klipp ut et vindu med 2,8 x 2,2 cm vindu som er stort nok til å la glasset i OLED stikke ut fra baksiden. Jeg brukte et diamant skjærehjul for å gjøre dette. Verktøyet er så skarpt og sterkt at du kan miste fingrene dine hvis du ikke er forsiktig. Du kan plassere skjæringen i den andre raden med pinhull fra toppen, og den 9. radene med pinhull fra bunnen. og i 2. kolonne av pin hull fra hver side.

b. Løs en 13-pinners mannlig topp i den siste raden på perf bordet.

c. Layout knapper på perf bordet for D-PAD (retningsknapper, opp, ned, venstre, høyre) og A-knappen og B-knappen. Så lodd dem på forsiden av perf bordet.

d. På undersiden av perf bordet, koble en side av alle knappene til bakken pin (pin 2) av den mannlige header.

e. Koble den andre pinnen til hver knapp til den tilsvarende pinnen på den mannlige heisen for den knappen.

f. Hvis du bygger en knapphett til en roterende rotasjons- eller dreieskriver med potensiometer, vil du installere en 3-pinners 10K variabel motstand i stedet for D-PAD retningsknappene. Kontroller at delenummeret til variabelmotstanden starter med "B" (for eksempel "B103" står for maks. 10K), ikke "A". "A" betyr vinkelen til svinget er proporsjonal med motstandens LOG. B betyr vinkelen på svinget er proporsjonal med motstanden. Vi trenger type B VR for roterende spillkontrolleren Koble den ene siden av potensiometeret (GND-pin) til GND (knapp 2 på knapphattenhodet). Koble den andre siden av potensiometeret til VCC (knapp 3 på knapphattenhodet). Koble midtpunktet til potensiometeret til den valgte analoge til digitale pinnen på Pro Micro-kortet (en av A0, A1, A2, A3) avhengig av hvilken pinne spillet er kodet med. Hvis kontrollen ikke er jevn (hopper rundt), kan du koble en 100 pf kondensator mellom GND-pinnen og midtpunktet på potensiometeret for å avkoble fra støy på kretsen.

Trinn 4: Lag USBasp-kabelen

I motsetning til å laste binære koder / spill til et hvilket som helst Arduino-kort, kan det ikke gjøres via USB-porten når du starter opplastingsprogrammet.

For å brenne den egendefinerte oppstartsleseren (Cathy3K) til Atmega32U4-brikken, må du få en USBasp-programmerer. Men vår opprettelse fungerer på 3,3 V, vi må videre endre USBasp programmerer til å fungere i 3.3V.

Se følgende instruerbare prosjekt for å modifisere USBasp programmeringsprogrammet til å arbeide på både 3.3V eller 5V gjennom jumperinnstillinger.

www.instructables.com/id/Modify-a-5V-USBasp-Arduino-Bootloader-Programmer-t/

Følg deretter pin-oppsettet og videoen for å gjøre USBasp til ArduBaby-programkabel.

Den originale USBasp-kabelen som følger med USBasp har to kontakter, hver 10 pins.

Vi hakker denne kabelen halvt og kobler en 6-bens hodeskuff til den ene enden mens du holder den andre enden som kobles til USBasp-kortet på 10pin.

Denne andre enden vil koble GND, VCC, MOSI, MISO, SCK, Tilbakestillingspinnene fra USBasp til de tilsvarende pinnene til ATmega32U4 gjennom den mannlige heisen som kobles til de seks første pinnene i den kvinnelige heisen på Ardubaby.

For å gjøre programmet eller brenne opplasteren til ATmega32U4, fjerner du knapphatten og plugger inn denne 6-pinners USBasp-kabelen.

Pass på at du merker hvilken pin som er pin en tydelig på ledningen på kabelen, slik at det ikke blir feil forbindelse. Når jeg designer pin-oppsettet for hodeskuddene i Ardubaby-knappen, prøvde jeg å ordne pinnene slik at selv om du byttet pin 1 med pin 13, vil strømforsyningen ikke tilfeldigvis møte + + strømforsyningen for å unngå skader.

Men du vet aldri, det kan skje andre ting som kan skade utstyret ditt hvis du kobler deg i feil retning.

Jeg vil brenne et lite hull for å markere det på toppteksten ved hjelp av spissen av loddetinnjernet.

Trinn 5: Konfigurer Arduino IDE

Hvis du er ny på Arduino, kan du bla til

for å laste ned Arduino IDE for operativsystemet du bruker, eksempelvis Windows 10 eller Mac OSX eller Linux.

Deretter følger instruksjonene der for å installere den.

Trinn 6: Brenn Bootloader

MR.Blinky opprettet Arduboy-hjemmelaget pakke for hjemmelaget Arduboy.

Hans pakke inneholder styrelederne og biblioteket til Arduboy som arbeider med forskjellige versjoner av den originale Arduboy så vel som han hjemmelagde.

1. Bla til MR.Blinkys GitHub-mappe for den hjemmelagde Arduboy. http: //github.com/MrBlinky/Arduboy-homemade-pack …

2. Følg instruksjonene på GitHub for å konfigurere din Arduino IDE med den hjemmelagede pakken.

3. Først kopierer du adressen til "Ekstra styreleder" for Arduboy hjemmelaget pakke. http: //raw.githubusercontent.com/MrBlinky/Ardubo …

4. Start Arduino IDE. Klikk Innstillinger fra Arduino toppmeny. Lim inn denne teksten i «Ytterligere styrer-nettadresser». Merk: Hvis du allerede har annen tekst i dette feltet, legg inn denne tilleggsteksten i begynnelsen, legg deretter til en "," og hold den andre teksten intakt.

5. Avslutt Arduino IDE og start IDE igjen for å få effekt av endringen ovenfor.

6. Klikk på Verktøy -> Board: -> Board Manager. Skriv inn hjemmelaget å søke. Velg for å installere Arduboy hjemmelaget pakke av Mr.Blinky. Pakken vil bli lagt til Arduino. Klikk deretter oppdatering for å oppdatere den til den nyeste versjonen.

7. Velg nå Verktøy-> Styret: "Hjemmelaget Arduboy. og velg følgende parametere for Hjemmelaget Arduboy "Basert på:" SparkFun Pro Micro 5V - Standard ledninger "Kjerne:" Arduboy Optimized core "Bootloader:" Cathy3K "Programmerer: USBasp

8. Slå av Ardubaby og fjern knapphatten.

9. Sett jumperen på USBasp til 3.3V. Pass på at du bruker en modifisert USBasp som fungerer helt i 3.3V.

10. Koble USBasp til USB-porten på datamaskinen din. Koble den spesielle USBasp til ArduBaby-kabelen til USBasp, og den andre enden til knapphattenhodet på Ardubaby, sett opp pin 1 til pin 1. Bare de første 6 pinnene i Ardubaby brukes til å brenne bootloader.

11. Din Ardubaby skal være drevet på nå via 3.3V strøm som leveres av USBasp.

12. Trykk på reset-knappen på ArduBaby en gang.

13. Klikk verktøyet-> Boards-> Burn Bootloader-knappen på Arduino IDE.

14. Kontroller meldingen for å se om oppstartsladeren brenner, er vellykket.

15. Hvis ikke, kontroller kabelen og sørg for at du kobler stifterne i riktig retning og sett opp stift 1 med stift 1. Noen ganger vil Ardubaby begynne å spille et forrige spill hvis oppstartsmenyen går ut. Så, du må klikke knappen Burn bootloader raskt rett etter at du har trykket på reset-knappen for å sette Ardubaby i vente på flashmodus.

16. Hvis det er bra, vil ArduBaby starte på nytt, og du vil se enten oppstartsmenyen eller det forrige spillet du har lastet til ArduBaby.

Trinn 7: Complie og Last opp enkeltspill

Spill for Arduboy kan lastes ned fra følgende kilder:

Arduboy samfunnsforum for spill:

GitHub-søk på "Arduboy-spill"

github.com/topics/arduboy-game eller bare søk "GitHub arduboy spill" på google.

Spillsamlinger deles av andre. f.eks Erwin er Arduboy samlinger

arduboy.ried.cl/

Du kan laste ned kilden til spillet som du laster bilen til Arduino og laster opp til Arduboy. Se videoen om hvordan dette gjøres.

eller bare hex-filen (den kompilerte binære filen, men presentert i Hex-nummer, skriv ut til en tekstfil i stedet for binærfil).

Du kan følge trinnene i MR.Blink's uploader.py pythonverktøy for å laste opp hex-filen til din Arduboy. http: //github.com/MrBlinky/Arduboy-Python-Utilit …

Kommando: python uploader.py yourgame.hex

Trinn 8: Last opp enkelt hex filer for spill

Hex-fil er en tekstfil som inneholder binære koder som resulterer i kompilering av Arduino-programmet (skisse), men representert i et tekstfilformat ved hjelp av tosifrede heksadesimale tall 0-9, A-F.

Du kan få disse hex-filene på forskjellige måter.

1. Vi kan laste ned hex-filer fra de forskjellige kildene vi forklarte ovenfor:

community.arduboy.com/c/games Erwin's Arduboy Game Collections

Søk etter "Arduboy-spill" på GitHub.com eller på google.com

Lagre disse hex-filene i filer med en utvidelse av.hex.

2. Alternativt kan du lage din egen hex-fil.

I Arduino IDE velger du Sketch> Export Compiled Binary. Skissen din vil bli kompilert, og en kopi av den kompilerte.hex-filen vil bli sendt ut i katalogen på skissen din. Bla gjennom skissemappen eller i IDE, velg Sketch> Show Sketch Folder for å se hex-filen. Hvis du installerte MR.Blinkys hjemmelagde pakke, vil to versjoner av.hex-filen bli opprettet. For eksempel, hvis du kompilerer picovaders.ino sketh, blir følgende to.hex filer opprettet.

picovaders.ino-arduboy-promicro-ssd1306.hex picovaders.ino with_bootloader-arduboy-promicro-ssd1306.hex

Vi vil bruke den første filen: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Hvis du vil laste opp hex-fil til Arduboy, må du bruke en opplaster. Det er mange på internett. Jeg liker å bruke MR.Blinkys opplastingsprogram som det er enkelt å bruke.

Bla til http://github.com/MrBlinky/Arduboy-Python-Utilities og følg instruksjonene der for å installere MR.Blinkys Arduboy Python verktøy. Hvis du ikke har en python installert, må du følge instruksjonene for å installere python og de nødvendige pythonmodulene først.

4. Koble Arduboy til USB-porten på datamaskinen din. Slå på Arduboy.

5. Start skallprogrammet i operativsystemet, f.eks. terminalappen i Mac OSX eller kommandoprompten i Windows for å skrive følgende kommandoer for å laste opp hex-filen til Arduboy. Tar vår tidligere skisse picovaders.ino som et eksempel.

python uploader.py picovaders.ino-arduboy-promicro-ssd1306.hex

6. Når spillet er lastet opp, vil Arduboy nullstille og starte spillet.

Trinn 9: Skriv spill til seriell flash

1. For å skrive den konsoliderte spillfilen til seriell flash, må du bruke MR.Blinky's Arduboy Python Utilities igjen. Du bør ha dette allerede installert hvis du følger forrige trinn.

Hvis ikke, bla til

http: //github.com/MrBlinky/Arduboy-Python-Utiliti …

og følg instruksjonene der for å installere MR.Blinkys Arduboy Python verktøy. Hvis du ikke har en python installert, må du følge instruksjonene for å installere python og de nødvendige pythonmodulene først.

2. Lag indeksfilen for den konsoliderte spillbilledfilen for å holde så mange som 500 spill.

Vi vil bruke Bruk flashcart-builder.py-skriptet til å bygge de konsoliderte spillbildefilene for alle spillene du vil lagre inn i seriell flash av Arduboy. En 16MB seriell flash kan inneholde så mange som 500 spill. Dette skriptet bygger et binært flashbilde fra en indeksfil (.csv) og følgende 2 filer for hvert spill: a..hex-filer som er tekstfilen som inneholder heksadesimale koder for binære bilder av de kompilerte Arduboy-spillene. Se Se eksempel-flashcart flashcart-index.csv filen for eksempel syntaks. Denne filen er inkludert i pakken hvis du klikker Clone eller Download. b..png grafiske bildefiler som skal vises på bootloader-menyen på Arduboy, slik at du vet hvilket spill du vil velge. Noen av spillregistrene vil ha denne grafiske filen sammen med spillkilden eller heksfilen. Hvis du ikke finner det, kan du lage din egen ved å enten kjøre spillet på Arduboy-emulatoren

felipemanga.github.io/ProjectABE/

og fange skjermen. Eller bare skriv inn navnet på spillet på en kraftpint, så skjermbild det. Deretter grafikken du fanget / skapt ned til 128x64 piksler ved hjelp av pensel i Windows, eller forhåndsvisning i Mac OSX.

YouTube-videoen forklarer også hvordan du setter ting på riktig sted i denne.csv-indeksfilen. En ting å merke seg, eksemplene.csv-filen fra MR.Blinky's GitHub brukes i Windows PC, tilbakestrek "" brukes i stinavnene. Hvis du bruker et liunx-system eller MAC OSX, må du endre det til "/".

For å få en rask start, kan du laste ned min pakke med 63 spill fra http://github.com/cheungbx/ArduBaby 63games.zip

Denne pakken inneholder hex-filene og png-filene til de 63 spillene jeg har valgt, pluss spill.csv-indeksfilen og spill-image.bin-filen som er bygget ved hjelp av flashcard-builder.py-skriptet.

Du kan legge til flere spill i games.csv og bygge din egen konsoliderte spill binære bildefil som skal skrives til seriell flash. Du kan sette maksimalt 500 spill på 16M seriell flash.

Jeg skal forklare hvordan du lager.csv-filen ved hjelp av spillene.csv som du kan laste ned skjemaet min GitHub.

Selv om.csv-filen kan åpnes ved hjelp av Excel. IKKE bruk Excel for å åpne filen. Det vil ødelegge filen. Bruk bare et vanlig tekstredigeringsverktøy. Du kan bruke notisblokk i vinduer. Jeg brukte TextEdit i MAC og klikk på "Format" -> "Lag vanlig tekst".

Den første linjen i.csv-filen er toppteksten du kan ignorere. Liste; Discription; Tittelskjerm; Hex-fil

Den andre linjen peker på den grafiske bildefilen (må være 128x64 piksler i png-filformat) for skjermbildet for oppstartslader manuelt.

0; Bootloader; arduboy_loader.png;;;

Spillene er konfigurert fra tredje linje. Spillene er organisert i grupper i opplastingsmenyen kalt kategorier. Denne linjen er gruppetittelen til spillelisten for den gruppen, f.eks. Action spill. Det peker også på den grafiske bildefilen for gruppen av spill. "1" i begynnelsen angir gruppe nummer 1. Alle spill som følger denne gruppen starter med dette nummeret.

1; Action spill; kategori-skjermer Action.png;;;

Deretter legger du til en linje for hvert spill i den gruppen.Starter med gruppe nummer 1, navn på spillet og banen til grafikkfilen for et øyeblikksbilde av skjermen og banen til hex-filen. Alle er skilt av ";". Legg til en mer ";" å hoppe over parameteren for lagringsfilen.

1; 1943; Arkade / Nineteen43.png; Arkade / Nineteen43.hex;;

1; 2048; Arkade / 2048.png; Arkade / 2048.hex;;

Etter at du har fullført den første gruppen av spill, kan du legge til den andre gruppen av spill og så videre. f.eks

9; Demo & Test; demos / demotest.png;;;

9; Varmt smør; Demoer / HotButter_AB.png; Demoer / HotButter_AB.hex;;

9; Flashcart test; demo / flashcart-test / flashcart-test-title.png; demo / flashcart-test / flashcart-test.hex; demo / flashcart-test / badapple-frames.bin;

Den siste linjen har en lagringsfil i parameteren som er en tegneseriefilm.

3. For å bygge den konsoliderte spillbildefilen, skriv inn kommandoen, hvor games.csv er spillindeksfilen din.

python flashcart-builder.py games.csv

Dette vil opprette en fil som heter games-image.bin

4. Skriv den konsoliderte spillbildefilen til Arduboy.

Vi bruker MR.Blinkys flashcart-writer.py skript for å skrive den konsoliderte spillbildefilen til seriell flashminne av Arduboy.

Hvis du bruker min sample games-image.bin-fil, kan du skrive denne kommandoen.

python flashcart-writer.py spill-image.bin

Hvis du bruker en SSD1309 OLED-skjerm i stedet for SSD1306 OLED på standardbyggingen, kan du lappe skjermdriveren i fly. Hvis du automatisk skal bruke SSD1309-oppdateringen til det opplastede bildet, lager du en kopi av flashcart-writer.py og gir den navnet på flashcart-writer-1309.py. Skriv deretter inn

python flashcart-writer-1309.py spill-image.bin

Trinn 10: Spill spill fra seriell flash

For å spille spill fra seriell flash, slå på Arduboy.

Hvis du allerede har et spill lastet, starter spillet automatisk. Trykk reset-knappen øverst på Ardubaby en gang for å gå til opplastingsmenyen.

Startlistermenyen vises. RGB-lysdioden lyser i rekkefølge.

Hvis du ser et ikon som ser ut som en USB-port vises i stedet, betyr det at seriell flashminnebrikken ikke fungerer. Pls kontroller ledningen.

Hvis du ikke trykker på noen taster innen 12 sekunder, vil spillet som allerede er lagret i ATMega32U4s interne flashminne, bli kjørt.

For å gå tilbake fra et spill til opplastingsmenyen, trykk bare en gang på Reset-knappen.

Du kan trykke på venstre eller høyre knapp for å bla gjennom den forskjellige kategorien (gruppe) av spill. Trykk på ned eller opp-knappen for å bla gjennom spillene i en kategori (gruppe). Trykk på "B" -knappen for å kopiere spillet fra det serielle flashminnet til det interne Flash-minnet til ATMega32U4. Spillet starter innen et sekund.

Nå har du en liten spillkonsoll som du kan spille på veien.

Jeg utfordrer deg til å samle inn og laste opp 16M seriell flash med 500 spill. Jeg har ikke sett noen som har gjort det ennå for å fylle opp seriell flash. Hvis du kan gjøre det, må du dele den konsoliderte spillfilen med oss.