Índice:

Como fazer upload de jogos para Arduboy e 500 jogos para Flash-carrinho: 8 etapas
Como fazer upload de jogos para Arduboy e 500 jogos para Flash-carrinho: 8 etapas

Vídeo: Como fazer upload de jogos para Arduboy e 500 jogos para Flash-carrinho: 8 etapas

Vídeo: Como fazer upload de jogos para Arduboy e 500 jogos para Flash-carrinho: 8 etapas
Vídeo: The making of ArduBaby - The half size Arduboy Hardware and Software 2024, Julho
Anonim
Como fazer upload de jogos para Arduboy e 500 jogos para Flash-cart
Como fazer upload de jogos para Arduboy e 500 jogos para Flash-cart

Eu fiz alguns Arduboy caseiros com memória Flash serial que pode armazenar no máximo 500 jogos para jogar na estrada. Espero compartilhar como carregar jogos nele, incluindo como armazenar jogos na memória flash serial e criar seu próprio pacote de jogo consolidado para jogar na estrada.

Você pode ver este vídeo do youtube para ver o processo de criação de ponta a ponta e explicação

Etapa 1: configurar o IDE do Arduino

Se você for novo no Arduino, navegue até https://www.arduino.cc para baixar o IDE do Arduino para o sistema operacional que você está usando, por exemplo, Windows 10 ou Mac OSX ou Linux.

Em seguida, instale-o.

Etapa 2: faça o cabo USBasp

Ao contrário do carregamento de códigos binários / jogos em qualquer placa Arduino, a programação do bootloader não pode ser feita por meio da porta USB.

Para gravar o bootloader personalizado (Cathy3K) no chip Atmega32U4, você precisa de um programador USBasp. No entanto, nossa criação funciona em 3.3V, precisamos modificar ainda mais o programador USBasp para funcionar em 3.3V.

Consulte o seguinte projeto instrutível para modificar seu programador USBasp para trabalhar em 3,3 V ou 5 V através de configurações de jumper.

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

Em seguida, siga o layout dos pinos e o vídeo para fazer o cabo do programa USBasp para ArduBaby. o cabo USBasp original que vem com o USBasp tem dois conectores, cada um com 10 pinos. Vamos cortar este cabo ao meio e conectar um conector macho de 6 pinos a uma extremidade, enquanto mantemos a outra extremidade que se conecta à placa USBasp em 10 pinos.

Esta outra extremidade conectará os pinos GND, VCC, MOSI, MISO, SCK, Reset do USBasp aos pinos correspondentes do ATmega32U4 através do conector macho que se conecta aos primeiros seis pinos do conector fêmea no Ardubaby (minha versão de Arduboy caseiro). Sua versão pode ter um layout de pino diferente. Você pode consultar meu vídeo para alterar o design para se adequar à sua versão do Arduboy caseiro.

Para fazer o programa ou gravar o bootloader em ATmega32U4, você removerá o chapéu do botão e conectará este cabo USBasp de 6 pinos.

Certifique-se de marcar claramente qual pino é o pino um no cabeçalho do cabo para que não haja uma conexão errada. Quando eu projetei o layout dos pinos para os cabeçalhos dos botões Ardubaby, tentei organizar os pinos de forma que mesmo se você trocasse o pino 1 pelo pino 13, a fonte de alimentação -ve não se encontraria acidentalmente com a fonte de alimentação + ve para evitar danos. No entanto, você nunca sabe, outras coisas podem acontecer que ainda podem danificar seu kit se você conectar na direção incorreta.

Vou queimar um pequeno orifício para marcá-lo no cabeçalho usando a ponta do ferro de solda.

Etapa 3: Grave o Bootloader

MR. Blinky criou o Arduboy-caseiro-package para Arduboy caseiro.

Seu pacote inclui os drivers de placa e biblioteca de Arduboy que funciona com diferentes versões do Arduboy original e também com versões caseiras.

1. Navegue até a pasta GitHub de MR. Blinky para o Arduboy caseiro. https://github.com/MrBlinky/Arduboy-homemade-package 2. Siga as instruções no GitHub para configurar seu Arduino IDE com o pacote caseiro. 3. Primeiro copie o url do “Gerenciador de placa adicional” para o pacote caseiro Arduboy.

4. Inicie o Arduino IDE. Clique em Preferências no menu superior do Arduino. Cole este texto em “URLs adicionais do gerenciador de placas”. Observação: se você já tiver outro texto neste campo, insira este texto adicional no início e, em seguida, adicione um “,” e mantenha o outro texto intacto. 5. Saia do Arduino IDE e inicie o IDE novamente para fazer efeito da alteração acima. 6. Clique em Ferramentas -> Placa: -> Gerenciador de Placa. Digite caseiro para pesquisar. Selecione para instalar o pacote caseiro Arduboy de Mr. Blinky. Em seguida, clique em atualizar para obter a versão mais recente. O pacote será adicionado ao Arduino. 7. Agora selecione Ferramentas-> Tabuleiro: “Arduboy feito em casa. e selecione os seguintes parâmetros para Arduboy caseiro”Com base em:“SparkFun Pro Micro 5V - Fiação padrão”Núcleo:“Arduboy Optimized core”Bootloader:“Cathy3K”Programador: USBasp 8. Desligue o Ardubaby e remova o chapéu do botão. 9. Defina o jumper no USBasp para 3,3V. Certifique-se de usar um USBasp modificado que funcione inteiramente em 3,3V. 10. Conecte o USBasp à porta USB do seu computador. Conecte o cabo USBasp especial para ArduBaby ao USBasp e a outra extremidade ao cabeçalho do chapéu de botão do Ardubaby, alinhe o pino 1 ao pino 1. Apenas os primeiros 6 pinos do Ardubaby são usados para a gravação do bootloader.

11. Seu Ardubaby deve estar ligado agora através da alimentação de 3,3 V fornecida pelo USBasp. 12. Pressione o botão de reset do ArduBaby uma vez. 13. Clique no botão Ferramentas-> Placas-> Gravar Bootloader no IDE do Arduino. 14. Verifique a mensagem para ver se a gravação do bootloader foi bem-sucedida. 15. Caso contrário, verifique o cabo e certifique-se de conectar os pinos na direção correta e alinhe o pino 1 com o pino 1. Às vezes, o Ardubaby começará a jogar um jogo anterior se o menu de inicialização expirar. Portanto, você precisa clicar no botão Gravar bootloader rapidamente logo após pressionar o botão reset para colocar o Ardubaby no modo de espera de flash. 16. Se estiver tudo bem, o ArduBaby será reiniciado e você verá o menu de inicialização ou o jogo anterior que carregou no ArduBaby.

Etapa 4: compilar e fazer upload de jogos individuais para Arduboy

Jogos para Arduboy podem ser baixados das seguintes fontes:

Fórum da comunidade Arduboy para jogos:

O GitHub pesquisa em "jogos Arduboy" https://github.com/topics/arduboy-game ou apenas pesquise "jogos arduboy GitHub" no google.

Coleções de jogos compartilhadas por outras pessoas. por exemplo. Coleções Arduboy de Erwin

arduboy.ried.cl/

Você pode baixar o código-fonte do jogo que carrega no Arduino e fazer upload para o Arduboy. Veja o vídeo sobre como isso é feito.

ou apenas o arquivo hexadecimal (o arquivo binário compilado, mas apresentado em número hexadecimal impresso em um arquivo de texto em vez de um arquivo binário).

YPara o código-fonte, basta abrir o código-fonte no IDE do Arduino.

O código-fonte, por exemplo picovaders.ino precisa ser armazenado em uma pasta com o mesmo nome, por exemplo, picovaders

As bibliotecas Arduboy2 necessárias já devem estar instaladas na etapa anterior, onde carregamos o gerenciador de placa para o pacote caseiro Arduboy.

Basta conectar o Arduboy à porta USB do seu computador.

Ligue-o e clique no botão Upload no IDE do Arduino para compilar e fazer upload do código para o Arduboy para jogar o jogo.

Etapa 5: fazer upload de arquivos hexadecimais

O arquivo hexadecimal é um arquivo de texto contendo códigos binários resultantes da compilação de seu programa Arduino (esboço), mas representado em um formato de arquivo de texto usando números hexadecimais de dois dígitos 0-9, A-F.

Você pode obter esses arquivos hexadecimais de diferentes maneiras.

1. Podemos baixar arquivos hexadecimais de diferentes fontes explicadas acima:

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

Pesquise "jogos Arduboy" em GitHub.com ou em google.com

Salve esses arquivos hexadecimais em arquivos com uma extensão.hex.

2. Alternativamente, você pode fazer seu próprio arquivo hexadecimal.

No IDE do Arduino, selecione Sketch> Export Compiled Binary. Seu esboço será compilado e, em seguida, uma cópia do arquivo.hex compilado será enviada para o diretório de seu esboço. Navegue até a pasta de esboço ou no IDE selecione Esboço> Mostrar pasta de esboço para ver o arquivo hex. Se você instalou o pacote caseiro do MR. Blinky, duas versões do arquivo.hex serão criadas. Por exemplo, se você compilar o sketh picovaders.ino, os dois arquivos.hex a seguir serão criados.

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

Usaremos o primeiro arquivo: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Para fazer upload do arquivo hex para Arduboy, você precisa usar um uploader. Existem muitos na internet. Eu gosto de usar o uploader do MR. Blinky porque é simples de usar.

Navegue para https://github.com/MrBlinky/Arduboy-Python-Utilities e siga as instruções para instalar os utilitários Arduboy Python do MR. Blinky. Se você não tem um python instalado, você precisa seguir as instruções para instalar o python e os módulos python necessários primeiro.

4. Conecte o Arduboy à porta USB do seu computador. Ligue o Arduboy.

5. Inicie o programa shell em seu sistema operacional, por exemplo o aplicativo de terminal no Mac OSX ou o prompt de comando no Windows para digitar os seguintes comandos para carregar o arquivo hexadecimal para o Arduboy. Tomando nosso esboço anterior, picovaders.ino, como exemplo.

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

6. Assim que o jogo for carregado, o Arduboy irá reiniciar e iniciar o jogo.

Etapa 6: Grave jogos em Flash serial

1. Para gravar o arquivo consolidado do jogo no flash serial, você precisa usar o Arduboy Python Utilities do MR. Blinky novamente. Você já deve tê-lo instalado se seguir a etapa anterior.

Caso contrário, navegue para https://github.com/MrBlinky/Arduboy-Python-Utilities e siga as instruções para instalar os utilitários Arduboy Python do MR. Blinky. Se você não tem um python instalado, você precisa seguir as instruções para instalar o python e os módulos python necessários primeiro.

2. Crie o arquivo de índice para o arquivo de imagem de jogo consolidado para conter até 500 jogos.

Usaremos o script Use the flashcart-builder.py para construir os arquivos de imagem de jogo consolidados para todos os jogos que você deseja armazenar no flash serial do Arduboy. Um flash serial de 16 MB pode armazenar até 500 jogos. Este script cria uma imagem flash binária a partir de um arquivo de índice (.csv) e os 2 arquivos a seguir para cada jogo: a. Arquivos.hex que é o arquivo de texto que contém os códigos hexadecimais das imagens binárias dos jogos Arduboy compilados. Consulte o arquivo Veja o exemplo-flashcart / flashcart-index.csv para obter exemplos de sintaxe. Este arquivo é incluído no pacote se você clicar em Clonar ou Baixar. b.-p.webp

O vídeo do youtube também explica como colocar as coisas no lugar certo neste arquivo de índice.csv. Uma coisa a ser observada, os exemplos de arquivo.csv do GitHub do MR. Blinky são usados no Windows PC, as barras invertidas "\" são usadas nos nomes dos caminhos. Se você estiver usando um sistema liunx ou MAC OSX, será necessário alterá-lo para "/".

Para começar rapidamente, você pode baixar meu pacote de 63 jogos em https://github.com/cheungbx/ArduBaby 63games.zip

Este pacote contém os arquivos hex e-p.webp

Você pode adicionar mais jogos em games.csv e construir seu próprio arquivo de imagem binária de jogo consolidado para ser gravado no flash serial. Você pode colocar no máximo 500 jogos no flash serial de 16M.

Explicarei como fazer o arquivo.csv usando o games.csv que você pode baixar do meu GitHub.

Mesmo que o arquivo.csv possa ser aberto usando o Excel. NÃO use o Excel para abrir o arquivo. Isso corromperá o arquivo. Use apenas um editor de texto simples. Você pode usar o bloco de notas no Windows. Usei o textEdit no MAC e clique em "Format" -> "Make Plain Text".

A primeira linha do arquivo.csv é o cabeçalho que você pode ignorar. Lista; Descrição; Tela de título; Arquivo hexadecimal

A segunda linha aponta para o arquivo de imagem gráfica (deve ter 128x64 pixels no formato de arquivo png) para a tela de manual do carregador de boot. 0; Bootloader; arduboy_loader.png;;;

Os jogos são configurados a partir da terceira linha. Os jogos são organizados em grupos no menu do carregador de inicialização chamados categorias. Esta linha é o título do grupo da lista de jogos para esse grupo, por exemplo Jogo de ação. Ele também aponta para o arquivo de imagem gráfica para o grupo de jogos. O "1" no início denota o número do grupo 1. Todos os jogos que seguem este grupo começarão com este número. 1; Jogos de ação; categorias-telas / Action.png;;;

Em seguida, você adiciona uma linha para cada jogo dentro desse grupo. Começando com o grupo número 1, o nome do jogo e o caminho do arquivo gráfico para um instantâneo da tela e o caminho do arquivo hexadecimal. Todos separados por ";". Adicione mais um ";" para pular o parâmetro do arquivo salvo. 1; 1943; Arcade / Nineteen43.png; Arcade / Nineteen43.hex;; 1; 2048; Arcade / 2048.png; Arcade / 2048.hex;;

Depois de terminar o primeiro grupo de jogos, você pode adicionar o segundo grupo de jogos e assim por diante. por exemplo.

9; Demo & Test; demos / demotest.png;;; 9; Manteiga quente; demos / HotButter_AB.png; demos / HotButter_AB.hex;; 9; Flashcart test; demos / flashcart-test / flashcart-test-title.png; demos / flashcart-test / flashcart-test.hex; demos / flashcart-test / badapple-frames.bin;

A última linha tem um arquivo salvo no parâmetro que é um filme de desenho animado.

3. Para construir o arquivo de imagem de jogo consolidado, digite o comando, onde games.csv é o arquivo de índice do jogo.

python flashcart-builder.py games.csv

Isso criará um arquivo chamado games-image.bin

4. Grave o arquivo de imagem do jogo consolidado em Arduboy.

Usamos o script flashcart-writer.py do MR. Blinky para gravar o arquivo de imagem do jogo consolidado na memória flash serial do Arduboy.

Se você estiver usando meu arquivo games-image.bin de amostra, poderá digitar este comando.

python flashcart-writer.py games-image.bin

Se você estiver usando uma tela OLED SSD1309 em vez do OLED SSD1306 na construção padrão, poderá corrigir o driver da tela imediatamente. Para aplicar automaticamente o patch SSD1309 à imagem carregada, faça uma cópia de flashcart-writer.py e renomeie para flashcart-writer-1309.py. Então digite

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

Etapa 7: Jogue em Flash serial

Para jogar a partir do flash serial, ligue o Arduboy.

Se você já tiver um jogo carregado, ele iniciará automaticamente. Pressione o botão reset na parte superior do Ardubaby uma vez para ir para o menu do bootloader.

O menu do carregador de inicialização será exibido. O LED RGB acenderá em sequência.

Se você vir um ícone que parece uma porta USB exibido, significa que o chip de memória flash serial não está funcionando. Por favor, verifique a fiação.

Se você não pressionar nenhuma tecla em 12 segundos, o jogo já armazenado na memória flash interna do ATMega32U4 será executado.

Para voltar de um jogo para o menu do bootloader, basta pressionar o botão Reset uma vez.

Você pode pressionar o botão esquerdo ou direito para percorrer as diferentes categorias (grupos) de jogos. Pressione o botão para baixo ou para cima para percorrer os jogos dentro de uma categoria (grupo). Pressione o botão "B" para copiar o jogo da memória flash serial para a memória Flash interna do ATMega32U4. O jogo começará dentro de um segundo.

Agora você tem um minúsculo console de jogos que pode jogar na estrada.

Eu o desafio a coletar e carregar seu flash Serial 16M com 500 jogos. Ainda não vi ninguém que tenha feito isso para preencher o flash serial. Se você pode fazer isso, compartilhe esse arquivo de jogo consolidado conosco.

Etapa 8: Referências

Uma instrução completa disso será publicada neste link de Instructables.comTBD

Vídeo do Youtube para a demonstração do console de jogo ArduBaby

Vídeo do Youtube para a modificação 3.3V do programador de bootloader USBasp.

Arquivos de jogos e esquemas do circuito neste vídeo podem ser encontrados neste link do GitHub

Esquemas

Link do GitHub do MR. Blinky para o pacote caseiro do Arduboy

Link do GitHub do MR. Blinky para utilitários python para upload de jogos e operações de memória flash serial

Coleções de jogos Arduboy de Erwin

Créditos ao criador (Kevin Bates), o Arduboy é um console de jogo de 8 bits de muito sucesso. Existem milhares de jogos escritos por um aquarista que os compartilha livremente no fórum da comunidade de Arduboy para que mais pessoas possam aprender a codificar.

Créditos ao MR. Blinky por criar o pacote caseiro, o flashcart e os utilitários python.

Recomendado: