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 63 : |
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 71 : |
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 == |