Outils pour utilisateurs

Outils du site


issue96:arduino

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue96:arduino [2015/05/12 13:55] d52frissue96:arduino [2015/05/15 16:08] (Version actuelle) auntiee
Ligne 18: Ligne 18:
 #define MAX_DISTANCE 200** #define MAX_DISTANCE 200**
  
-Donc, nous allons poursuivre l'article du mois dernier en ajoutant le sonar au circuit.+Bon. Nous allons poursuivre le travail du mois dernier en ajoutant le sonar au circuit.
  
-nouveau, ils sont bon marché mais assez puissants et aussi, comme nous allons le voir, plutôt précis.+À nouveau, ils sont bon marchémais assez puissants et aussi, comme nous allons le voir, plutôt précis.
  
-Le capteur que j'ai a 5 picots. Certains n'en ont que quatre, car, même le mien n'en utilise que quatre. Le 5V est sur un picot, la masse sur un autre. Les deux autres sont pour l'écho et le seuil. Le mien est câblé comme sur le schéma.+Le capteur que j'ai a 5 picots. Certains n'en ont que quatre, car, même sur le mien, seulement quatre servent. Le 5 V est sur un picot, la masse sur un autre. Les deux autres sont pour l'écho et le seuil. Le mien est câblé comme sur le schéma.
  
 Avec le code vu le mois dernier (http://pastebin.com/UYQe58xB), nous pouvons maintenant mesurer une distance et l'afficher sur l'écran couleur. Avec le code vu le mois dernier (http://pastebin.com/UYQe58xB), nous pouvons maintenant mesurer une distance et l'afficher sur l'écran couleur.
  
-Nous pouvons voir une vidéo du module en pleine action ici : https://www.youtube.com/watch?v=Tbg-qyeJM6U. Comme vous pouvez le constater avec la règle (dans la vidéo), c'est assez précis.+Il y a une vidéo du module en pleine action ici : https://www.youtube.com/watch?v=Tbg-qyeJM6U. Comme vous pouvez le constater avec la règle (dans la vidéo), c'est très précis !
  
 Permettez-moi de passer en revue quelques lignes de code avec mes notes et mes réflexions : Permettez-moi de passer en revue quelques lignes de code avec mes notes et mes réflexions :
Ligne 49: Ligne 49:
  
 Maybe this one caught you out last month:** Maybe this one caught you out last month:**
 +
 +Les trois define se comprennent d'eux-mêmes. Trois et cinq sont les picots de l'Arduino et la distance maximum est en centimètres. Certains tests de ces matériels les font détecter une cible à plus de 400 cm de distance !
 +
 +Dans la boucle principale, main loop() :
 +
 +L'entier uS est déclaré égal à la détection sonar en centimètres. Il existe aussi une commande sonar.ping_in() pour les pouces (inches).
 +int uS = sonar.ping_cm();
 +
 +Nous réglons la couleur (comme on l'a fait le mois dernier) mais ici, nous changeons de police :
 +myGLCD.setFont(SevenSegNumFont);
 +
 +La ligne ci-dessous vous a peut-être causé des soucis le mois dernier :
  
 **myGLCD.print(String(uS)+String(" "), LEFT, 24); **myGLCD.print(String(uS)+String(" "), LEFT, 24);
Ligne 61: Ligne 73:
  
 This prints the number in uS (but as a string) to the screen, puts a space after it, and prints it aligned left at line 24. Why a space? Well, when you run it, you’ll see that, without the space, it leaves the old number behind and you can end up going from 13 to 93. It actually means 9 but has only overwritten the 1 from the 13 leaving the three behind. It’s a bad botch, I admit, but that’s why I’m an amateur at this!** This prints the number in uS (but as a string) to the screen, puts a space after it, and prints it aligned left at line 24. Why a space? Well, when you run it, you’ll see that, without the space, it leaves the old number behind and you can end up going from 13 to 93. It actually means 9 but has only overwritten the 1 from the 13 leaving the three behind. It’s a bad botch, I admit, but that’s why I’m an amateur at this!**
 +
 +myGLCD.print(String(uS)+String(" "), LEFT, 24);
 +
 +La comprendre m'a demandé un peu de temps. Quand j'utilisais :
 +
 +myGLCD.print(uS, LEFT, 24);
 +
 +j'avais toutes sortes d'erreurs de chaînes de caractères. Il s'avère (apparemment) qu'il vaut mieux convertir l'entier en chaîne de caractères avant de l'imprimer ; aussi, la ligne est maintenant :
 +
 +myGLCD.print(String(uS)+String(" "), LEFT, 24);
 +
 +Ceci imprime à l'écran le nombre dans uS (mais comme une chaîne de caractères) suivi d'une espace, sur la ligne 24, avec alignement à gauche. Pourquoi une espace ? Eh bien, quand vous le lancerez, vous verrez que, sans l'espace, il abandonne la vieille valeur et vous pouvez finir par voir passer les nombres de 13 à 93. En fait, il veut dire 9, mais il n'a écrasé que le 1 du 13, en laissant le 3. J'ai fait une affreuse bévue, j'en conviens, mais c'est parce que je ne suis qu'un amateur dans ce domaine !
issue96/arduino.1431431705.txt.gz · Dernière modification : 2015/05/12 13:55 de d52fr