Comment contrôler votre Arduino en utilisant JavaScript

  • Michael Fisher
  • 0
  • 1250
  • 156
Publicité

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 les projets Arduino mais vous ne savez pas par où commencer? Ces projets pour débutants vous apprendront comment vous lancer. là-bas pour convenir à presque n'importe qui avec un fond de programmation. Malgré tout, commencer 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 langue à apprendre et à maîtriser pour l'avenir, il n'y a pas de concours: ce doit être JavaScript. Juste pour essayer un microcontrôleur peut sembler beaucoup de travail. Et si vous voulez commencer à jouer avec les appareils é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. , 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. Il comprend la mise à jour dynamique de pages Web, d'interfaces utilisateur, etc. Let's plonger dans ce que Javascript est tout au sujet. .

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 Laissez-nous vous aider avec ce guide d’achat Arduino!): 22 $ dans la boutique officielle, mais vous pouvez les acheter moins cher. 5 raisons de ne pas utiliser un Arduino authentique dans votre prochain projet 5 raisons de ne pas utiliser un Arduino authentique en 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. , des clones sont disponibles pour seulement 3,20 $ sur AliExpress.
  • Servo Hobby: Tous les servo compatibles Arduino provenant d'un magasin de loisirs feront l'affaire, 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. 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 axé sur le travail avec 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 une façon d'exécuter JavaScript sur le serveur. mais c'est beaucoup plus aussi. Si… . 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 retour à 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 le Appuyez sur la touche package, ce qui nous permettra de lire les frappes au clavier.

Installez-le en entrant:

npm install keypress

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

Si vous rencontrez des problèmes lors de l'installation, relancez l'installation de johnny-five après la pression de touche install. Ce n'est peut-être qu'un caprice de la version de 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 coder 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. pour ce projet.

Créez un nouveau fichier et nommez-le test.js, puis enregistrez-le dans un emplacement 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 mettre en place 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); process. 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 prochain bloc de code. Maintenant nous voulons “écoute” pour les frappes au clavier et les utiliser 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 s’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 démarrer immédiatement 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 clignotants pour débutants, 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..

Le point positif 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 de maison intelligente bricolage. 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 revenus ridicules. Construisons le nôtre avec MySensors. et même des systèmes de sécurité fabriqués à la maison DIY Smart Lock avec Arduino et RFID DIY Smart Lock avec Arduino et RFID Voici comment construire un verrou intelligent basé sur la RFID utilisant un Arduino comme colonne vertébrale et quelques composants bon marché. .

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, rappelez-vous comment nous vous avons aidé dans les premiers temps..




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.