Avec la prise en charge du port GPIO
Il y a de nombreuses nouveautés dans la dernière release de Raspbian Jessie. Parmi elles, la dernière version de Scratch, que vous trouverez dans le menu Programming accessible à partir du bureau.
Connectez des boutons, capteurs, caméras, LED, mini-joysticks et autres gadgets connectés à votre Pi et interagissez avec ces composants grâce à Scratch.
Deux changements majeurs sont à noter dans cette nouvelle version :
- une amélioration significative des performances ;
- l’ajout d’un serveur intégré de gestion du port GPIO.
Scratch, encore plus rapide
Le plus gros travail a récemment consisté à moderniser le code de Scratch afin de s’exécuter dans un système Squeak/Smalltalk récent plutôt que sur l’ancienne version d’origine. Grâce aux améliorations dont a bénéficié Squeak ces dernières années (Scratch a été créé en utilisant Squeak, une variante du langage de programmation Smalltalk, et Squeak lui-même s’exécute dans une machine virtuelle), Scratch peut maintenant s’exécuter sur des machines virtuelles plus rapides, qui bénéficient de la translation de code dynamique, générant ainsi les instructions de la machine cible au moment de leur exécution.
L’avancée majeure a donc été dans la conception d’une telle machine virtuelle pour le Pi ; jusqu’à présent, seules des machines x86 avaient été capables d’exécuter cette version. Grâce à la contribution d’Eliot Miranda, l’auteur original de la machine virtuelle Cog, et celle d’autres contributeurs, la machine virtuelle pour processeur ARM (ARM Cog VM) fut mise au point en juin dernier.
Les benchmarks sont toujours sujets à polémiques, mais les performances de Squeak semblent avoir augmenté la rapidité du système d’un facteur 3 à 10, facteur qui dépend évidemment de ce que l’on mesure exactement. Les choses iront encore plus vite quand les derniers problèmes dans la génération de code seront aplanis, et la communauté espère bientôt commencer à profiter d’un autre projet d’optimisation de code à la volée, dont les allusions récentes suggèrent un doublement des performances au moins.
Comme Scratch utilise beaucoup de graphismes et de code pour l’interface utilisateur, l’augmentation des performances n’est pas toujours aussi sensible, mais de nombreuses améliorations de la vitesse d’affichage par rapport aux versions antérieures ont tout de même été constatées.
La démonstration la plus flagrante de ces améliorations provient sans doute du Pac-Man d’Andrew Oliver. Les animations de la version Scratch d’origine sur un Raspberry Pi modèle B tournaient au mieux à la vitesse d’une image par seconde. Le même modèle B avec la toute dernière version de Scratch et le jeu s’anime à une vitesse autour de 12 à 15 images par seconde, et sur un Raspberry Pi 2 on arrive à un véritable Pac-Man jouable atteignant les 30 images par seconde en vitesse d’animation.
Gestion du port GPIO
Le nouveau serveur GPIO de Scratch pour Pi est un premier passage vers un nouveau système plus simple pour les utilisateurs d’accéder aux broches GPIO du Raspberry Pi à partir de Scratch, et donc également aux cartes additionnelles branchées sur le Pi. Son fonctionnement en serveur permet d’avoir un travail en cours et d’utiliser en même temps le Pi comme une sorte de serveur GPIO ou une source de données.
Ce serveur permet aussi d’accéder au module Camera Pi, à l’adresse IP, à la date/heure système et d’autres fonctionnalités plus complexes encore.
Par exemple, le script suivant (avec les composants matériels convenablement enfichés et câblés sur une plaque d’essai) permet d’allumer ou éteindre des LED, suivant qu’un bouton est pressé ou non, de prendre une photo avec un compte à rebours généré par une LED qui s’illumine progressivement, de récupérer la date et l’heure de la prise de vue, etc.
Exemples d’utilisation de Scratch pour contrôler le module Camera, piloter les LED connectés au Pi et relever la date/heure système.
Cartes additionnelles d’extension
On peut également brancher des cartes additionnelles tels les Sense Hat, Pibrella, Explorer HAT, PiFace, PiLite ou encore la carte de contrôle de moteurs de Ryanteck.
Sous Scratch, chaque carte peut alors disposer de son propre jeu de commandes en plus des commandes GPIO de base vues précédemment.
Scripts et projets de démonstration
Dans le répertoire Examples de Scratch (via la boîte dialogue File-->Open et le raccourci Examples), vous trouverez un répertoire Sensors and motors et plusieurs scripts nouveaux exploitant le port GPIO incluant celui vu plus haut.
Conclusion
Les utilisateurs de Scratch pourront maintenant accéder aux broches GPIO et mettre un pied plus facilement dans l’informatique physique (physical computing). Selon la communauté, toutes les ressources pour Scratch utiliseront maintenant cette dernière version, et les ressources existantes seront réécrites en conséquence. Le Guide de référence détaille toutes les commandes et fonctionnalités, et un tutoriel pour guider les débutants est en préparation.
Source : A NEW VERSION OF SCRATCH FOR RASPBERRY PI: NOW WITH ADDED GPIO
Connaissez-vous Scratch ? Comptez-vous l’utiliser ?
Pensez-vous que cette nouvelle version du logiciel de programmation graphique permettra aux plus jeunes d’aborder plus facilement l’informatique au travers d’applications connectées au monde physique ?