Skip to content

📝 Blog

Grand rassemblement

Depuis déjà de nombreuses années, j'écris des articles, des tutoriels et autres petits textes autour de la technologie.

J'ai rassemblé ici tout ce que j'ai retrouvé depuis 2013.
S'il reste des articles ailleurs, merci de me le signaler, je vais essayer de ne rien louper.

Tout ceci est parti d'une petite pichenette, un de ces petits rien qui vous donne l'élan nécessaire à une tùche repoussée depuis bien longtemps.
Cette fois, c'est grùce à Les Pounder, suite à un de ces articles me faisant l'honneur d'une magnifique photo de moi et un sac rose de toute beauté :)

La suite devrait parler de différentes petites consoles programmables qui se sont accumulées chez moi ainsi qu'un petit retour sur la carte micro:bit parce qu'elle a une place au chaud dans mon coeur de geek.

N'hésitez pas à me laisser un petit mot en commentaire ou par email, ça me fait toujours plaisir.

Arrivée de la 32blit

(article publié initialement sur le siteles-tontons-codeurs)

AprÚs un délai un peu plus long que prévu, ma 32blit de Pimoroni est enfin arrivée à la maison !
Voyons voir ce qui se cache dans ce joli colis.

Je trouve que mĂȘme le colis et la boĂźte est joli, Ă  l’effigie de Pimoroni.

colisboite

Le contenu est riche dans cette jolie boite, Ă  voir le contenu final, nous parlons ici de la version beta.
Nous trouvons donc :

  • la 32blit elle mĂȘme,
  • une feuille avec quelques instructions, notamment l’adresse du github de la beta,
  • de nombreux autocollants,
  • une petite plaque de prototypage aux couleurs de NoĂ«l

contenu

La 32blit a une bonne finition, mĂȘme si la version beta n’a pas de coque, il y a nĂ©anmoins une plaque de plexiglas protĂ©geant les composant sous la console. Comme indiquĂ© dans le prĂ©cĂ©dent article sur la 32blit, la dĂ©coration du PCB utilise le travail de Johan Vinet.

dessus 32blitdessous 32blit

Je vous propose d’aller voir d’autres photos dans cet album dĂ©diĂ©.

La mise en oeuvre est déjà assez bien détaillée au sein du dépÎt github de la beta.
Les projets d’exemple se compilent bien, ils sont mĂȘme utilisables en mode desktop.
Il est possible de compiler en utilisant les librairies SDL.

Le seul point qui m’a fait trĂ©bucher a Ă©tĂ© la confusion que j’ai eu entre dfu-tool et dfu-util. Seul ce dernier est a utiliser sous linux et Ă  partir de lĂ  je n’ai pas eu de problĂšme Ă  uploader les codes compilĂ©s.

Je pense que la prochaine étape sera de vous expliquer ce que contient un projet type, mais il y a encore un peu de stabilisation en cours.
Nous verrons tout cela dĂšs que possible.
En attendant, je vous laisse, la 32blit, la Pewpew M4 et une nouvelle carte arrivĂ©e aussi aujourd’hui m’attendent :)

N'hésitez pas à laisser un commentaire ou me joindre par email.

PewPew M4 prototype

(article initialement publié sur le siteles-tontons-codeurs)

Alors que la 32blit est arrivĂ©e chez moi, mais nĂ©cessite un bon investissement technique, j’ai eu la joie de recevoir un prototype de la nouvelle venue dans la famille PewPew : la PewPew M4

Toujours dans sa quĂȘte de proposer un appareil simple mais complet, Radomir Dopieralski, souvent connu par son pseudo Deshipu, a encore conçu une nouvelle possibilitĂ©.

Je ne vous fait pas plus attendre, voici la trĂšs jolie PewPew M4.

PewPew M4PewPew M4

Voilà donc une petite console bien équipée :

  • Ă©cran TFT de 160 par 128
  • 7 boutons disposĂ©s en une croix directionnelle Ă  gauche et 3 boutons d’action Ă  droite
  • microcontrĂŽleur SAMD51 ARM Cortex M4
  • buzzer de 7 mm
  • interrupteur marche/arrĂȘt
  • bloc d’accueil pour 2 piles AAA
  • accĂšs Ă  des broches pour Ă©tendre la partie matĂ©rielle

Ce qui est intĂ©ressant avec cette pewpew c’est qu’elle est entiĂšrement contrĂŽlable par Circuit Python, mais Ă©galement par Arcade Makecode

Pour Arcade, aucun souci technique ça fonctionne dĂ©jĂ , mais il faut que l’équipe qui gĂšre l’ajout de nouvelles cartes valide la demande.
En attendant, il est possible d’utiliser en choisissant la pygamer comme console cible.

CÎté Circuit Python, ça fonctionne déjà trÚs bien.
Par dĂ©faut, un menu semblable dans l’esprit Ă  celui des pewpew de base permet de voir une liste des fichiers python prĂ©sent et de choisir celui que l’on souhaite exĂ©cuter.

Menu

Mais le fonctionnement normal de CircuitPython est toujours là, vous pouvez élaborer votre code dans le fichier code.py, qui a priorité sur main.py, ou bien décider de tout remplacer et développer avec main.py

Tout ça s’annonce trùs bien pour cette jolie petite console.

Pour se la procurer, soit Deshipu en produit une nouvelle sĂ©rie et la vend par le biais de Tindie, soit vous patientez et vous utilisez le site MakerFabs dont je vous met ici la page d’une autre version de PewPew.

J’ai maintenant hĂąte de me mettre Ă  Ă©crire un petit jeu pour la Pewpew M4 et je vais essayer de vous faire rapidement une prĂ©sentation vidĂ©o de cette charmante console.

Encore bravo Ă  Radomir pour tout ce travail, la famille PewPew est passionnante !

N'hésitez pas à laisser un commentaire ou me joindre par email

Des consoles de jeu pour apprendre Ă  programmer

(Article initialement publié sur le siteles-tontons-codeurs)

Dans notre folle jeunesse, lorsque nous voulions jouer, nous allumions une de ces machines merveilleuses au doux nom de ZX Spectrum ou Commodore 64.
La micro informatique mettait son utilisateur en contact direct avec la possibilité de coder. Mais pour atteindre un jeu, il fallait passer par des commandes qui étaient, dÚs le premier caractÚre, du code.
Qu’en est il aujourd’hui et qu’avons nous d’intĂ©ressant Ă  disposition ?

C’est de maniùre inattendue que le retour de ces principes de consoles de jeu qui se programment est revenu par le monde des micro contrîleurs.

Cet univers longtemps restĂ© un monde d’électroniciens s’est ouvert peu Ă  peu Ă  des makers, bricolant avec les connaissances Ă  leur disposition. La publication de guides et tutoriels est devenue de plus en plus frĂ©quente, certaines marques en faisant leur cheval de bataille comme Adafruit.

Tout en continuant les efforts d’explication, les diffĂ©rents acteurs se sont mis Ă  proposer des cartes et matĂ©riels plus adaptĂ©s Ă  la dĂ©couverte. Le dĂ©mon du jeu vidĂ©o Ă©tant souvent Ă  roder dans les poches des makers, il ne fallut pas longtemps pour que ces cartes soient Ă©quipĂ©es de petits Ă©crans, puis de boutons


Cette annĂ©e, c’est l’effervescence autour de diffĂ©rentes consoles basĂ©es sur des micro contrĂŽleurs.

Je vais simplement vous prĂ©senter briĂšvement les consoles que je possĂšde et avec lesquelles j’écrirai des articles.

Remarque

Je n’ai pas de prĂ©fĂ©rence, elles ont chacune leurs atouts.

Micro:bit

La console micro:bitLa console micro:bit

Place Ă  celle par qui tout Ă  commencĂ© pour moi. La carte micro:bit est issue d’une initiative du gouvernement anglais pilotĂ© par la BBC et a Ă©tĂ© distribuĂ©e Ă  un million d’exemplaire dans les Ă©coles anglaises en 2016.

La micro:bit peut se programmer visuellement avec un éditeur à base de bloc.
Si vous cherchez comment commencer, il y a des exemples sur le site de la fondation Raspberry (s’il y a des fautes, dites le, c’est moi le coupable ;) )

Vous pouvez également la programmer en utilisant un python adapté, MicroPython.
Pour cela, je vous encourage Ă  utiliser l’éditeur Mu.

Pew pew

La console pewpew (version feather wing)La console pewpew de dos (version feather wing)

Cette carte est le fruit du travail de Radomir Dopieralski (@Deshipu)
Elle est simple mais pourtant déjà plus évoluée que la micro:bit.

Elle est programmable en MicroPython ou en CircuitPython.
LĂ  encore, l’éditeur Mu est conseillĂ© pour commencer.

Pour trouver des informations sur la pewpew et sa programmation, le site de Radomir est un bon point de départ.

Gamebuino

Plus conséquente, la Gamebuino possÚde un écran, des touches, une batterie et un boitier.
Elle est programmable en C++ ou en CircuitPython.
Les entrées sorties de son micro controleur SAMD21 sont exposées au dos, permettant des montages électroniques pilotés par la Gamebuino.

Le site Gamebuino propose des tutoriels au sein de l’AcadĂ©mie.

Pygamer

La Pygamer est une console conçue et fabriquée par Adafruit.

Cette annĂ©e 2019 a vu l’explosion du nombre de confĂ©rence proposant des badges interactifs Ă  leurs participants.
Adafruit a peu à peu conçu une succession de cartes, depuis la PyPortal suivi du PyBadge pour aboutir à la PyGamer.

Ces cartes sont programmables en C++, CircuitPython ou mĂȘme un Ă©diteur de jeu entiĂšrement graphique, Arcade Makecode.
La partie électronique est trÚs accessible et bien documentée, vous trouverez des montages sur notre site également.

32Blit

La console 32Blit

Un autre fabricant de produits pour makers, Pimoroni se lance dans cette aventure.
Souvent comparés à Adafruit en version européenne, leur produits sont généralement trÚs bien documentés.

Cette console est encore Ă  dĂ©couvrir mĂȘme si elle a dĂ©jĂ  un site dĂ©diĂ©.
En effet, cette console est nĂ©e lors d’une campagne Kickstarter et n’a pas encore Ă©tĂ© livrĂ©e.

Rassurez vous, les tontons auront leur modĂšle, je suis mĂȘme beta testeur et pourrait vous tenir informĂ©s ici mĂȘme :)

Voilà, ces quelques cartes feront notre bonheur et nous espérons le votre également.
Et ne vous inquiĂ©tez pas, nous resterons Ă  l’affĂ»t des nouveautĂ©s !

Pico-8 : premiers pas 5

Les vacances approchent, ça se prépare !
Allez, on reprend un peu de Pico-8 ;)

Premier changement, notre objet blob devient un ensemble de blobs.

blobs={{}, {}}

L'idée est de stocker l'ensemble des blobs du plateau de jeu.
On doit donc maintenant créer cet ensemble.
C'est le rĂŽle de la fonction create_blobs.

 function createblobs()
  for li=1,8 do
    blobs[li]={}
    for col=1,8 do
      blobs[li][col]={}
      blobs[li][col]=create_blob(li*16-8,col*16-8,8,2,3)
    end
  end
end

Rien de magique ici : l'instruction for permet de gérer une boucle dans notre programme.

L'idée est de répéter les instructions à l'intérieur de cette boucle délimitée par for...end.
Nous gardons la trace de l'itération dans laquelle nous somme dans une variable, ici li , dans la premiÚre boucle.

Nous initialisons la ligne i de l'ensemble blobs puis nous lançons la boucle des colonnes (en utilisant col comme compteur).
On appelle alors la fonction create_blob qui contient ce qui est nécessaire à la création d'un blob.

Il ne nous reste plus qu'Ă  afficher les blobs Ă  chaque passage dans draw(), ce qui est le rĂŽle de la fonction drawblobs()

function drawblobs()
  for li=1,8 do
    for col=1,8 do
      blobs[li][col].draw()
    end
  end
end

Nous retrouvons lĂ  une double boucle for...end comme dans createblobs() qui nous permet de n'oublier aucun blob.

Toujours rien d'insurmontable.

Il me reste à vous remercier et vous souhaiter une bonne attente pour l'épisode suivant ;)

En attendant, vous pouvez me joindre par email et regarder toutes les étapes sur Github