Étape 2: Étape 2: Codes Arduino
Voici les codes pour l’étalonnage de ce genre de potentiomètre.
/*
Date:---22 décembre 2015
Titre:---JOYSTICK CALIBRATION de potentiomètre
Auteur:---Par Firas Helou---
Apprenez comment étalonner un potentiomètre de levier de commande avec Arduino Uno
*/
int defaultData ; Définissant une variable de données potentiomètre par défaut au démarrage
données int ; Variable pour stocker les données lire sur la goupille de Arduino analogique A0 venant du potentiomètre
startTime int = 0 ; Type de données de la variable temps est défini comme entier parce que nous n’avez pas besoin de plus de 10 //microseconds
int TimeGap = 10 ; Définir l’intervalle de temps
remap int ; Remapper variable pour stocker les données de remaped provenant de la goupille de Arduino analogique A0
VOID SETUP() FONCTION
void setup() {}
Définition de communication série en cas de défaut
Serial.Begin(9600) ;
Nous avons mis le temps de définir la valeur par défaut lue sur la goupille de Arduino analogique A0, parce que nous avons une épingle joystick centré, //so sa valeur par défaut est différent de 0
Si (micros() - startTime > = TimeGap) {}
Potentiomètre connecté à Arduino analogique
defaultData = analogRead(A0) ;
}
}
VOID LOOP() FONCTION
void loop() {}
Nous définissons la valeur de données égale l’un lecture sur la goupille de Arduino analogique A0
données = analogRead(A0) ; Dans ce cas, la valeur par défaut lue au démarrage est 488
Si (données < defaultData + 1) {}
Nous devons redéfinir la valeur de données lue sur la goupille de Arduino analogique A0 à une valeur inférieure comprise entre 0 et 255
mais nous devons soustraire 1 de la valeur par défaut, parce que si nous n’avons pas, nous n’aurons pas de valeur par défaut est 0 lorsque la position de //stick est centrée
au lieu de cela, nous aurons une valeur flottante entre 1 et 0
donc pour éviter ce problème flottant nous simplement soustraire - 1
remap = carte (données, defaultData 0, - 1, 255, 0) ;
} ElseIf (données > = defaultData) {}
Dans cette partie, il ne faut pas soustraire quoi que ce soit
remap = carte (données, defaultData, 1023, 0, 255) ;
}
Les valeurs que nous recevons d’impression série
Serial.Print ("remappé valeur:") ;
Serial.println(REMAP) ;
Serial.Print ("valeur par défaut:") ;
Serial.println(defaultData) ;
Delay(200) ;
}
Disons que j’ai choisi l’axe y, en téléchargeant le code et ouvrir le moniteur de la série, nous devons voir une valeur par défaut de 488 dans mon cas (vous pourriez obtenir une valeur différente). Il s’agit de la position de ralenti centrée pour le stick donc nous devons calibrer pour voir la valeur 0 au lieu de 488 dans un premier temps. Et c’est là ce croquis entrent en place. La photo ci-dessus montre les résultats qui i a reçu après que j’ai téléchargé le dernier croquis ci-dessus.
Il s’agit de mon premier tutoriel instructable. J’espère que cela vous permettrait en quelque sorte. N’hésitez pas à ajouter vos questions dans la section commentaires si vous avez un ou si vous avez une meilleure façon de le codage, il serait bien de le vérifier, ce qui pourrait m’aider à m’améliorer. Si vous trouvez des domaines où des améliorations peuvent avoir lieu dans cette s’il vous plaît ajoutez-le dans les commentaires ou m’envoyer un message privé. Il sera utile pour d’autres comme pour moi.