Modifications

Sauter à la navigation Sauter à la recherche
4 651 octets ajoutés ,  17 décembre 2015 à 09:12
Ligne 1 : Ligne 1 :  
{{ARDX-NAV}}
 
{{ARDX-NAV}}
   −
{{traduction}}
+
== Ce que nous faisons ==
 
  −
== Ce que faisons nous ==
   
{{bloc-etroit|text=Quel sera le prochain phénomène que nous allons mesurer avec notre Arduino ?  
 
{{bloc-etroit|text=Quel sera le prochain phénomène que nous allons mesurer avec notre Arduino ?  
   Ligne 21 : Ligne 19 :  
Ensuite, pour l'afficher nous allons utiliser la fenêtre de débogage, l'une des caractéristiques assez puissantes de notre IDE.  
 
Ensuite, pour l'afficher nous allons utiliser la fenêtre de débogage, l'une des caractéristiques assez puissantes de notre IDE.  
   −
Nous allons sortie la valeur à afficher au travers de la connexion série pour l'afficher sur l'écran. Allez, mettons nous au travail.
+
Nous allons sortie la valeur à afficher au travers de la connexion série pour l'afficher sur l'écran. Allez, mettons nous au travail.}}
 
  −
{{underline|Le moniteur série:}}
      +
=== Le moniteur série ===
 
Une petite note complémentaire, ce montage utilise le moniteur série de l'IDE d'Arduino.
 
Une petite note complémentaire, ce montage utilise le moniteur série de l'IDE d'Arduino.
   −
[[Fichier:circ10-moniteur-serie.png|250px]]
+
[[Fichier:circ10-moniteur-serie.png]]
   −
Pour l'ouvrir, chargez d'abord le programme et cliquez ensuite sur le bouton qui ressemble à un carré avec une antenne.}}
+
Pour l'ouvrir, chargez d'abord le programme et cliquez ensuite sur le bouton qui ressemble à un carré avec une antenne.
    
== Le montage ==
 
== Le montage ==
Ligne 64 : Ligne 61 :     
{{ARDX-composant-end}}
 
{{ARDX-composant-end}}
 +
Tous ces éléments sont disponibles dans [http://shop.mchobby.be/product.php?id_product=11 le Kit Ardx proposé sur shop.mchobby.be].
    
=== Schéma ===
 
=== Schéma ===
Ligne 72 : Ligne 70 :     
== Le code ==
 
== Le code ==
xxx
+
Pas besoin de tout taper, vous pouvez télécharger le code depuis...
   −
  <nowiki>/* code */</nowiki>
+
[http://ardx.org/CODE10 ardx.org/CODE10]
 +
 
 +
Il ne reste plus qu'à le copier/coller dans une croquis vide.
 +
 
 +
  <nowiki>/* ---------------------------------------------
 +
* | Code d'exemple du kit d'expérimentation
 +
* |    Arduino
 +
* | CIRC-10 .: Température :.
 +
* ---------------------------------------------
 +
* Un programme simple qui affiche la température
 +
* actuelle dans la fenêtre de monitoring/débogage
 +
*/
 +
 
 +
// Variable pour broche du TMP36
 +
int temperaturePin = 0; // entrée analogique
 +
  // sur laquelle la broche Vout du TMP36 est
 +
  // connectée. La résolution est 10mv/degré
 +
  // centigrade avec 500 mV de décalage/offset
 +
  // pour permettre la lecture de température
 +
  // négative.
 +
 
 +
void setup() {
 +
  Serial.begin(9600); // Démarrer la connexion série avec l'ordinateur.
 +
      // Pour voir le le résultat, ouvrez le « moniteur série », le
 +
      // dernier bouton dans la barre d'outil.
 +
      // (celui qui ressemble à une boite ayant une antenne).
 +
}
 +
 
 +
void loop() { // s'exécute encore et encore
 +
  // Acquérir la tension lue sur le senseur de température.
 +
  float temperature = getVoltage(temperaturePin);
 +
 
 +
  // conversion de 10mV par degré avec un décalage (offset) de 500 mV.
 +
  //  Degrés = ((tension - 500mV) fois 100)
 +
  temperature = (temperature - .5) *100;
 +
 
 +
  Serial.println(temperature); //affiche résultat
 +
  delay(1000); // Attendre une seconde.
 +
}
 +
 
 +
/*
 +
* getVoltage() - retourne la tension d'une entrée analogique identifiée par 'pin'
 +
*/
 +
float getVoltage(int pin){
 +
  // Convertir valeur digital de 0 à 1024 vers une valeur entre 0 et 5 volts.
 +
  // (chaque unité lue vaut ~ 5 millivolts
 +
 
 +
  return (analogRead(pin) * .004882814);
 +
}</nowiki>
    
== Cela ne fonctionne pas? ==
 
== Cela ne fonctionne pas? ==
 
Voici 3 choses à essayer.
 
Voici 3 choses à essayer.
=== xxx 1 ===
+
=== Rien ne semble se passer? ===
yyyy
+
Ce programme ne présente pas de signe extérieur de son fonctionnement. Pour voir les résultats, vous devez ouvrir le moniteur série dans l'IDE Arduino.
 +
(voir instructions ci-dessus)
 +
 
 +
=== Affiche du charabia ===
 +
Cela arrive lorsque le moniteur série reçoit des données à une vitesse différente que la vitesse attendue.
   −
=== xxx 2 ===
+
Cliquez sur la liste déroulante affichant "*** baud" et la changer pour afficher "9600 baud" pour corriger.
yyyy
     −
=== xxx 3 ===
+
=== La température ne change pas ===
yyyy
+
Essayez de pincer le senseur entre vos doigts pour le chauffer un peu ou essayez de le refroidir avec un sac à glaçons.
    
== Faire encore mieux ==
 
== Faire encore mieux ==
=== zzz 1 ===
+
=== Afficher la tension ===
zzzz
+
C'est aussi simple que la modification d'une ligne.
 +
 
 +
Notre senseur retourne 10mv par degrés. Donc, pour obtenir la tension, nous affichons simplement le résultat de {{fname|getVoltage()}}.
 +
 
 +
Effacez la ligne suivante dans votre programme Arduino:
 +
 
 +
<nowiki>temperature = (temperature - .5) * 100;</nowiki>
 +
 
 +
=== Afficher la température en degré Fahrenheit ===
 +
Encore une fois, cela ne requière qu'une simple modification mathématique.
 +
 
 +
Nous utilisons la formule suivante pour passer de degrés C ---> degrés Fh :
 +
 
 +
<nowiki>( F = C * 1.8) + 32 )</nowiki>
 +
 
 +
Ajouter la ligne suivante...
 +
 
 +
<nowiki>temperature= (((temperature-.5)*100)*1.8) + 32;</nowiki>
 +
 
 +
Avant la ligne {{fname|Serial.println(temperature);}}
 +
 
 +
Vous devez obtenir un corps de programme qui ressemble a ceci:
 +
 
 +
<nowiki>  // Acquérir la tension lue sur le senseur de température.
 +
  float temperature = getVoltage(temperaturePin);
 +
 
 +
  // conversion de 10mV par degré avec un décalage (offset) de 500 mV.
 +
  // Et adaptation formule pour passer en degrés Fahrenheit
 +
  temperature= (((temperature-.5)*100)*1.8) + 32;
 +
 
 +
  Serial.println(temperature); //affiche résultat</nowiki>
 +
 
 +
=== Afficher plus d'information ===
 +
Ajoutons un message complémentaire pour rendre l'affichage plus compréhensif sur le moniteur série.
 +
 
 +
Pour y arriver il faut d'abord revenir au code original {{fname|Serial.println(temperature);}} et ensuite changer en
 +
 
 +
<nowiki>Serial.print(temperature);
 +
Serial.println(" degrees centigrade");</nowiki>
 +
 
 +
Le changement sur la première ligne indique que la prochaine sortie apparaîtra sur la même ligne, ensuite nous ajoutons un texte informatif incluant un retour à la ligne.
 +
 
 +
=== Changer la vitesse du port série ===
 +
Le temps devient important si vous désirez sortir beaucoup de données via le port série alors.
 +
 
 +
Nous transmettons actuellement les données à 9600 Bauds mais des vitesses bien plus élevées sont possibles.
 +
 
 +
Pour la modifier, changer la ligne {{fname|Serial.begin(9600);}} en {{fname|Serial.begin(115200);}}
 +
 
 +
Chargez le sketch, démarrez le moniteur série et modifiez ensuite la vitesse de 9600 baud à 115200 bauds dans la boîte déroulante.
 +
 
 +
Maintenant, vous transmettez les données 12 fois plus vite.
    
== Plus, plus et encore plus ==
 
== Plus, plus et encore plus ==
29 910

modifications

Menu de navigation