Table des matières:

Moniteur série Arduino dans Tinkercad : 7 étapes (avec photos)
Moniteur série Arduino dans Tinkercad : 7 étapes (avec photos)

Vidéo: Moniteur série Arduino dans Tinkercad : 7 étapes (avec photos)

Vidéo: Moniteur série Arduino dans Tinkercad : 7 étapes (avec photos)
Vidéo: Master a Tinkercad LCD in Minutes! Fun, Fast and Full of Sweet Skills! 2024, Juillet
Anonim
Moniteur série Arduino dans Tinkercad
Moniteur série Arduino dans Tinkercad

Projets Tinkercad »

Garder une trace de tout ce qui se passe dans votre programme peut être une bataille difficile. Le moniteur série est un moyen d'écouter ce qui se passe dans votre code en le signalant à l'ordinateur via le câble USB. Dans le simulateur Tinkercad Circuits, le moniteur série se trouve au bas du panneau Code et peut également être utilisé pour représenter graphiquement les variables à mesure qu'elles changent. Utilisez le moniteur série pour "parler" à l'ordinateur afin de vérifier si le code Arduino fait ce que vous vouliez. Cela peut être très utile pour résoudre des problèmes avec votre code (appelé « débogage en série »).

Les deux circuits de cette leçon utilisent les mêmes configurations que les deux leçons précédentes sur l'entrée numérique avec un bouton poussoir et l'entrée analogique avec un potentiomètre. Les seules différences sont que ces circuits sont câblés librement (pas de maquette) et n'ont pas de LED externe câblée. Oh, et ils exécutent du code pour générer des messages en série, ce que nous verrons dans cette leçon.

Vous pouvez suivre virtuellement en utilisant Tinkercad Circuits. Vous pouvez même voir cette leçon depuis Tinkercad (connexion gratuite requise) ! Explorez l'exemple de circuit et créez le vôtre juste à côté. Tinkercad Circuits est un programme gratuit basé sur un navigateur qui vous permet de créer et de simuler des circuits. Il est parfait pour l'apprentissage, l'enseignement et le prototypage.

Étape 1: Impression sur le moniteur série avec des blocs

Image
Image

Utilisons l'éditeur de blocs de code pour écouter une broche d'entrée Arduino, puis imprimons la valeur (analogique) ou l'état (numérique) de l'entrée dans la fenêtre Serial Monitor. Cliquez sur le bouton "Code" pour ouvrir le panneau de code.

Cliquez sur Serial Monitor en bas du panneau de code.

Cliquez sur "Démarrer la simulation" pour exécuter l'exemple de code Arduino et observez les numéros dans le moniteur série lorsque vous interagissez avec le potentiomètre. Vous pouvez cliquer d'avant en arrière entre les deux Arduinos pendant que la simulation s'exécute dans Tinkercad Circuits, mais seul le circuit analogique s'affichera dans le module intégré ci-dessus.

Après avoir dupliqué l'exemple de circuit dans votre compte Tinkercad, vous pouvez modifier le code. Accédez à la catégorie Code de sortie, puis faites glisser un bloc "Imprimer sur un moniteur série" et placez-le juste avant le bloc série déjà présent dans le programme.

Modifiez le texte par défaut pour étiqueter vos données de série, telles que « capteur: » (n'oubliez pas l'espace après les deux points), et ajustez le menu déroulant pour imprimer sans nouvelle ligne.

Démarrez la simulation et observez le changement dans le moniteur série. Vous pouvez empiler des blocs série comme celui-ci pour créer des messages de retour utiles lors du développement de n'importe quel code de projet.

Étape 2: Explication du code Arduino du moniteur série

Image
Image

Lorsque l'éditeur de code est ouvert dans Tinkercad Circuits, vous pouvez cliquer sur le menu déroulant à gauche et sélectionner "Blocs + Texte" pour révéler le code Arduino généré par les blocs de code (non disponible dans le module intégré à la première étape). Ce code envoie des données de l'Arduino au moniteur série, mais dans une leçon ultérieure, vous pourrez également apprendre à recevoir des données du moniteur série et une communication série bidirectionnelle.

/*

DigitalReadSerial Lit une entrée numérique sur la broche 2, imprime le résultat sur le moniteur série Cet exemple de code est dans le domaine public. */

Avant le

mettre en place()

on peut voir un commentaire sur plusieurs lignes qui commence par

/*

et se termine par

*/

int buttonState = 0;

Au tout début de notre programme, nous allons créer une variable pour conserver l'état de l'entrée.

void setup()

{ pinMode(2, INPUT); Serial.begin(9600); }

À l'intérieur de la configuration, tout comme dans les leçons d'entrée analogique et numérique, la broche connectée au commutateur ou au capteur est configurée pour être une entrée utilisant le

pinMode()

fonction. Pour pouvoir envoyer des messages, l'Arduino doit ouvrir un nouveau canal de communication avec

Serial.begin()

. C'est comme appuyer sur le bouton d'appel d'un téléphone: à partir de ce moment, vous ouvrez une ligne de communication pour l'appel. L'argument indique à l'Arduino à quelle vitesse communiquer, par exemple 9600 bits par seconde (aka baud).

boucle vide()

{ // lit la broche d'entrée buttonState = digitalRead(2); // affiche l'état du bouton Serial.print("sensor: "); Serial.println(buttonState); retard(10); // Retarder un peu pour améliorer les performances de la simulation }

Le code à l'intérieur de la boucle lit l'état de l'entrée avec digitalRead() et le stocke dans la variable buttonState. Ensuite, une fonction appelée

Serial.println()

envoie les données au moniteur (via le câble USB dans le cas d'une carte Arduino physique). Si vous avez apporté les modifications de blocs au programme à l'étape précédente, vous aurez également un

Serial.print()

ligne de code.

imprimer

envoie une nouvelle ligne après le message, et

imprimer

ne fait pas. Utilisez des guillemets autour des étiquettes de texte, par exemple

Serial.print("sensor: ");

. Si vous souhaitez créer une seule ligne de sortie de débogage série, vous pouvez utiliser plusieurs

Serial.print()

commandes suivies d'un seul

Serial.println()

Étape 3: Le débogueur de code

Image
Image

Il existe une fonction spéciale dans Tinkercad Circuits appelée le débogueur. Il parcourt votre code et vous permet d'examiner vos variables et plus encore.

Avec l'éditeur de code ouvert, recherchez le débogueur en cliquant sur le bouton avec l'icône de bogue.

En mode Blocs + Texte (ou en mode Texte uniquement, si vous préférez), cliquez sur un numéro de ligne pour ajouter un point d'arrêt, où le débogueur s'arrêtera à chaque fois dans la boucle.

Lancez la simulation.

Survolez les variables pendant la pause pour voir leurs valeurs.

Étape 4: Démarreurs de circuits série de base

Démarreurs de circuits série de base
Démarreurs de circuits série de base

Ces circuits sont disponibles en tant que démarreurs de circuits. Vous pouvez utiliser ces démarreurs de circuit chaque fois que vous souhaitez lire une entrée numérique ou analogique et imprimer son état sur le moniteur série.

Saisissez les démarreurs de circuits Arduino dans le panneau des composants (menu déroulant -> Démarreurs -> Arduino).

Étape 5: Graphiquer les données série

Graphique des données série
Graphique des données série

Tinkercad Circuits dispose également d'un graphique intégré de vos données série, à condition que le flux ne contienne aucun texte. C'est pratique pour visualiser les changements dans les lectures des capteurs et d'autres entrées, ainsi que pour suivre les variables dans votre programme.

Avec le moniteur série ouvert, cliquez sur le bouton graphique pour ouvrir le panneau graphique. Supprimez le bloc d'étiquette de capteur que vous avez ajouté précédemment ou utilisez un nouveau démarreur série Arduino pour créer un flux de données série sans texte.

Démarrez la simulation et interagissez avec l'entrée pour observer le changement des valeurs du graphique.

Étape 6: essayez-le avec un circuit physique Arduino (facultatif)

Image
Image

Vous avez la possibilité de créer un circuit physique pour accompagner ceci ou les leçons d'entrée numérique ou d'entrée analogique, puis utilisez le logiciel Arduino de votre ordinateur pour afficher les données série entrant via le câble USB. Pour programmer votre Arduino Uno physique, vous devrez installer le logiciel gratuit (ou le plugin pour l'éditeur Web), puis l'ouvrir.

Câblez le circuit Arduino Uno en branchant des composants et des fils pour qu'ils correspondent aux connexions illustrées ici dans Tinkercad Circuits. Pour une présentation plus approfondie de l'utilisation de votre carte physique Arduino Uno, consultez la classe gratuite Instructables Arduino (un circuit similaire est décrit dans la troisième leçon).

Copiez le code de la fenêtre de code Tinkercad Circuits et collez-le dans un croquis vide dans votre logiciel Arduino, ou cliquez sur le bouton de téléchargement (flèche vers le bas) et ouvrez

le fichier résultant à l'aide d'Arduino. Vous pouvez également trouver ces exemples dans le logiciel Arduino en naviguant vers Fichier -> Exemples -> 03. Analog -> AnalogInOutSerial ou Fichier -> Exemples -> 02. Digital -> DigitalInputPullup.

Branchez votre câble USB et sélectionnez votre carte et votre port dans le menu Outils du logiciel.

Téléchargez le code sur votre carte, puis cliquez sur l'icône en forme de loupe dans le coin supérieur droit pour ouvrir le moniteur série. Vérifiez que le débit en bauds correspond à celui de votre configuration

Serial.begin (9600)

Appuyez sur le bouton-poussoir ou tournez le bouton et regardez les chiffres changer dans la fenêtre Serial Monitor.

Étape 7: Ensuite, essayez…

Ensuite, essayez…
Ensuite, essayez…

Maintenant que vous avez appris à imprimer sur le moniteur série, vous êtes prêt à tester de nouveaux types de capteurs numériques et analogiques, et également à apprendre à lire les données série entrantes (entrée au clavier de l'utilisateur).

Pouvez-vous composer un seul circuit et programme qui imprime à la fois les entrées analogiques et numériques présentées dans cette leçon ?

Voici un lien vers le circuit illustré et son code Arduino:

int int buttonState = 0;

int sensorValue = 0; void setup() { pinMode(2, INPUT); pinMode (A0, ENTREE); Serial.begin(9600); } void loop() { // lit la broche d'entrée buttonState = digitalRead(2); // lecture de l'entrée sur la broche analogique 0: sensorValue = analogRead(A0); // affiche les valeurs sur le moniteur série Serial.print(buttonState); Serial.print(", "); Serial.println(sensorValue); retard(10); // Retarder un peu pour améliorer les performances de la simulation }

Continuez pour essayer un nouveau capteur et combinez les entrées et les sorties, par exemple dans la leçon de graphique à barres LED de capteur de température, la leçon de capteur de mouvement PIR ou la leçon de photorésistance. (à venir). Utilisez le clavier de votre ordinateur pour envoyer des données série à votre Arduino et interprétez-les avec

Serial.read()

(leçon à venir).

Vous pouvez également acquérir plus de compétences en électronique avec les cours gratuits Instructables sur Arduino, l'électronique de base, les LED et l'éclairage, l'impression 3D, etc.

Conseillé: