FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Les cartes Arduino offrent une entrée idéale dans le monde du piratage matériel pour les programmeurs. De nombreux projets débutants s'adaptent à quiconque a une expérience en programmation. Pourtant, se lancer peut sembler intimidant pour ceux qui manquent de temps.

Apprendre un nouveau langage rien que pour tester un microcontrôleur représente un investissement important. Et si vous pouviez expérimenter l'électronique DIY avec un langage que vous maîtrisez déjà ? Bonne nouvelle : c'est possible !

Nous avons déjà exploré le contrôle d'Arduino via Python. Aujourd'hui, découvrez comment faire de même avec JavaScript. Au-delà du classique clignotement de LED, ce tutoriel utilise le framework Johnny-Five pour piloter un servo-moteur depuis le clavier de votre ordinateur, le tout en JavaScript pur.

Matériel requis

Pour ce projet, procurez-vous :

  • Arduino Uno (ou compatible) : environ 22 € en boutique officielle, ou clones à partir de 3,20 € sur AliExpress.
  • Servo-moteur hobby : tout modèle compatible Arduino convient (ex. : 1,60 € sur AliExpress).
  • Quelques câbles de connexion.
  • Câble USB pour relier l'Arduino à votre PC.
Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Ce tutoriel s'appuie sur une Arduino Uno. Johnny-Five supporte la plupart des cartes compatibles Arduino, à condition qu'elles disposent de broches PWM (marquées ~) pour le servo.

Montage du circuit

Connectez le servo comme suit :

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

En résumé : fil VCC (rouge) sur 5V Arduino, GND (noir ou marron) sur GND Arduino, et fil de signal (jaune ou orange) sur la broche 10 (PWM). Vérifiez les connexions avant de brancher l'USB.

Ce guide utilise Windows 10, mais il est compatible Mac/Linux (instructions d'installation légèrement adaptées).

Installez l'IDE Arduino si nécessaire, sélectionnez Carte et Port dans Outils. Consultez notre guide débutant Arduino pour plus de détails.

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Une fois connecté, téléversez l'exemple StandardFirmataPlus (Fichier > Exemples > Firmata > StandardFirmataPlus). Ce sketch prépare l'Arduino à recevoir des commandes externes.

Robotique JavaScript avec Johnny-Five

Johnny-Five est le framework idéal pour contrôler Arduino en JavaScript, orienté robotique.

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Installez d'abord Node.js (dernière LTS recommandée sur nodejs.org).

Exécutez le .msi et vérifiez l'ajout au PATH.

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Dans l'invite de commande (CMD), initialisez NPM :

npm init -y

Installez Johnny-Five :

npm install johnny-five

Puis Keypress pour les entrées clavier :

npm install keypress

Si des erreurs surgissent, réinstallez keypress en premier.

Le code

Ce script, inspiré de la doc Johnny-Five, contrôle le servo via flèches directionnelles. Utilisez votre éditeur préféré (ex. : VS Code).

Créez test.js :

var five = require("johnny-five");
var keypress = require("keypress");

keypress(process.stdin);

var board = new five.Board();

board.on("ready", function() {
  console.log("Flèches haut/bas pour CW/CCW. Espace pour arrêter. Q pour quitter.");
  var servo = new five.Servo.Continuous(10);

  process.stdin.resume();
  process.stdin.setEncoding("utf8");
  process.stdin.setRawMode(true);

  process.stdin.on("keypress", function(ch, key) {
    if (!key) return;

    if (key.name === "q") {
      console.log("Quitter");
      process.exit();
    } else if (key.name === "up") {
      console.log("CW");
      servo.cw();
    } else if (key.name === "down") {
      console.log("CCW");
      servo.ccw();
    } else if (key.name === "space") {
      console.log("Arrêt");
      servo.stop();
    }
  });
});

La détection du port est automatique ; spécifiez-le si besoin (ex. : new five.Board({port: '/dev/ttyUSB0'})).

Salut de la main !

Dans CMD, naviguez vers le fichier et lancez :

node test.js

Utilisez les flèches, espace et Q. Votre servo devrait répondre !

Contrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-FiveContrôlez votre Arduino avec JavaScript : Tutoriel complet Johnny-Five

Premiers pas

Ce projet dépasse le simple LED clignotant, mais ouvre les portes d'un univers vaste : robotique, domotique, sécurité DIY.

Johnny-Five est intuitif pour les JS devs et compatible Raspberry Pi. Parfait pour les makers sans temps à apprendre un nouveau langage.

Amusez-vous, et si vous créez un robot tueur, rappelez-vous ce tutoriel !

[]