BlueNova Posted October 26, 2015 Report Posted October 26, 2015 (edited) Pour n'importe quel système, il est important d'acquérir des données provenant de l'extérieur: Température, position, angle avec le sol, luminosité, bruit ambiant... Bref, ces données permettent le fonctionnement de système et surtout, son adaptation aux situations qu'il rencontre ou rencontrera.Sur Arduino, les données sont catégorisées en deux grandes parties : Les données numériques et analogiques.Toutes les données sont récupérées à partir de capteurs, branchés sur les broches de la carte Arduino.Les Données AnalogiquesCe type de données permet d'obtenir une valeur pouvant être un nombre, décimal, compris entre un minimal et un maximal.Pour des raisons techniques, la carte récupère une certaine tension, comprise entre 0 et 5 Volts. Elle convertit ensuite cette valeur directement pour obtenir un nombre, entier, compris entre 0 et 1023.Pour récupérer directement une donnée analogique, il suffit d'utiliser la méthode analogRead de la façon suivante :int val = analogRead(A0);Cette ligne de code stockera la valeur du capteur branché sur le port analogique A0. Par contre, à vous de savoir récupérer valeur physique derrière ce nombre.Par exemple, prenons le cas d'un capteur prenant la forme d'une règle, de longueur maximale de 5 centimètres , retournant la distance entre l’extrémité de la règle et un point bien précis. Si vous prenez comme point la même extrémité, la valeur reçue sera égale à 0. Mais si vous vous placez à 5 centimètres, soit la valeur maximale, vous obtiendrez... 1023. Un petit travail de conversion s'offre à vous, cela mérite une explication plus détaillée dans un prochain article.Les Données NumériquesCe sont des données qui, de façon générale, représente un état binaire (tout ou rien). On peut citer par exemple, l'état d'un bouton (Appuyé/Non appuyé), l'état d'une lampe (Allumée/Non allumée), etc.Sous Arduino, ces données prennent donc généralement deux valeurs: HIGH, qui correspond à l'état logique Haut, et LOW, qui correspond à l'état logique Bas.De plus, la récupération d'une donnée numérique est un petit peu plus délicate. Au préalable, il faut préciser de quelle façon on va utiliser le port associé au capteur, s'il s'agit d'une entrée, ou d'une sortie. Dans notre cas, il s'agit bien évidemment d'une entrée (on récupère la donnée, on ne l'envoie pas...)Il faut donc entrer dans la méthode setup la ligne de code suivante :pinMode(5, INPUT);À l'aide de pinMode, on indique à la carte que le port n°(D)5 est un INPUT, soit une entrée. Une fois cela fait, un peut utiliser dans la méthode loop ou setup le code suivant:int value = digitalRead(5);On aura donc, dans la variable value, le nombre numérique renvoyé par le capteur. Dans le cas d'un capteur tout ou rien, l'état haut sera représenté par le 1, l'état bas par le 0.Un autre type d'entrée existe pour les capteurs numériques: il s'agit du type INPUT_PULLUP. Nous détaillerons ce type d'entrée plus en détail dans un autre article.Au final, ces données sont toujours récupérées sous la forme d'un nombre.Mais alors, pourquoi faire une différence entre ces deux données ?Ces deux données, malgré leurs similtudes, n'ont rien en commun: il ne s'agit ni du même type de capteur, ni du même phénomène mesuré. Par exemple, pour l'exemple du bouton, on ne cherche à avoir que deux états, les états intermédiaires (40% appuyé, 10% appuyé, effleuré) ne nous intéressent pas, et la distinction entre ces deux types de données nous facilite grandement la tâche en programmation.Voilà, c'était une brève introduction à l'acquisition de données sous Arduino. Avec ça, vous pouvez faire le minimum dans la gestion de données de capteurs Edited October 26, 2015 by BlueNova Arges, Gameuse Foxy Kooky, GameuseGab and 1 other 4
Gameuse Muse Posted October 27, 2015 Report Posted October 27, 2015 Un article super intéressant et bien expliqué ! Je pense que ça en éclairera plus d'un dans ce domaine, à commencer par moi !
SkyZz Posted October 27, 2015 Report Posted October 27, 2015 Bien que ce domaine ne me plait pas, le sujet est très bien expliqué !
Albatorth84 Posted October 27, 2015 Report Posted October 27, 2015 Clair,net et précis ! Merci pour ton post très intéressant!
Plasminds Posted October 27, 2015 Report Posted October 27, 2015 Il est bon de connaître la différence entre ces deux types de données, merci de ton sujet. J'aurais ça de moins à expliquer xD
acardego Posted February 1, 2016 Report Posted February 1, 2016 je suis d accord avec toki AI DAI MOI !!! 1
MrPonyTimez Posted March 5, 2016 Report Posted March 5, 2016 Très bonne explication ami bidouilleur électronique
Gameuse Foxy Kooky Posted September 1, 2016 Report Posted September 1, 2016 merci pour le topic même si ce n'est absolument pas mon domaine j'ai réussi à comprendre quelques petites choses
mr86 Posted July 17, 2017 Report Posted July 17, 2017 moi perdu ; comprend pas tous voir rien avec tous ca
LOLILOL07 Posted December 20, 2019 Report Posted December 20, 2019 Moi non plus, j'y comprends pas grand chose, mais bon ...
ziiii Posted January 4, 2020 Report Posted January 4, 2020 Bien que ce domaine ne me plait pas, le sujet est très bien expliqué !
ziiii Posted January 6, 2020 Report Posted January 6, 2020 Le ٤/١/٢٠٢٠ à 22:01, ziiii a dit : على الرغم من أنني لا أحب هذا المجال ، فقد تم شرح الموضوع جيدًا! Dafont Showbox Adam4adam
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now