1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
/* LOOP */
void loop() {
//Lire la position des manches
tensionVoie1 = analogRead(potarVoie1);
tensionVoie2 = analogRead(potarVoie2);
tensionVoie3 = analogRead(potarVoie3);
tensionVoie4 = analogRead(potarVoie4);
//Transformation de la tension en valeur digitale
voie1 = map(tensionVoie1, 0, 1023, 0, 180);
voie2 = map(tensionVoie2, 0, 1023, 0, 180);
voie3 = map(tensionVoie3, 0, 1023, 0, 180);
voie4 = map(tensionVoie4, 0, 1023, 0, 180);
//Mixage voie 1 et voie 2
//x=cos(voie1)sin(voie2) et y=sin(voie2)
int cosVoie1 = cos(voie1) * 100;
int sinVoie2 = sin(voie2) * 100;
voie1 = (cosVoie1 * sinVoie2) / 100;
voie2 = sinVoie2;
//Lire la position des boutons
//Si le bouton de la voie 5 est en haut
if(digitalRead(btnVoie5Up) == HIGH) {
//La valeur digitale sera de 0
voie5 = 0;
}
//Si le bouton de la voie 5 est en bas
if(digitalRead(btnVoie5Do) == HIGH) {
//La valeur digitale sera de 180
voie5 = 180;
}
//Si le bouton 5 est au centre
if(digitalRead(btnVoie5Up) == LOW && digitalRead(btnVoie5Do) == LOW) {
//La valeur digitale sera de 90
voie5 = 90;
}
//Si le bouton de la voie 6 est en haut
if(digitalRead(btnVoie6Up) == HIGH) {
//La valeur digitale sera de 0
voie6 = 0;
}
//Si le bouton de la voie 6 est en bas
if(digitalRead(btnVoie6Do) == HIGH) {
//La valeur digitale sera de 180
voie6 = 180;
}
//Si le bouton 6 est au centre
if(digitalRead(btnVoie6Up) == LOW && digitalRead(btnVoie6Do) == LOW) {
//La valeur digitale sera de 90
voie6 = 90;
}
//Initialiser la trame
trame = "";
//Crée la trame
trame += voie1; //Voie 1
trame += ","; //Séparateur
trame += voie2; //Voie 2
trame += ","; //Séparateur
trame += voie3; //Voie 3
trame += ","; //Séparateur
trame += voie4; //Voie 4
trame += ","; //Séparateur
trame += voie5; //Voie 5
trame += ","; //Séparateur
trame += voie6; //Voie 6
//Transmission de la trame sur le récepteur
Serial1.print(trame);
//Ecrire à l'écran des infos
ecrireLcd(trame, 01); //Ecrire
//Pause 90ms
delay(90);
//Effacer l'écran
clearLcd(); //Effacer l'écran
} |
Partager