14,90 € TTC
p. 04 Programmez vos Raspberry Pi Pico en Go !
p. 20 Pico-Clock-Green : un réveil à base de Raspberry Pi Pico
p. 28 Le récepteur de radio logicielle RSP1 : 8 MHz de bande passante pour moins de 20 euros
p. 44 NetBSD sur Pi : construisez vos paquets
p. 62 AlertBox : un boîtier d’alerte multifonctions
p. 90 Contrôlez votre pompe à chaleur selon la période tarifaire EDF
p. 108 Transformez votre vieille Game Boy en console de salon HDMI
Un puzzle n’est pas du code.
L’une des principales qualités d’un programmeur est sa capacité à transformer un concept en un ensemble de lignes d’instructions écrites dans un langage particulier. Ceci se fait en se représentant mentalement la manière d’atteindre l’objectif pour produire un algorithme plus ou moins efficace. La transition entre la structure d’un code et sa représentation sous forme de texte n’est qu’un point de détail, par rapport à la façon de manipuler une telle structure dans son esprit. Pire encore, pour établir un lien fort entre des lignes de code et la logique qu’elles implémentent, il est impératif d’entraîner l’esprit à cet exercice, au point que cela devienne naturel. C’est ainsi qu’on apprend à « programmer ». Simplement apprendre à parler le langage de la machine, c’est « coder ».
En d’autres termes, le code naît dans l’esprit bien avant d’arriver à l’écran. Et c’est précisément en cela que l’approche consistant à enseigner la programmation sous la forme de blocs n’est rien d’autre que d’utiliser un jeu de construction (ou un puzzle). Les structures comme les boucles et les conditions, sous cette forme, n’ont plus besoin d’être assimilées d’une manière qui est propre à chaque individu, elles se trouvent simplement là, à l’écran. Ce travail mental, qui doit en principe devenir instinctif chez un programmeur, est externalisé... dissimulé.
Comme l’a dit un certain Linus Torvalds (dont on peut raisonnablement supposer qu’il sache en quoi consiste la programmation) : « Les mauvais programmeurs se préoccupent du code. Les bons programmeurs se préoccupent des structures de données et de leurs relations. » Scratch, mBlock, Blockly ou encore Node-RED, peuvent avoir un intérêt (« succinct » ou « éphémère », je dirais), cependant ne vous y trompez pas, ils permettent juste d’apprendre à coder, mais certainement pas d’apprendre à programmer.
Denis Bodor
Né en 2014, Hackable est un bimestriel destiné aux professionnels et particuliers souhaitant découvrir et progresser dans les domaines de l’électronique numérique et de l’embarqué. Il fournit un contenu riche orienté vers une audience désireuse de bénéficier d'une veille technologique différente et résolument pratique. Le contenu du magazine est conçu de manière à permettre une mise en pratique directe des connaissances acquises et apprendre tout en faisant.
Le langage par excellence de l'embarqué et des microcontrôleurs est indubitablement le C, car celui-ci offre la proximité adéquate avec le matériel et permet d'atteindre des performances acceptables lorsqu'on ne souhaite pas toucher à l'assembleur. Mais le C arrive avec son lot de difficultés, inhérentes à sa nature permissive, et exige énormément de rigueur de la part du développeur. Des alternatives existent, l'une d'elles est le langage Go et il est parfaitement utilisable sur microcontrôleur.
En situation opérationnelle, les forces de sécurité et les secours ont de nombreux dispositifs à surveiller. Nous allons construire un boîtier d’alertes lumineuses afin d’alléger la charge des effectifs, le système réalisé devra être assez souple pour s’adapter à différents types de missions.
On se propose ici d’utiliser un FPGA GW1NSR de la société chinoise Gowin pour transformer sa Game Boy en véritable console de salon, avec le branchement HDMI ainsi que la manette de Super NES. Le (relatif) plug & play du montage transforme ainsi la Game Boy en une Game Boy-Switch rétro à la sauce Formicapunk. On peut y jouer en mode portable comme à l’époque et si on l’insère dans le montage, il est possible d’y jouer sur sa télé HDMI avec une manette de Super NES.