/* Ex54 ECE - Programme pour principe d'un joystick - Numérise la tension Uca présente entre le curseur C d'un potentiomètre et la borne A reliée à la masse du montage, appliquée entre l'entrée analogique A0 et la masse GND. Affiche la valeur de Uca dans le moniteur série. Calcule la position angulaire du bouton du curseur du potentiomètre (entre 0° et 300°) et calcule la position angulaire de la manette du joystick (entre -30° min et 30° maxi) */ void setup() { // La fonction setup s'exécute une seule fois au démarrage ou si on réinitialise la carte. Serial.begin(9600); // Initialise la communication série avec un débit de 9600 bits/s. } void loop() { // La fonction loop est une boucle infinie qui tourne en permanence. float Uca = float(analogRead(A0))*5/1023 ; // Calcul de la tension numérisée Uca. int alpha = int(Uca*300/5); // Calcul de la position angulaire du potentiomètre. int posJoy = alpha /* - ..?.. */ ; // Calcul de la position angulaire du joystick. Serial.print("Uca = "); // Affichage de la tension numérisée Uca Serial.print(Uca); // en Serial.print(" V"); // V. Serial.print(" Position potentiometre : "); // Affichage de la position angulaire du potentiomètre Serial.print(alpha); // en Serial.print(" °"); // V. Serial.print(" position joystick : "); //if(posJoy >= .?. && posJoy <= .?.) { // Affichage de la position angulaire du joystick Serial.print(".?."); // en Serial.println(" °"); // °. //} else if(posJoy < .?. ) { // Traitement des dépassements de positions angulaires // Serial.println("inferieure a -30°"); // entre -30° mini //} else if(posJoy > .?. ) { // et // Serial.println("superieure a 30°"); // 30° maxi. //} delay(3000); }