Dans ce tutoriel, je vais vous montrer comment installer le package d’extension ScratchGPIO, comment assembler une carte d’affichage avec des voyants et des boutons, et exécuter un simple jeu Scratch utilisant les voyants et les boutons de la planche pour jouer..
Avec l'accent mis par Raspberry Pi sur l'éducation, il est parfaitement logique que Scratch soit pré-installé sur la version par défaut de Raspbian et disponible sous forme d'icône sur le bureau..
Simon Walters, @cymplecy sur Twitter, a créé une extension pour Scratch qui permet à votre programme de lire et d’écrire l’état des broches Raspberry Pi GPIO. Simon blogue sur sa création, ScratchGPIO chez Cymplecy, et continue de la maintenir sur son référentiel github..
La planche à pain abritera les voyants et les boutons avec lesquels ScratchGPIO interagira. Les DEL ont besoin d’une résistance de limitation de courant de 220 OHM et les boutons ont besoin de résistances 1K OHM pour assurer que les broches ne transmettent pas trop de courant..
A l’aide de l’image ci-dessous, configurez la maquette et les cavaliers sur les broches GPIO indiquées dans le schéma. Les numéros de broche utilisés par le module GPIO et le code Scratch sont les numéros de broche physiques et non les numéros GPIO ou logiques. Reportez-vous aux images de la page Périphériques de bas niveau RPi pour identifier les numéros de broches..
Il existe plusieurs guides pour l’achat et l’installation d’un système d’exploitation sur votre Raspberry Pi. Installez le dernier système d'exploitation Raspbian. Une fois que votre Raspberry Pi est configuré et démarré jusqu'au bureau graphique, passez à l'étape suivante..
Le logiciel ScratchGPIO ne modifie ni ne remplace scratch, il ajoute un ensemble de scripts python qui s'intègrent à Scratch et permettent de contrôler et de lire les broches GPIO au niveau matériel. Scratch continuera à fonctionner normalement après l'installation.
Il y aura cependant une nouvelle icône sur le bureau graphique du Raspberry Pi qui lancera les scripts de prise en charge GPIO et Scratch ensemble. L'installateur est simple et facile à utiliser. Suivez les instructions ci-dessous pour télécharger et installer le package ScratchGPIO..
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
Le sujet de l’écriture des programmes Scratch est vaste et profond. Ce tutoriel ne couvre pas les détails de la programmation Scratch, mais le site Web Scratch fait un excellent travail en introduisant et en enseignant Scratch si vous voulez en savoir plus..
Dans les étapes ci-dessous, vous allez télécharger et exécuter un jeu de grattage qui tire parti des extensions GPIO et de la configuration de la maquette que vous avez créée. Le jeu place les broches de sortie 11, 12 et 13 à la hauteur pour allumer les DEL et montrer l’état de santé du héros du jeu, Cat..
Lorsque Cat perd sa santé, les voyants s'éteignent un par un jusqu'à ce qu'ils soient tous sombres et que le jeu soit terminé. Pendant le jeu, le programme vérifie l'état des broches d'entrée 3 et 5 et, lorsque les broches sont basses ou mises à la terre, Cat monte et descend pour essayer d'éviter l'adversaire qui le charge, Rex..
Pendant que vous jouez au jeu, vous verrez comment les trois voyants de la planche à pain reflètent le niveau de santé de Cat et que les boutons déplacent effectivement Cat vers le haut et le bas. Je signalerai ci-dessous les bits de code qui interagissent avec les broches Pi GPIO. Pour référence, vous pouvez trouver la documentation complète sur le package ScratchGPIO sur le blog des auteurs..
Les voyants sont alimentés lorsque les broches auxquelles ils sont connectés sont allumés ou allumés. La LED s'allumera et la résistance empêchera de passer trop de courant. Clique sur le Étape icône dans le panneau inférieur gauche de la fenêtre Scratch. Cela amènera le script de l'objet stage dans l'éditeur situé au centre de la fenêtre..
L'extrait de code ci-dessous est la routine de traitement des voyants et de l'intégrité. Lorsque le bloc de code reçoit le UpdateHealth message diffusé, il évalue la variable de santé et définit les broches bas lorsque la santé est perdue.
Les boutons-poussoirs momentanés relient les broches 3 et 5 à la terre par l'intermédiaire de la résistance de limitation de courant lorsqu'elle est enfoncée. Le Raspberry Pi reconnaît alors la broche comme étant faible ou nulle dans Scratch. Clique sur le chat icône dans le volet inférieur droit de la fenêtre pour afficher le code correspondant dans le volet central.
Dans le bloc de code supérieur, après une certaine maintenance de la configuration, le code boucle en vérifiant l’état des broches 3 et 5. Lorsque l’un ou l’autre est détecté comme étant faible ou égal à 0, le message en haut ou vers le bas est envoyé. Plus bas dans le chat les scripts sont des blocs de code qui reçoivent les messages directionnels et déplacent le sprite lui-même.
Mon meilleur score était de 34. Voyez si vous pouvez battre ça!
Scratch est un cadre de programmation très accessible et facile à apprendre pour les jeunes enfants et les adultes. Son association étroite avec le Raspberry Pi et son accent pédagogique se marient parfaitement. Le projet ScratchGPIO permet à Scratch de contrôler et de détecter de manière très puissante les broches GPIO de bas niveau du Pi. L’auteur continue d’améliorer l’ensemble pour prendre en charge les écrans LCD, les moteurs, les composants de boussole, les capteurs de distance et d’autres composants électroniques et robotiques..
Le niveau de contrôle matériel offert par le paquet ScratchGPIO permet aux programmeurs débutants d’interagir avec le monde physique avec un cadre de programmation simple et familier..
En suivant ce tutoriel, vous avez appris comment installer le package ScratchGPIO, où trouver plus d’informations sur lui et sur Scratch. En outre, vous avez assemblé un circuit facile à utiliser qui vous permettra de tester en toute sécurité le contrôle Scratch et GPIO pour les entrées et les sorties..
Enfin, vous avez installé un jeu qui peut être utilisé comme exemple et une base à modifier pour apprendre et expérimenter. Alors que le projet ScratchGPIO continue de mûrir et de se développer, vous pouvez vous attendre à voir toute une nouvelle génération de robotique Raspberry Pi contrôlée par Scratch..