De Scratch Wiki en français


Scratch et Arduino



Arduino, qu'est-ce-que c'est?

Arduino est le nom donné à une petite carte programmable, au logiciel servant à la programmer, au langage utilisé pour programmer la carte et le nom de l'organisation qui la conçoit.

Une carte Arduino

Programmer la carte

La carte possédant un microcontrôleur, il est possible d'exécuter des programmes écrits en langage Arduino, correspondant plus ou moins au C++ avec quelques librairies supplémentaires.

Il est également possible de programmer la carte Arduino avec des blocs Scratch grâce à une extension utilisable sur le site de ScratchX(disponible ici) ou avec le logiciel Mblock.

Il existe également un éditeur semblable à scratch 1, Snap4Arduino aussi nommé scratch S4A.

Utiliser Arduino avec ScratchX

L'extension Arduino dans ScratchX.

Pour utiliser Scratch avec Arduino, il faut au préalable :

  1. Avoir installé les drivers de la carte Arduino, pour que l'ordinateur auquel elle est connectée puisse la reconnaître et interagir avec elle.
  2. Avoir flashé la carte avec le programme "Standard Firmata". (Dans l'IDE Arduino, dans Fichier > Exemples > Firmata > Standard Firmata)
  3. Avoir installé l'extension pour navigateur Scratch Extension (plus d'informations sur la page)
  4. Se rendre sur ScratchX et utiliser l'extension pour Arduino

Il sera alors possible de programmer la carte Arduino avec les blocs d'extension Arduino ajoutés par l'extension (dans la catégorie "Ajouter Blocs" > Arduino).

Une pastille verte à côté du nom de l'extension dans la catégorie "Ajouter Blocs" vous indiquera alors que la carte est branchée et est prête à être utilisée. Si elle est orange, la carte n'est soit pas branchée ou l'extension pour navigateur ne fonctionne pas. Si vous avez une pastille rouge, il y a un autre problème. Vous pourrez avoir de plus amples explications en mettant votre souris sur la pastille.

Utiliser Arduino avec mBlock

Vous pouvez également utiliser mBlock car cet éditeur est plus moderne et toujours en développement et adapté à toutes les cartes, et connecter l'éditeur à l'Arduino est plus facile.

Possibilités de la carte

Le microcontrôleur peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le pilotage d'un robot, de l'informatique embarquée, etc.
Il est également possible de connecter la carte au monde réel grâce aux connecteurs électriques reliés à la puce.
On peut donc ainsi créer des circuits électriques et électroniques plus ou moins complexes, ce qui laisse un nombre de projets interactifs infini.

Type de carte

À ce jour, dix-sept versions des cartes Arduino ont été produites et vendues dans le commerce. Vous trouverez ci-dessous une liste dans l'ordre alphabétique :

  • Arduino Bluetooth (BT)
  • Arduino Due
  • Arduino Diecimila
  • Arduino Duemilanove (2009)
  • Arduino Esplora
  • Arduino Ethernet
  • Arduino Extreme
  • Arduino Leonardo
  • Arduino LilyPad
  • Arduino Mega
  • Arduino Mega2560
  • Arduino Mini
  • Arduino NG
  • Arduino NG Plus
  • Arduino Nano
  • Arduino Serial
  • Arduino Uno

La plupart d'entre-elles sont programmables avec Scratch.

Blocs spéciaux à Arduino

Bloc Type de bloc Description
quand l'appareil est connecté :: hat extension Bloc de tête Lance le script lorsque la carte Arduino est connectée à l'ordinateur
connecté [LED A v] au pin (3) :: extension Bloc d'empilement Définit que la LED A est branché au pin n° 3 de la carte
connecté [Potentiomètre v] au pin analogue (0) :: extension Bloc d'empilement Définit qu'un potentiomètre est connecté au pin analogique 0 de la carte
régler [LED A v] LED [ON v] Sortie:: extension Bloc d'empilement Allume la LED A
régler [LED A v] Luminosité de la LED à (100) % :: extension Bloc d'empilement Met la luminosité de la LED A à 100% (intensité lumineuse maximum)
changer [LED A v] Luminosité de la LED de (20) %:: extension Bloc d'empilement Ajoute 20% à l'intensité lumineuse de la LED A
tourner [Servo Moteur A v] Servo Moteur à (180) degrés:: extension Bloc d'empilement Oriente le servomoteur A à 180°
tourner [Servo Moteur A v] Servo Moteur de (20) degrés :: extension Bloc d'empilement Fait tourner le servomoteur A de 20°
quand [Bouton A v] Bouton est [Appuyé v]:: hat extension Bloc de tête Lance le script quand le bouton A de la carte est enfoncé
<le [Bouton A v] est-il pressé? :: extension> Bloc booléen Détecte sur le bouton A est enfoncé
quand [Potentiomètre v] [> v] (50) % :: hat extension Bloc de tête Lance le script quand le potentiomètre dépasse la valeur de 50%
(lire potentiomètre :: extension) Bloc de valeur Retourne le voltage de la broche sur laquelle le potentiomètre est branché
régler le Pin (1) [ON v] Sortie:: extension Bloc d'empilement Envoie du courant sur la broche 1 (état allumé)
régler le Pin (3) à (100) % :: extension Bloc d'empilement Met l'intensité de la broche analogique 3 à 100%
quand le Pin (1) est [ON v] Sortie :: hat extension Bloc de tête Lance le script quand la broche est dans un état allumé
<le Pin (1) est-il démarré?:: extension> Bloc booléen Renvoie si il la broche n° 1 est allumée
quand le Pin analogique est (1) [> v] (50) % :: hat extension Bloc de tête Lance le script quand la broche analogique n°1 a un voltage de plus de 50%
(lire le Pin Analogique (0):: extension) Bloc de valeur Retourne le voltage sur la broche analogique n°0
(mapper (50) de (0) (100) à (-240) (240):: extension) Bloc de valeur Renvoie une valeur entre -240 et 240 sur base du nombre 50 entre 0 et 100 (dans ce cas-ci, 0 sera renvoyé)