Étape 2: programmation
L’idée derrière le programme consiste à effectuer une lecture du potentiomètre (ou autre capteur analogique), faites une lecture de la position des vérins et comparez-les. S’ils sont différents, sortir/rentrer le vérin pour mettre en correspondance. Nous allons utiliser la fonction map(), pour simplifier la comparaison.
La fonction map() utilise une plage de valeurs et les convertit à une autre plage.
Par exemple : Dire que votre capteur donne une entrée de 0-1023. Mais, l’actionneur donne une rétroaction de 400-600. Vous utiliserez la fonction map() sur la rétroaction du potentiomètre, de supprimer la plage de 0-1023 à 400-600. Cela permet d’avoir une comparaison plus facile à votre capteur. L’autre option est d’augmenter la gamme de l’actionneur, de 400-600 jusqu'à 0-1023. La fonction ressemblerait : carte (variable, 400,600,0,1023) ;
Si vous déposez un signal, vous perdrez en précision. Si le capteur donne des valeurs de 0-1000, et vous le déposez à 400-600, vous passez d’une plage de 1 000 points en une fourchette de 200 points. Qui va faire le pire de la précision d’un facteur 5. Le capteur devra changer 5 fois, de 200, 201, 202, 203, 204, 205 avant que ça change de 440 à 441. Si vous avez une demande précise, cela peut poser un problème, mais pour la plupart des cas, il devrait être OK.
Voici le code avec des commentaires expliquant chaque partie, le code est également joint :