BlueNova Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 (modifié) 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 Modifié le 26 octobre 2015 par BlueNova GameuseGab, Gameuse Foxy Kooky, Darlok et 1 autre 4
Gameuse Muse Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 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 Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Bien que ce domaine ne me plait pas, le sujet est très bien expliqué !
Albatorth84 Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Clair,net et précis ! Merci pour ton post très intéressant!
Plasminds Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 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 Posté(e) le 1 février 2016 Signaler Posté(e) le 1 février 2016 je suis d accord avec toki AI DAI MOI !!! 1
MrPonyTimez Posté(e) le 5 mars 2016 Signaler Posté(e) le 5 mars 2016 Très bonne explication ami bidouilleur électronique
Gameuse Foxy Kooky Posté(e) le 1 septembre 2016 Signaler Posté(e) le 1 septembre 2016 merci pour le topic même si ce n'est absolument pas mon domaine j'ai réussi à comprendre quelques petites choses
Invité Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 Hmmmmm je comprend pas trop trop
mr86 Posté(e) le 17 juillet 2017 Signaler Posté(e) le 17 juillet 2017 moi perdu ; comprend pas tous voir rien avec tous ca
LOLILOL07 Posté(e) le 20 décembre 2019 Signaler Posté(e) le 20 décembre 2019 Moi non plus, j'y comprends pas grand chose, mais bon ...
ziiii Posté(e) le 4 janvier 2020 Signaler Posté(e) le 4 janvier 2020 Bien que ce domaine ne me plait pas, le sujet est très bien expliqué !
ziiii Posté(e) le 6 janvier 2020 Signaler Posté(e) le 6 janvier 2020 Le ٤/١/٢٠٢٠ à 22:01, ziiii a dit : على الرغم من أنني لا أحب هذا المجال ، فقد تم شرح الموضوع جيدًا! Dafont Showbox Adam4adam
Messages recommandés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant