Re: Le système Arduino
Publié : 17 nov. 2012 11:03
Salut
D'accord avec les autres...
C'est de l'art 
D'accord avec les autres...
Le Forum des sous-marins modèles réduits
https://www.forumsousmarin.fr/forum/
en Gros c'est cela, mais ce serait mieux que ce soit une condition qui face réagir ton cycleSinago86 a écrit : il y a juste a lui commander l'alimentation pour qu'elle fasse son cycle; alimentation qu'elle peut couper elle-même .
Code : Tout sélectionner
//initialisation des voies.
//7 et 8 sur ma radiocommande.
//voie 7 sur potentiomètre rotatif de ma futaba
//voie 8 sur un interrupteur 2 positions à retour automatique sur ma futaba
int mesure_voie7;
int mesure_voie8;
void setup() {
// choix des entrée d2 et d3 de l'arduino
pinMode(2, INPUT);
pinMode(3, INPUT);
// vitesse de transfert arduino sur le port série
Serial.begin(9600);
}
// boucle infinie
void loop() {
// mesure les fronts hauts du signal(pwm(carré)) émis sur les voies 7 et 8 du récepteur de la radiocommande vers les entrées d2 et d3 de l'arduino
mesure_voie7 = pulseIn(2, HIGH, 30000);
mesure_voie8 = pulseIn(3, HIGH, 30000);
// affiche sur le moniteur série du programme arduino les résultats
// les mesures de la voie 7 varie de 1190 au min à 1840 au max en passant par 1500 au milieu.
// les mesures de la voie 8 passe de 1090 interrupteur au repos à 1900 interrupteur enclenché.
Serial.print("mesure_voie7=");
Serial.println(mesure_voie7);
Serial.print("mesure_voie8=");
Serial.println(mesure_voie8);
delay(200);
}Code : Tout sélectionner
Angle_Servo7 = map(mesure_voie7, 1190, 1840, 45, 135); // Calibre des valeurs pour le servo voie 7 de 45° à 135°
Angle_Servo8 = map(mesure_voie8, 1090, 1900, 0, 180); // Calibre des valeurs pour le servo voie 8 de 0 à 180°
Que j'explique ce complément à map(). C'est le traitement logique de ce qui à été expliqué en code au dessus.-Si ça vaut moins de 45°
-Pin 1 = 1
-Pin2 = 0
-Pin3 = 0
-Si ça faut entre 45° et 135°
-Pin 1 = 0
-Pin2 = 1
-Pin3 = 0
-Si ça faut plus de 135°
-Pin 1 = 0
-Pin2 = 0
-Pin3 = 1