Comment exécuter un code Arduino?

Comment exécuter un code Arduino?

Feedback geben

Vous avez fait clignoter quelques DEL avec Arduino, et peut-être même dessiné de jolis dessins avec Processing – que faire ensuite ? À ce stade, vous vous dites peut-être : ” Je me demande s’il existe un moyen de faire communiquer Arduino et Processing entre eux “. Eh bien, devinez quoi – il y en a un ! – et ce tutoriel va vous montrer comment.

C’est ce qu’on appelle notre méthode de configuration. C’est là que nous “configurons” notre programme. Ici, nous l’utilisons pour lancer une communication série entre l’Arduino et notre ordinateur à un débit de 9600 bauds. Pour l’instant, tout ce que vous devez savoir sur le débit en bauds, c’est que (en gros) c’est le débit auquel nous envoyons les données à l’ordinateur, et si nous envoyons et recevons des données à des débits différents, tout se passe en charabia et un côté ne peut pas comprendre l’autre. C’est mauvais.

Après notre méthode setup(), nous avons besoin d’une méthode appelée loop(), qui va se répéter encore et encore tant que notre programme est en cours d’exécution. Pour notre premier exemple, nous allons simplement envoyer la chaîne “Hello, world !” sur le port série, encore et encore (et encore). Tapez ce qui suit dans votre sketch Arduino, sous le code que nous avons déjà écrit :

Clignotement de l’Arduino

Imaginons que vous ayez un projet Arduino dans lequel vous souhaitez exécuter plusieurs actions en même temps : lire des données à partir d’une entrée utilisateur, faire clignoter des LED, contrôler un potentiomètre, etc. En gros, vous voulez faire du multitâche avec Arduino.

  Comment flasher ESP32?

Un ordinateur classique possède plusieurs cœurs et des tonnes de RAM. Vous pouvez installer un système d’exploitation (tel que Windows, Ubuntu, Debian, etc.), et créer des centaines de threads. Par exemple, lorsque vous lancez Firefox ou Chrome, de nouveaux threads sont créés, de sorte que vous pouvez toujours exécuter tous vos programmes tout en en lançant de nouveaux.

Illustrons cela par une illusion d’optique. Si vous prenez un papier bleu et un papier rouge, et que vous les alternez très rapidement devant vos yeux (au moins 10 fois par seconde), vous verrez la couleur violette.

Comme le changement de couleur est très rapide, vous aurez l’illusion que toutes les couleurs sont mélangées en une autre couleur. C’est à peu près ce qu’est le multitâche avec Arduino, mais à une fréquence beaucoup plus élevée.

Comme vous le savez, la fonction setup() est appelée en premier sur Arduino. Ici, nous nous contentons d’initialiser la communication série et de définir le mode correct pour les broches numériques (les broches analogiques ne nécessitent pas de configuration, car elles sont automatiquement définies comme broches d’entrée).

Croquis de test Arduino

Ouvrez l’IDE Arduino et sélectionnez Fichier → Exemples → 01.Basics → BareMinimum pour voir les deux fonctions. Ces deux fonctions apparaissent maintenant dans une nouvelle fenêtre par défaut de l’IDE Arduino, il n’est donc pas nécessaire d’ouvrir le sketch d’exemple BareMinimum dans une nouvelle version de l’IDE.

Le programme “hello world” écrit simplement le texte “Hello, world !” à l’écran. Le but de ce programme est de vérifier que votre environnement de programmation est correctement installé et fonctionne. Si votre programme “hello world” fonctionne, vous êtes prêt à commencer à apprendre le nouveau langage de programmation.

  Comment fonctionne capteur PIR?

Tout ce qui, dans les lignes de code ci-dessus, est tapé de manière incorrecte dans la fenêtre de l’IDE provoquera très probablement une erreur de compilation, assurez-vous donc de taper tout exactement comme indiqué dans le code ci-dessus. Le programme est compilé lorsque vous cliquez sur le bouton Verify (icône en forme de coche) ou sur le bouton Upload (icône en forme de flèche horizontale).

Si vous avez eu des problèmes pour télécharger le sketch sur l’Arduino, assurez-vous que la bonne carte Arduino est sélectionnée sous Outils → Carte et que le bon port série est sélectionné sous Outils → Port série.

Editeur web Arduino

Contexte : J’ai tendance à utiliser mon Arduino pour effectuer des tâches qui doivent être exécutées une fois par cycle d’alimentation. (Par exemple, mon robot ne doit avancer qu’une fois à chaque fois que je l’allume – plus que ça, et il pourrait tomber de la table).

À toutes fins utiles, les deux options sont totalement identiques. Dans les deux cas, vous obtenez une boucle vide de type busy-wait. Franchement, je m’attendrais à ce que les deux options différentes émettent probablement le même code machine de toute façon, donc tout cela n’est pas un problème.

if (serialEventRun) serialEventRun() ; semble être une facilité pour vous permettre d’attacher une fonction qui est appelée à la réception de données série, mais si vous ne définissez pas une fonction void serialEvent(){} dans votre code, elle sera complètement supprimée à la compilation et ne sera pas présente dans le code machine produit.

  Comment faire une boucle IF sur Arduino?

Vous pouvez jeter un coup d’oeil à cet article qui montre comment gérer les modes de sommeil à partir de vos sketches Arduino ; il fait plus que mettre l’Atmel en veille mais c’est une bonne (et simple) lecture si vous voulez jouer avec les modes de sommeil.