Comment contrôler votre Arduino en utilisant JavaScript

Comment contrôler votre Arduino en utilisant JavaScript / La programmation

Les cartes Arduino sont l’un des moyens les plus simples d’entrer dans le piratage matériel pour les programmeurs. Il existe une vaste gamme de projets pour débutants. 15 Grands projets Arduino pour les débutants. 15 Grands Projets Arduino pour les débutants. Vous êtes intéressé par Arduino mais vous ne savez pas par où commencer? Voici quelques-uns de nos meilleurs projets Arduino pour les débutants! Lisez-en plus pour convenir à presque toutes les personnes ayant une formation en programmation. Même dans ce cas, se lancer peut paraître décourageant pour ceux qui ont peu de temps.

Apprendre une nouvelle langue Quel langage de programmation devriez-vous apprendre pour l’avenir? Quel langage de programmation devriez-vous apprendre pour l'avenir? Quel est le meilleur langage de programmation à apprendre pour l’avenir? Si vous ne pouviez choisir qu'une seule langue à apprendre et à maîtriser pour l'avenir, il n'y a pas de concours: ce doit être JavaScript. Lire plus juste pour essayer un microcontrôleur peut sembler beaucoup de travail. Et si vous voulez commencer à jouer avec les produits électroniques de la maison dans un langage de programmation que vous connaissez déjà? Bonne nouvelle: vous pouvez!

Nous vous avons déjà montré comment contrôler une carte Arduino avec Python Comment programmer et contrôler un Arduino avec Python Comment programmer et contrôler un Arduino avec Python Malheureusement, il est impossible de programmer directement un Arduino en Python, mais vous pouvez le contrôler. sur USB en utilisant un programme Python. Voici comment. Lisez Plus et aujourd'hui nous allons vous montrer comment faire de même avec JavaScript. Plutôt que le tutoriel de base sur les voyants clignotants, nous allons utiliser le framework Johnny-Five pour contrôler un servo avec le clavier de l'ordinateur, tous programmés en JavaScript. Qu'est-ce que JavaScript et comment ça marche? Qu'est-ce que JavaScript et comment ça marche? Qu'est ce que le Javascript? C'est un langage de programmation utilisé pour améliorer les pages Web. Cela inclut la mise à jour dynamique des pages Web, des interfaces utilisateur, etc. Nous allons plonger dans ce que Javascript est tout au sujet. Lire la suite .

Liste du matériel

Pour ce projet, vous aurez besoin de:

  • Arduino Uno (ou une carte compatible. Guide d'achat Arduino: Quelle carte devriez-vous vous procurer? Guide d'achat Arduino: Quelle carte devriez-vous vous procurer? Il existe une multitude de types de cartes Arduino différentes sur le marché, ce qui vous pardonnerait d'être confus. Laquelle Aidez-nous avec ce guide d’achat Arduino! En savoir plus): 22 $ dans la boutique officielle, mais vous pouvez les acheter moins cher. 5 raisons de ne pas utiliser un véritable Arduino dans votre prochain projet 5 raisons de ne pas utiliser un véritable Arduino dans votre prochain projet La fondation Arduino est-elle allée trop loin? Pourquoi devriez-vous dépenser votre argent sur les produits Genuine Arduino? Nous expliquons tout ce que vous devez savoir. En savoir plus, des clones sont disponibles pour seulement 3,20 $ sur AliExpress.
  • Servo Hobby: Tout servo compatible Arduino d'un magasin de loisirs créera, j'utilise un servo à 1,60 $ d'AliExpress.
  • Quelques morceaux de fil de connexion
  • Câble USB: pour connecter l'Arduino à votre ordinateur

Le tutoriel d'aujourd'hui utilisera une carte Arduino Uno. Le framework Johnny-Five que nous utiliserons plus tard dans ce projet prend en charge la plupart des microcontrôleurs compatibles Arduino, bien que votre carte ait besoin de la capacité PWM pour satisfaire le servo..

Configuration du circuit

Attachez votre servo à votre Arduino comme ceci:

En bref, la ligne VCC (ROUGE) se connecte à la broche 5v de l’Arduino, la ligne GND (NOIR ou MARRON) se connecte à la broche GND de la ligne Arduino et de la ligne Pulse (Jaune ou Orange) connectez à la broche 10 de l’Arduino. Notez que, même s’il n’est pas nécessaire de le connecter à la broche 10 en particulier, il doit être connecté à une broche PWM, généralement désignée par un symbole. ~.

Vérifiez que vous n'avez pas branché de fils et connectez l'Arduino à votre ordinateur. Nous utiliserons Windows 10 pour ce projet. Tous les éléments de ce projet sont également disponibles pour Mac et Linux, bien que certaines instructions d’installation puissent différer légèrement..

Si ce n'est déjà fait, téléchargez l'IDE Arduino et choisissez votre Planche et Port du Outils menu. Si c'est la première fois que vous faites cela et que tout cela est un mystère, consultez notre Guide du débutant Arduino Démarrer avec Arduino: Guide du débutant Démarrer avec Arduino: Guide du débutant Arduino est une plate-forme de prototypage électronique à code source ouvert basée sur matériel et logiciel faciles à utiliser. Il est destiné aux artistes, concepteurs, amateurs et à toute personne intéressée par la création d'objets ou d'environnements interactifs. Lire plus pourrait vous aider à traverser ces étapes.

Une fois que vous l'avez connecté, téléchargez le StandardFirmataPlus exemple esquisse au tableau. Vous pouvez trouver ce croquis dans le Fichier menu sous Exemples> Firmata> StandardFirmataPlus. Vous n'avez pas du tout besoin de modifier l'esquisse, cela permet essentiellement à l'Arduino d'attendre les instructions extérieures - ce que nous nous fournirons plus tard..

JavaScript robotique avec Johnny-Five

Le framework que nous allons utiliser pour contrôler notre Arduino avec Javascript s'appelle Johnny-Five. Sans surprise, étant donné son nom de film, le projet est orienté vers la robotique.

Crédit d'image: johnny-five.io

Pour installer Johnny-Five, il faut d’abord installer Node.js. Qu'est-ce que Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] Qu'est-ce que Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] JavaScript est un langage de programmation côté client qui s'exécute dans le navigateur, n'est-ce pas? Plus maintenant. Node.js est un moyen d'exécuter JavaScript sur le serveur. mais c'est beaucoup plus aussi. Si… Lire la suite. Vous pouvez télécharger leur dernière version depuis le site Web Node.js. Nous utilisons la version recommandée, qui au moment de la rédaction est 8.9.4 LTS.

Ouvrez le .msi fichier et suivez les instructions d’installation en vous assurant qu’il est ajouté à votre CHEMIN. Le programme d’installation actuel de Node.js ajoute PATH en standard, bien que cela vaille la peine de le vérifier pendant l’installation, car il est requis pour notre prochaine étape..

Une fois l’installation terminée, nous aurons accès au Node Package Manager Gestionnaire de packages (NPM) à partir de la ligne de commande Windows (CMD). Cliquez sur Début et tapez CMD. Avant de continuer, nous devons initialiser le NPM pour éviter les erreurs d'installation éventuelles. Il ne nécessite aucune connaissance spécialisée, il suffit de taper:

npm init

Suivez les instructions à l'écran. Pour le projet d'aujourd'hui, vous n'avez rien à changer, appuyez sur Entrée jusqu'à ce que vous soyez de nouveau à l'invite de commande, puis tapez:

npm installer johnny-five

Cela installera tous les paquets importants, qui dialogueront avec notre Arduino. Nous avons besoin d’une autre chose pour que ce projet fonctionne: c’est la Appuyez sur la touche package, ce qui nous permettra de lire les frappes au clavier.

Installez-le en entrant:

npm installer la frappe

Une fois que tous ces paquets sont installés, nous sommes prêts à coder!

Si vous rencontrez des problèmes lors de l'installation, essayez de réexécuter l'installation de johnny-five. après la pression de touche install. Ce n'est peut-être qu'un caprice de la version NPM utilisée ici, mais cela évite maintenant un problème que vous risquez de rencontrer plus tard, comme je l'ai fait auparavant..

Le code

Nous utiliserons aujourd'hui un exemple de code fourni dans la documentation johnny-five, qui permet de contrôler notre servo à l'aide des touches fléchées du clavier. Le code complet est disponible sur johnny-five.io, mais nous le passerons en détail ici pour bien comprendre son fonctionnement..

Nous utilisons Eclipse IDE 8 Raccourcis clavier Eclipse essentiels pour les débutants 8 Raccourcis clavier Eclipse indispensables pour les débutants Aussi facile à utiliser que l'IDE Eclipse (interface), vous devez apprendre ces raccourcis clavier. Pour en savoir plus sur le codage d’aujourd’hui, vous pouvez utiliser n’importe quel éditeur de texte ou IDE Éditeurs de texte et IDE: lequel est le meilleur pour les programmeurs? Éditeurs de texte et IDE: lequel est le meilleur pour les programmeurs? Il peut être difficile de choisir entre un IDE avancé et un éditeur de texte plus simple. Nous vous proposons un aperçu pour vous aider à prendre cette décision. Lire la suite pour ce projet.

Créez un nouveau fichier et nommez-le test.js, puis enregistrez-le dans un endroit auquel vous pourrez facilement accéder ultérieurement, à partir de la ligne de commande. Le script commence par créer des variables pour les bibliothèques requises et par initialiser le Appuyez sur la touche bibliothèque pour écouter les données entrantes et appeler le Planche() méthode pour installer le conseil.

var five = require ("johnny-five"); var keypress = require ("touche"); pression de touche (process.stdin); var board = new five.Board (); 

Notez que la configuration de la carte est automatique, pas besoin de spécifier des ports. Si vous avez une configuration de port spécifique, ou si vous n’avez pas de chance avec la détection automatique, vous devrez peut-être spécifier explicitement votre port..

Ensuite nous voulons “Réveillez-vous” notre conseil et le configurer pour le contrôle d'asservissement. le board.on L'appel attend que les broches Arduino soient prêtes avant de continuer. La bibliothèque johnny-five prend en charge les servos intégrés et nous appelons Servo. Continu (10) sur la broche 10 pour permettre un contrôle direct.

board.on ("ready", function () console.log ("Utilisez les flèches vers le haut et vers le bas pour CW et respectivement. Espace pour arrêter."); var servo = new five.Servo.Continuous (10); processus. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

le process.stdin les appels garantissent que toutes les données que nous recevons du clavier seront utilisables dans le bloc de code suivant. Maintenant nous voulons “écoute” pour les frappes au clavier et utilisez-les pour déplacer notre servo dans le sens des aiguilles d'une montre (CW), dans le sens inverse des aiguilles d'une montre (CCW), ou pour vous arrêter dans sa trajectoire.

 process.stdin.on ("touche", fonction (ch, touche) if (! touche) // si aucune touche n'est enfoncée, retourne ie ne fait rien. return; if (touche.nom === "q" ) console.log ("Quitting"); process.exit (); sinon si (key.name === "up") console.log ("CW"); servo.cw (); sinon si (key.name === "down") console.log ("CCW"); servo.ccw (); else if (key.name === "espace") console.log ("Arrêt") ; servo.stop ();); );

Assurez-vous d'inclure tous les crochets de fermeture en bas ici et référez-vous au bloc de code entier tel qu'indiqué ci-dessus si vous rencontrez des erreurs. Enregistrez ce script et ouvrez l'invite de commande..

Salut Bonjour!

Naviguez maintenant dans le répertoire dans lequel vous avez enregistré votre script et exécutez-le en tapant:

noeud test.js

Le programme doit immédiatement démarrer avec des informations sur le tableau, avant de vous donner les instructions indiquées dans le code. Essayez d’appuyer sur les touches fléchées haut et bas et sur la barre d’espace. Q pour quitter. L'écran devrait ressembler à ceci:

Et pour que tout se passe bien, le servo devrait danser sur vos frappes au clavier! Regardez cette petite vague de bête!

De modestes débuts

Bien que nous ayons entrepris un projet légèrement plus ambitieux que le didacticiel habituel pour les voyants à DEL clignotants, nous n’avons même pas abordé toute la mesure de ce qui peut être fait avec les cartes Arduino et autres microcontrôleurs similaires..

Les utilisateurs JavaScript chevronnés devraient trouver le paquet Johnny-Five intuitif. La bibliothèque peut également être installée nativement sur le Raspberry Pi, ce qui en fait le paquet idéal pour les constructeurs de robots en herbe..

L'avantage de cette bibliothèque est que, même si elle est conçue pour les robots, les mêmes données d'entrée et de sortie peuvent être utilisées pour créer des configurations DIY Smart Home DIY Smart Home Sensors avec Arduino, MySensors et OpenHAB DIY Smart Home Sensor avec Arduino, MySensors et les capteurs OpenHAB Smart Home coûtent une somme d’argent ridicule. Câbler une maison entière est le domaine de ceux qui ont des montants ridicules de revenus disponibles. Construisons le nôtre avec MySensors. En savoir plus et même dans les systèmes de sécurité maison Smart Lock DIY avec Arduino et RFID DIY Smart Lock avec Arduino et RFID Voici comment construire un simple verrou intelligent basé sur la RFID en utilisant un Arduino comme colonne vertébrale et quelques composants bon marché. Lire la suite .

Cette communication avec les microcontrôleurs constitue une excellente introduction au monde du matériel de bricolage sans avoir à consacrer du temps à l'apprentissage d'un tout nouveau langage de programmation. Amusez-vous, et si vous construisez un robot tueur, souvenez-vous de la façon dont nous vous avons aidé dans les premiers temps..

En savoir plus sur: Arduino, JavaScript.