Tutoriel 1 Scratch BrickPi

Je vais vous présenter la façon de piloter des moteurs et lire des capteurs avec le logiciel Scratch. Je pars du principe que BrickPi Scratch est installé sur le raspberry et est fonctionnel, sinon vous pouvez consulter cette page pour l’installation.

Nom des ports pour les moteurs connectés à la carte: MA, MB, MC et MD, et les capteurs connectés sur la carte: S1, S2, S3, S4 et S5.

cartebrickpi

Pilotage des moteurs, moteurs en rotation:

image1Pour les moteurs les paramètres suivants sont utilisés:

  • E (Enable): activation de moteur.
  • MA 200: après l’activation du moteur, mettre le moteur à une vitesse égale à 200.
  •  D (Disable): désactivation du moteur.

Utilisation dans le bloc « broadcast » qui se trouve dans le menu « control », à ce bloc on ajoute un bloc « join » avec le nom du port MA (car moteur connecté sur le port MA, premier port moteur) plus la commande E (Enable, activation du moteur). Dans l’exemple  ci-dessus, les moteurs MA et MC sont activés et tournent à la vitesse de 200. Le bloc « say » permet d’afficher à l’écran l’information Running.

Pilotage des moteurs, moteurs à l’arrêt:

Image2

C’est le même principe que pour mettre les moteurs en rotation sauf que le bloc broadcast contient MA D. Maintenant on peut commander les moteurs par un appui sur la flèche haut du clavier et arrêter les moteurs par un appui sur la flèche bas du clavier.

Capteur de contact:

image3

Pour définir le capteur de contact branché sur le port S2, il faut un bloc broadcast et un bloc join avec le nom du port, ici S2 (capteur branché sur le port S2) plus un nom, ici TOUCH. Après il faut ajouter deux blocs broadcast, un SETUP et un START permettant de définir le capteur et de l’activer. Dans la boucle forever ne pas oublier de mettre un bloc broadcast UPDATE, ce bloc permet de connaitre l’état du capteur. Quand le capteur de contact est actionné, donc à l’état 1, le moteur tourne sinon le moteur est arrêté.

Capteur ultrasons:

image4

Le principe reste identique au capteur de contact, il suffit de modifier son nom (ULTRASONIC) et de changer de condition dans la boucle if. Ne pas oublier le bloc broadcast UPDATE, j’ai ajouté un bloc say afin d’afficher la valeur du capteur. Si la valeur est inférieure à 10 le moteur tourne sinon le moteur est arrêté.

Lecture de la valeur brute d’un capteur:

image5

Le principe reste le même, je mesure la valeur brute (valeur de 0 à 1024) du capteur de contact branché sur le port S3. Si la valeur est inférieure à 200 (capteur de contact actionné) le moteur tourne, sinon le moteur est arrêté. Le bloc say affiche la valeur brute donnée par le capteur de contact.

Tableau récapitulatif:

tableau

Il ne vous reste plus qu’a tester les différents programmes ci dessus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *