Inhoudsopgave:

Ardubaby mini-gameconsole met 500 games - Ajarnpa
Ardubaby mini-gameconsole met 500 games - Ajarnpa

Video: Ardubaby mini-gameconsole met 500 games - Ajarnpa

Video: Ardubaby mini-gameconsole met 500 games - Ajarnpa
Video: 8-Bit Unboxing - February 2018 2024, Juli-
Anonim
Ardubaby Mini-gameconsole met 500 games
Ardubaby Mini-gameconsole met 500 games
Ardubaby Mini-gameconsole met 500 games
Ardubaby Mini-gameconsole met 500 games

Met dank aan de maker (Kevin Bates), de Arduboy is een zeer succesvolle 8-bits gameconsole. Er zijn duizenden games geschreven door de hobbyist die ze vrijelijk heeft gedeeld op het communityforum van Arduboy, zodat meer mensen kunnen leren coderen.

Het hardware-ontwerp is ook open source en stelt makers zoals ik in staat om hun eigen versie van hardware te ontwerpen en softwarehulpprogramma's te ontwikkelen om de functie ervan te verbeteren. Met dank aan MR. Blinky die het Flash-Cart-circuit, het zelfgemaakte pakket voor Arduino IDE en de python-hulpprogramma's heeft ontworpen om de Flash-cart te beheren die 500 games kan opslaan op een 16Mbyte serieel flashgeheugen om onderweg zonder computer te kunnen spelen.

Tijdens het bestuderen van de discussiethreads op het communityforum van Arduboy, heb ik geleerd wat ik nodig heb om verschillende zelfgemaakte Arduboys te maken. Voor nieuwkomers is dit misschien niet gemakkelijk. Daarom wil ik wat ik heb geleerd delen in een enkele end-to-end video en deze schriftelijke instructies. Ik hoop dat dit degenen zal helpen die op zoek zijn naar antwoorden om hun eigen kit te bouwen, maar niet weten hoe ze het moeten vragen of niet het juiste kanaal hebben gekregen om die vragen te stellen.

Mijn versie van de Arduboy is klein, slechts 1/4 van de grootte van de creditcard (3,5 cm x 5,0 cm0) maar een beetje dik (2 cm inclusief de onderkant), maar heeft alle toeters en bellen die je nodig hebt: 0,9 OLED, koptelefoonaansluiting, volumeregeling, RGB LED.

en vooral de uitbreidingspoort waarmee je de knoppen van je gameconsole kunt verwisselen met andere door de bovenste printplaat (de knophoed) te verwisselen.

U kunt dan stille knoppen, joystickachtige knoppen of zelfs analoge controllers zoals een potentiometer gebruiken.

Je kunt ook een vochtigheids- en temperatuursensor toevoegen om een klein weerstation te bouwen, of supersonische sensoren om een afstandsmeter te bouwen.

Het heeft ook extra 16M bytes serieel flashgeheugen voor het opslaan van maximaal 500 Arduboy-spellen of hulpprogramma's. Door gebruik te maken van de bootloader (Cathy3K) ontworpen door MR. Blinky, kun je een van de 500 games onderweg oproepen en deze binnen enkele seconden naar de ATmega32U4-chip (microcontroller van de Arduboy) flashen om te beginnen met spelen, zonder verbinding maken met uw computer of telefoon.

Stap 1: Verkrijg alle onderdelen

Krijg alle onderdelen
Krijg alle onderdelen

De meeste onderdelen kunnen online worden gekocht via amazon.com, aliexpress.com of taobao.com. Sommige hiervan kunnen worden geoogst van ongebruikte Arduino-kaarten.

Het kostte me minder dan USD 12 (exclusief verzendkosten) om al deze van taobao.com te kopen en naar Hong Kong te verzenden.

Arduino Pro Micro

OLED 64x128 SSD1306 SPI 0,96"

Winbond W25Q128 16Mbyte geheugenchip

3.7V 280 MaH Lipo-batterij USB LiPO-batterijladermodule (4.2V)

3,5 mm koptelefoonaansluiting 10K mini VR (B103) voor volumeregeling

10K mini VR (B103) voor potentiometer of draairegelaar (optioneel)

mini piëzo-luidspreker

3k, 3x 1K weerstand

3-in-1 RGB LED Zeven

5x5mm stille knop

9x4mm schuifschakelaar voor aan/uit-schakelaar

twee 5x8cm dubbelzijdig geperforeerd bord

een 5x8cm enkelzijdig geperforeerd bord

1x13 pins vrouwelijke kop

1x13 pins mannelijke kop

1x7-pins vrouwelijke kop

1x7-pins mannelijke kop 3,5x5cm Acrylbord voor achteromslag

verzendkosten op te nemen in uw budget

Stap 2: Maak het moederbord

Maak het moederbord
Maak het moederbord
Maak het moederbord
Maak het moederbord
Maak het moederbord
Maak het moederbord

1. Maak het frame voor het moederbord.

A. Neem de geperforeerde planken van 8 cm x 5 cm. Snijd het met een schaar (of een zaag) om een 3,5 cm x 5 cm kleinere geperforeerde plank te maken. Dat zou nog steeds 18 rijen en 13 kolommen met gaatjes moeten hebben. Knip een stuk van 3,5 cm x 5 cm uit een acrylbord om als achteromslag te gebruiken.

B. Soldeer een 13-pins vrouwelijke header aan de laatste rij onderaan voor de knophoed en uitbreiding. C. Soldeer een 7-pins vrouwelijke header op de eerste rij bovenaan voor de 7-pins OLED.

NS. Soldeer een stille knop voor de resetknop. e. Soldeer een schuifschakelaar voor de aan/uit-schakelaar. F. Soldeer een 3,5 mm stereo hoofdtelefoonaansluiting voor hoofdtelefoon. G. Plak een 3-pins 10K mini-variabele weerstand.

2. Maak de 4.2V LIPO-batterijlader en het 3.3V-regelaarcircuit.

A. desoldeer de 5-pins 5V-regelaar op het Pro-Micro-bord, zodat we stroom kunnen leveren vanaf een externe 3.3V-regelaar.

B. Trim de LIPO-batterijladermodule zodat deze op het moederbord past, net naast de 3,4 mm-batterijaansluiting. U moet de snede maken op het punt waar de USB-connector de rest van het circuit raakt. Als dit nog steeds te groot is, moet u mogelijk iets verder bijsnijden. In mijn geval moet ik een van de weerstanden verplaatsen en opnieuw solderen zodat ik verder kan trimmen.

C. Knip het lipje aan de bovenkant van de 3.3V-regelaar (AMS1117-3.3) af om ruimte te besparen en ook om kortsluiting te voorkomen. Soldeer vervolgens tpin 1 aan de negatieve uitgang en pin 3 aan de positieve uitgang van de LIPO-acculadermodule. Soldeer een 0.1uF condensator tussen Pin 1 en Pin 2 om te ontkoppelen en ruis te verminderen. Gebruik indien mogelijk een kleine condensator van het SMD-type om de ruimte te verkleinen.

NS. Sluit een 0,3 mm gelamineerde (geïsoleerde) draad van de RAW-pin van de Pro-microkaart aan op de positieve 5V-ingang van de batterijladermodule. Sluit een draad van de GND-pin van de Pro-microkaart aan op de negatieve ingang van de batterijladermodule. Sluit een draad aan vanaf de middelste pin (pin 2) van de 3.3V-regelaar. Verbind de negatieve en positieve polen van de LIPO-batterij met respectievelijk de negatieve en positieve uitgang van de batterijlader.

NS. Sluit de USB-kabel van uw computer aan op het Pro-Micro Board. De RAW-pin moet de 5V van de USB-kabel naar de LIPO-batterijladermodule leveren, die wordt geregeld om de LIPO-batterij op te laden. De oplaad-LED moet gaan branden. De 3,3V-regelaar moet de 4,2V-uitgang omzetten in 3,3V om het Pro-Micro-bord van stroom te voorzien. De LED op het Pro-Micro-bord moet gaan branden.

e. Start Arduino IDE en klik op Extra -> Poorten om de poortnaam te controleren om te controleren of de USB-poort van de Pro Micro door uw computer wordt herkend. Op mijn MAC OSX staat "/dev/cu.usbmodem14201 (Arduino Leonardo)". Klik op Tools-Boards en kies "Arduino Leonardo". Laad vervolgens de voorbeeldschets “Blink”. Test vervolgens de upload om te controleren of u kunt uploaden naar de Pro Micro. Als er een probleem is, controleer dan de bedrading en het solderen opnieuw.

3. Maak het seriële flash-dochterbord. A. Knip een kleiner enkelzijdig geperforeerd bord uit met 7 gaatjes x 4 gaatjes om te gebruiken als dochterbord voor de flashgeheugenchip en de extra uitbreekpennen van D11, D12, D14. B. Verdeel de soldeerpads op de 2e laatste rij van het bord in twee helften. Dit zal worden gebruikt om de seriële flash-geheugenmodule te monteren, een op het oppervlak gemonteerd apparaat met een kleine afstand tussen de pinnen, zodat de middelste twee pinnen op de twee helften van het soldeerpad zullen staan en niet zullen kortsluiten. C. Soldeer de Winbond W25Q128-geheugenchip op het perf-bord. Zorg ervoor dat er geen twee pinnen contact maken.

4. Soldeer extra breakouts van de ATMega32U4-chip voor pinnen D11, D12, D13. A. Gebruik een fijne soldeerpunt en een vergrootglas om drie 0,5 mm gelamineerde (geïsoleerde) draad op de pinnen van de ATMega32U4-chip te solderen om de pinnen D11, D12, D13 te doorbreken. Raadpleeg de pinlay-out van ATMega32U4. Dit is het moeilijkste deel van het project. Ik heb elke keer dat ik dit moet solderen een half uur besteed. Je moet super voorzichtig zijn om niet per ongeluk andere pinnen van de microcontroller kort te sluiten, terwijl je toch een solide verbinding maakt die lang meegaat. Bekijk youtube-video's om te leren hoe u dergelijk klein soldeerwerk kunt doen en hoe u per ongeluk morsen van soldeer kunt redden met behulp van de desoldeerdraden. Ik zou heteluchtpistool/blazer niet aanraden, tenzij je vaardig genoeg bent. Als de afstand en het vermogen niet goed worden gecontroleerd, kan dit gemakkelijk het soldeer van de ATMega32U4-chip verpesten of andere componenten smelten en het hele bord zodanig beschadigen dat het niet meer te herstellen is.

B. soldeer de andere uiteinden van de drie draden op de middelste 3 soldeerpads op de laatste rij van het seriële flash-dochterbord.

5. Monteer het seriële flash-dochterbord op de Pro Micro-chip. A. Soldeer 0,5 mm draden aan de eerste rij pinnen aan de bovenkant van het Pro Micro-bord, d.w.z. TX en RAW.

B. Soldeer draden van 0,5 mm (bijvoorbeeld die van de poten van de transistors) aan de laatste vier rijen pinnen aan de achterkant van de Pro Micro-chip. d.w.z. D6, D7, D8, D9 en SCLK, MISO, MOSI en A10. De draad moet van boven naar beneden uitsteken, zodat we hem kunnen gebruiken om op het dochterbord te solderen en dat aan de onderkant op het moederbord te kunnen aansluiten. C. Soldeer het seriële flash-dochterbord aan de Pro micro door de laatste rijen pinnen van de Pro Micro te verbinden met die van het dochterbord.

6. Monteer de LIPO-batterijladerkaart op de hoofdkaart. A. Soldeer draden van 0,5 mm (bijv. die van de poten van de transistors) naar de 4 hoeken van de LIPO-batterijladerkaart (voor -ve input, +ve input, -ve output, +ve output). Boor een gat op de plek waar de middelste pen van de 3V-regelaar zit. Soldeer een 0.3mm gelamineerde draad aan de middelste pin (3,3V output).. b. Soldeer de 4 pootjes van het batterijladerbord op het moederbord, direct naast de 3,5 mm koptelefoonaansluiting. Om de ruimte te verminderen, moet het laadbord naar beneden worden gedrukt om het hoofdbord te ontmoeten.

7. Monteer het Pro micro board aan de onderkant van het moederbord en soldeer alle pinnen van de laatste 4 rijen en de eerste rij van de Pro Micro aan het moederbord. De andere pinnen hoeven niet te worden gesoldeerd, ze worden later zo nodig met gelamineerde draden verbonden. Dit is om de Pro Micro gemakkelijker te kunnen aanpassen en indien nodig te vervangen als deze is verbrand.

8. Maak de rest van het soldeerwerk.

Verbind de pinnen van het Pro Micro board met de verschillende componenten en headers. Alle soldeerverbindingen worden gemaakt aan de onderkant van het dubbelzijdige perforatiebord. Nadat al het solderen is voltooid, test u de verbinding.

9. Bedek de onderkant van het moederbord met het acrylbord van dezelfde maat.

Stap 3: Maak de knophoed

1. Maak het frame voor de knophoed

A. Neem de geperforeerde planken van 8 cm x 5 cm. Snijd het met een schaar (of een zaag) om een 3,5 cm x 5 cm kleinere geperforeerde plank te maken. Dat zou nog steeds 18 rijen en 13 kolommen met gaatjes moeten hebben. Knip een raam uit met een raam van 2,8 x 2,2 cm dat groot genoeg is om het glas van de OLED aan de achterkant uit te laten steken. Ik heb hiervoor een diamantdoorslijpschijf gebruikt. Het gereedschap is zo scherp en sterk dat u uw vingers kunt verliezen als u niet voorzichtig bent. U kunt de snede plaatsen op de tweede rij gaatjes van boven en de 9e rij met gaatjes van onder. en bij de 2e kolom met gaatjes aan elke kant.

B. Soldeer een 13-pins mannelijke header op de laatste rij van het perf-bord.

C. Lay-outknoppen op het perf-bord voor D-PAD (richtingsknoppen, omhoog, omlaag, links, rechts) en de A-knop en de B-knop. Soldeer ze vervolgens aan de voorkant van het perf-bord.

NS. Sluit aan de onderkant van het perf-bord een kant van alle knoppen aan op de aardpen (pin 2) van de mannelijke kop.

e. Verbind de tweede pin van elke knop met de corresponderende pin op de mannelijke header voor die knop.

F. Als u een knophoed bouwt voor een potentiometer-draai- of draairegelaar, installeert u een 3-pins 10K variabele weerstand in plaats van de D-PAD-richtingsknoppen. Controleer of het onderdeelnummer van de variabele weerstand begint met "B" (bijv. "B103" staat voor Max. 10K), niet "A". "A" betekent dat de hoek van de bocht evenredig is met de LOG van de weerstand. B betekent dat de hoek van de bocht evenredig is met de weerstand. we hebben VR's van het type B nodig voor een roterende gamecontroller. Sluit een kant van de potentiometer (de GND-pin) aan op GND (pin 2 van de kop van de knophoed). Sluit de andere kant van de potentiometer aan op VCC (pin 3 van de kop van de knophoed). Sluit de middelste pin van de potentiometer aan op de gekozen analoge naar digitale pin van het Pro Micro-bord (een van A0, A1, A2, A3), afhankelijk van met welke pin het spel is gecodeerd. Als de besturing niet soepel is (springt rond), kun je een 100pf-condensator aansluiten tussen de GND-pin en de middelste pin van de potentiometer om de ruis op het circuit te ontkoppelen.

Stap 4: Arduino IDE instellen

Als Arduino nieuw voor u is, blader dan naar https://www.arduino.cc om de Arduino IDE te downloaden voor het besturingssysteem dat u gebruikt, bijvoorbeeld Windows 10 of Mac OSX of Linux.

Installeer het dan.

Stap 5: Maak de USBasp-kabel

Maak de USBasp-kabel
Maak de USBasp-kabel

In tegenstelling tot het laden van binaire codes/games op een Arduino-bord, kan de bootloader niet worden geprogrammeerd via de USB-poort.

Om de aangepaste bootloader (Cathy3K) op de Atmega32U4-chip te branden, heb je een USBasp-programmeur nodig. Onze creatie werkt echter op 3,3 V, we moeten de USBasp-programmeur verder aanpassen om in 3,3 V te werken.

Raadpleeg het volgende instructable-project om uw USBasp-programmeur aan te passen om te werken op zowel 3,3V als 5V via jumperinstellingen.

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

Volg daarna de pinlay-out en de video om de USBasp naar ArduBaby-programmakabel te maken. de originele USBasp-kabel die bij de USBasp wordt geleverd, heeft twee connectoren, elk 10 pinnen. We zullen deze kabel doormidden hakken en een 6-pins mannelijke header op het ene uiteinde aansluiten, terwijl we het andere uiteinde dat op de USBasp-kaart op 10pin aansluit, houden.

Dit andere uiteinde verbindt de GND-, VCC-, MOSI-, MISO-, SCK-, Reset-pinnen van de USBasp met de overeenkomstige pinnen van de ATmega32U4 via de mannelijke header die verbinding maakt met de eerste zes pinnen van de vrouwelijke header op de Ardubaby.

Om het programma uit te voeren of de bootloader naar ATmega32U4 te branden, verwijdert u de knophoed en sluit u deze 6-pins USBasp-kabel aan.

Zorg ervoor dat u duidelijk op de kop van de kabel markeert welke pin pin één is, zodat u geen verkeerde verbinding maakt. Toen ik de pinlay-out voor de Ardubaby button hat-headers ontwerp, heb ik geprobeerd de pinnen zo te rangschikken dat zelfs als je pin 1 verwisselt met pin 13, de -ve voeding niet per ongeluk de +ve voeding zal ontmoeten om schade te voorkomen. U weet echter nooit, er kunnen andere dingen gebeuren die uw kit nog steeds kunnen beschadigen als u de verkeerde richting aansluit.

Ik zal een klein gaatje branden om dat op de kop te markeren met behulp van de punt van de soldeerbout.

Stap 6: Brand de Bootloader

MR. Blinky creëerde het Arduboy-homemade-pakket voor zelfgemaakte Arduboy.

Zijn pakket bevat de boarddrivers en bibliotheek van Arduboy die zowel met verschillende versies van de originele Arduboy als met zelfgemaakte versies werkt.

1. Blader naar de GitHub-map van MR. Blinky voor de zelfgemaakte Arduboy. https://github.com/MrBlinky/Arduboy-homemade-package 2. Volg de instructies op de GitHub om je Arduino IDE te configureren met het zelfgemaakte pakket. 3. Kopieer eerst de url van de “Extra boardmanager” voor Arduboy zelfgemaakte pakket.

4. Start Arduino IDE. Klik op Voorkeuren in het hoofdmenu van Arduino. Plak deze tekst in de "Extra Boards Manager-URL's" Opmerking: als u al andere tekst in dit veld heeft, voegt u deze aanvullende tekst aan het begin in, voegt u een ", " toe en houdt de andere tekst intact. 5. Sluit Arduino IDE af en start de IDE opnieuw om de bovenstaande wijziging door te voeren. 6. Klik op Extra -> Bord: -> Bordbeheer. Voer zelfgemaakte in om te zoeken. Selecteer om het zelfgemaakte Arduboy-pakket van Mr. Blinky te installeren. Klik vervolgens op update om de nieuwste versie te krijgen. Het pakket wordt toegevoegd aan Arduino. 7. Selecteer nu Tools-> Board: “Home-made Arduboy. en selecteer de volgende parameters voor Homemade Arduboy” Gebaseerd op: “SparkFun Pro Micro 5V - Standard bedrading” Kern: “Arduboy Optimized core” Bootloader: “Cathy3K” Programmeur: USBasp 8. Schakel de Ardubaby uit en verwijder de knophoed. 9. Stel de jumper op de USBasp in op 3,3V. Zorg ervoor dat u een aangepaste USBasp gebruikt die volledig in 3.3V werkt. 10. Sluit de USBasp aan op de USB-poort van uw computer. Sluit de speciale USBasp-naar-ArduBaby-kabel aan op USBasp en het andere uiteinde op de button hat-header van de Ardubaby, lijn pin 1 uit op pin 1. Alleen de eerste 6 pinnen van de Ardubaby worden gebruikt voor het branden van de bootloader.

11. Uw Ardubaby zou nu moeten worden ingeschakeld via de 3,3V-stroom geleverd door de USBasp. 12. Druk eenmaal op de resetknop van de ArduBaby. 13. Klik op de knop Tools->Boards->Burn Bootloader op de Arduino IDE. 14. Controleer het bericht om te zien of het branden van de bootloader is gelukt. 15. Als dit niet het geval is, controleer dan de kabel en zorg ervoor dat u de pinnen in de juiste richting aansluit en pin 1 op één lijn brengt met pin 1. Soms begint de Ardubaby een vorig spel te spelen als het opstartmenu een time-out krijgt. U moet dus snel op de Burn bootloader-knop klikken nadat u op de reset-knop hebt gedrukt om de Ardubaby in de wachtstand op flitsmodus te zetten. 16. Als alles goed is, zal de ArduBaby opnieuw opstarten en zie je ofwel het opstartmenu, ofwel het vorige spel dat je in de ArduBaby hebt geladen.

Stap 7: Compileer en upload enkele spellen naar Arduboy

Games voor Arduboy kunnen worden gedownload van de volgende bronnen:

Arduboy-communityforum voor games:

De GitHub-zoekopdracht op "Arduboy-games" https://github.com/topics/arduboy-game of zoek gewoon op "GitHub arduboy-games" op google.

Spelcollecties gedeeld door anderen. bijv. Erwin's Arduboy-collecties

arduboy.ried.cl/

Je kunt de broncode van de game die je auto laadt naar Arduino downloaden en uploaden naar de Arduboy. Bekijk de video hoe je dit doet.

of alleen het hex-bestand (het gecompileerde binaire bestand maar weergegeven in Hex-nummer afgedrukt naar een tekstbestand in plaats van een binair bestand).

Open voor broncode gewoon de broncode in Arduino IDE.

De broncode b.v. picovaders.ino moet worden opgeslagen in een map met dezelfde naam, b.v. picovaders

De vereiste Arduboy2-bibliotheken zouden al in de vorige stap moeten zijn geïnstalleerd, waar we de boardmanager voor het zelfgemaakte Arduboy-pakket laden.

Sluit de Arduboy gewoon aan op de USB-poort van uw computer.

Schakel het in en klik vervolgens op de knop Uploaden op de Arduino IDE om de code te compileren en te uploaden naar de Arduboy om het spel te spelen.

Stap 8: Upload enkele hexadecimale bestanden

Hex-bestand is een tekstbestand met binaire codes die resulteren uit de compilatie van uw Arduino-programma (schets), maar weergegeven in een tekstbestandsindeling met tweecijferige hexadecimale getallen 0-9, A-F.

U kunt deze hex-bestanden op verschillende manieren verkrijgen.

1. We kunnen hex-bestanden downloaden van de verschillende bronnen die we hierboven hebben uitgelegd:

community.arduboy.com/c/games Arduboy-gamecollecties van Erwin

Zoek naar 'Arduboy-games' op GitHub.com of op google.com

Sla deze hex-bestanden op in bestanden met de extensie.hex.

2. Als alternatief kunt u uw eigen hex-bestand maken.

Selecteer in de Arduino IDE Sketch > Export Compiled Binary. Je schets wordt gecompileerd, waarna een kopie van het gecompileerde.hex-bestand wordt uitgevoerd naar de map van je schets. Blader naar de schetsmap of selecteer in de IDE Sketch > Show Sketch Folder om het hex-bestand te zien. Als je het zelfgemaakte pakket van MR. Blinky hebt geïnstalleerd, worden er twee versies van het.hex-bestand gemaakt. Als u bijvoorbeeld de picovaders.ino-sketh compileert, worden de volgende twee.hex-bestanden gemaakt.

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

We zullen het eerste bestand gebruiken: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Om een hex-bestand naar Arduboy te uploaden, moet u een uploader gebruiken. Er staan er veel op internet. Ik gebruik graag de uploader van MR. Blinky omdat deze eenvoudig te gebruiken is.

Blader naar https://github.com/MrBlinky/Arduboy-Python-Utilities en volg de instructies daar om de Arduboy Python-hulpprogramma's van MR. Blinky te installeren. Als je geen python hebt geïnstalleerd, moet je eerst de instructies volgen om python en de vereiste python-modules te installeren.

4. Sluit de Arduboy aan op de USB-poort van uw computer. Schakel de Arduboy in.

5. Start het shell-programma in uw besturingssysteem, b.v. de terminal-app in Mac OSX of de opdrachtprompt in Windows om de volgende opdrachten te typen om het hex-bestand naar de Arduboy te uploaden. We nemen onze vorige schets picovaders.ino als voorbeeld.

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

6. Zodra het spel is geüpload, zal de Arduboy resetten en het spel starten.

Stap 9: Spellen schrijven naar Seriële Flash

1. Om het geconsolideerde spelbestand naar seriële flash te schrijven, moet u MR. Blinky's Arduboy Python Utilities opnieuw gebruiken. U zou dit al moeten hebben geïnstalleerd als u de vorige stap volgt.

Blader anders naar https://github.com/MrBlinky/Arduboy-Python-Utilities en volg de instructies daar om de Arduboy Python-hulpprogramma's van MR. Blinky te installeren. Als je geen python hebt geïnstalleerd, moet je eerst de instructies volgen om python en de vereiste python-modules te installeren.

2. Maak het indexbestand voor het geconsolideerde spelbeeldbestand voor maximaal 500 spellen.

We zullen het script Gebruik het flashcart-builder.py gebruiken om de geconsolideerde game-afbeeldingsbestanden te bouwen voor alle games die u wilt opslaan in de seriële flash van de Arduboy. Een seriële flash van 16 MB kan maar liefst 500 games bevatten. Dit script bouwt een binaire flash-image van een indexbestand (.csv) en de volgende 2 bestanden voor elk spel: a..hex-bestanden dat is het tekstbestand met de hexadecimale codes van de binaire afbeeldingen van de gecompileerde Arduboy-spellen. Raadpleeg het bestand Zie voorbeeld-flashcart\flashcart-index.csv voor voorbeeldsyntaxis. Dit bestand wordt in het pakket opgenomen als u op Klonen of Downloaden klikt. B.-p.webp

De youtube-video legt ook uit hoe je dingen op de juiste plaats van dit.csv-indexbestand plaatst. Een ding om op te merken, het voorbeeld.csv-bestand van MR. Blinky's GitHub wordt gebruikt in Windows PC, backslash "\" wordt gebruikt in de padnamen. Als u een liunx-systeem of MAC OSX gebruikt, moet u dit wijzigen in "/".

Om een snelle start te maken, kun je mijn pakket van 63 spellen downloaden van https://github.com/cheungbx/ArduBaby 63games.zip

Dit pakket bevat de hex-bestanden en png-bestanden van de 63 spellen die ik heb gekozen, plus het indexbestand games.csv en het bestand games-image.bin dat is gemaakt met het script flashcard-builder.py.

U kunt meer games toevoegen aan games.csv en uw eigen geconsolideerde binaire afbeeldingsbestand voor games maken om naar de seriële flash te worden geschreven. Je kunt maximaal 500 games op de 16M seriële flitser zetten.

Ik zal uitleggen hoe je het.csv-bestand maakt met behulp van de games.csv die je kunt downloaden van mijn GitHub.

Hoewel het.csv-bestand kan worden geopend met Excel. Gebruik Excel NIET om het bestand te openen. Het zal het bestand beschadigen. Gebruik alleen een platte teksteditor. U kunt Kladblok gebruiken in Windows. Ik gebruikte de textEdit in MAC en klik op "Format"-> "Make Plain Text".

De eerste regel van het.csv-bestand is de header die u kunt negeren. Lijst;Beschrijving;Titelscherm;Hex-bestand

De tweede regel wijst naar het grafische afbeeldingsbestand (moet 128x64 pixels zijn in png-bestandsformaat) voor het opstartscherm van de opstartlader. 0;Bootloader;arduboy_loader.png;;;

De spellen worden geconfigureerd vanaf de derde regel. Games zijn georganiseerd in groepen in het bootloader-menu, genaamd categorieën. Deze regel is de groepstitel van de lijst met spellen voor die groep, b.v. Actie spel. Het verwijst ook naar het grafische afbeeldingsbestand voor de groep games. De "1" aan het begin geeft groepsnummer 1 aan. Alle spellen die op deze groep volgen, beginnen met dit nummer. 1;Actiespellen;category-screens\Action.png;;;

Vervolgens voeg je één regel toe voor elk spel binnen die groep. Beginnend met groep nummer 1, naam van het spel, en het pad van het grafische bestand voor een momentopname van het scherm, en het pad van het hex-bestand. Allemaal gescheiden door ";". Voeg nog een ";" toe om de parameter voor het opslagbestand over te slaan. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

Nadat u de eerste groep games hebt voltooid, kunt u de tweede groep games toevoegen, enzovoort. bijv.

9;Demo & Test;demo's/demotest.png;;; 9;Hete boter;demo's/HotButter_AB.png;demo's/HotButter_AB.hex;; 9;Flashcart-test;demo's/flashcart-test/flashcart-test-title.png;demo's/flashcart-test/flashcart-test.hex;demo's/flashcart-test/badapple-frames.bin;

De laatste regel heeft een opslagbestand in de parameter die een tekenfilmfilm is.

3. Om het geconsolideerde game-afbeeldingsbestand te maken, typt u de opdracht, waarbij games.csv uw game-indexbestand is.

python flashcart-builder.py games.csv

Dit zal een bestand maken met de naam games-image.bin

4. Schrijf het geconsolideerde spelbeeldbestand naar Arduboy.

We gebruiken het flashcart-writer.py-script van MR. Blinky om het geconsolideerde spelbeeldbestand naar het seriële flashgeheugen van de Arduboy te schrijven.

Als je mijn voorbeeldgames-image.bin-bestand gebruikt, kun je deze opdracht typen.

python flashcart-writer.py games-image.bin

Als u een SSD1309 OLED-scherm gebruikt in plaats van de SSD1306 OLED op de standaardversie, kunt u de schermdriver on-the-fly patchen. Om de SSD1309-patch automatisch toe te passen op de geüploade afbeelding, maak je een kopie van flashcart-writer.py en hernoem je deze naar flashcart-writer-1309.py. Typ vervolgens

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

Stap 10: Speel games vanaf Seriële Flash

Om games van seriële flash te spelen, zet je de Arduboy aan.

Als je al een spel hebt geladen, wordt het spel automatisch gestart. Druk eenmaal op de resetknop aan de bovenkant van de Ardubaby om naar het bootloader-menu te gaan.

Het bootloader-menu wordt weergegeven. De RGB-LED zal achtereenvolgens oplichten.

Als u in plaats daarvan een pictogram ziet dat op een USB-poort lijkt, werkt uw seriële flashgeheugenchip niet. Controleer de bedrading.

Als u niet binnen 12 seconden op een toets drukt, wordt het spel dat al in het interne flashgeheugen van de ATMega32U4 is opgeslagen, uitgevoerd.

Om van een game terug te gaan naar het bootloader-menu, druk je één keer op de Reset-knop.

U kunt op de linker- of rechterknop drukken om door de verschillende categorie (groep) games te bladeren. Druk op de knop omlaag of omhoog om door de games binnen een categorie (groep) te bladeren. Druk op de "B"-knop om het spel van het seriële flashgeheugen naar het interne flashgeheugen van de ATMega32U4 te kopiëren. Het spel start binnen een seconde.

Nu heb je een kleine gameconsole die je onderweg kunt spelen.

Ik daag je uit om je 16M seriële flitser te verzamelen en op te laden met 500 spellen. Ik heb nog niemand gezien die dat heeft gedaan om de seriële flits te vullen. Als je dat kunt doen, deel dan dat geconsolideerde spelbestand met ons.

Aanbevolen: