L'arduboy est une micro console de jeu basée sur un microcontrôleur ATMega32U4 (identique à ceux équipant les arduino Leonardo), d'un écran OLED noir et blanc de 128 x 64 pixels, de quelques boutons, d'une sortie sonore par piezo et d'une batterie.
Elle est programmable en utilisant l'IDE Arduino, en ajoutant quelques bibliothèques de code.
Plus de 255 jeux existent à l'heure actuelle (il est 22h57 le 8 février 2020), dont une grande partie sous licences libres.
Avec cette console, on peut donc apprendre à programmer de petits jeux.
La console peut être achetée ou fabriquée puisque le schéma électronique est publié. il existe d'ailleurs déjà de nombreuses versions "homemade" de l'arduboy.
Pour écrire/compiler un jeu il faut installer l'IDE arduino, les bibliothèques de codes arduboy (“croquis/inclure une bibliothèque/gérer les bibliothèques”) et la définition de la carte (“outils/type de carte/gestionnaire de carte”). Toutes ces étapes sont décrites en détail dans le quick start guide
Une fois l'installation complétée, voila comment téléverser un programme
Il existe un catalogue de jeu plus ou moins officiel : Erwin's Arduboy Collection, qui présente joliment le dépôt github ( https://github.com/ArduboyCollection )
Plusieurs méthodes :
Quelques liens intéressants pour s'y mettre :
Et quelques outils (convertisseur d'image, tracker audio) :
Le magazine ardumag, consultable en ligne, contient de nombreux articles écrits par des spécialistes sur les techniques de programmation adaptées au jeu.
Pour tester les programmes, un émulateur existe en version en ligne ou sous forme d'application. On peut aussi passer en argument le lien vers un fichier compilé au format .hex à la version en ligne.
L'émulateur permet d'utiliser différents skins (F3) , d'enregistrer des copies d'écran en .png (P) ou des animations en .gif (R) . Il permet aussi de tester des algorithmes de lissage de pixel-art (touche F2).
ProjectABE est un émulateur très complet qui peut aussi servir d'IDE pour écrire les programmes.
Un peu de bricolage s'impose afin d'accéder au ports de programmation de l'arduBoy afin d'éviter la soudure…
[file]→[sketch example]→[11.ArduinoISP]→[ArduinoISP]
Selectionner Arduino leonardo
[tool]→[board]→[Arduino Leonardo] [tool]→[Burn board]→[Arduino as ISP] [tool]→[Burn bootloader]
pin13 - CLK pin12 - MISO pin11 - MOSI pin10 - RESET GND - GND 3.3V - VCC
https://community.arduboy.com/t/cant-upload-anymore/2105/2
https://community.arduboy.com/t/how-to-reset-arduboy-if-its-bricked/807/17
https://community.arduboy.com/t/how-to-reset-arduboy-if-its-bricked/807/30
https://community.arduboy.com/t/official-troubleshooting-guide/7894/17
Les schémas de la console étant sous licence libre, elle peut-être reproduite sur plaque d'essai, ou dérivée sous différentes formes. J'ai trouvé les deux exemples suivants particulièrement intéressants
ArduBigBoy : écran plus grand, boitier en impression 3D ( https://www.thingiverse.com/thing:3250270 )
3DPCBoy : ici le circuit imprimé (PCB) est remplacé par plusieurs couches imprimées en 3D dans lesquelles passent les fils de connexion des composants, c'est très ingénieux et permet de se passer du pcb qui n'est pas la partie la plus simple à fabriquer!
Par ici