Nouveaux !
Voila, j'ai relié le 'signal' d'un pont diviseur(n'ayant pas encore de potar), sur une pin analogique. La valeur est ensuite reétaloné (map) et sert a definir la vitesse du robot. Je ne met que les bout qui nous interresse.
int vitesse1 = 6, vitesse2 = 5;
int direction1 = 7, direction2 = 4;
void loop()
{
IR_D = analogRead(0); //capteur ir droit
IR_G = analogRead (1); // capteur ir gauche
C_us.requestMeasurementOrTimeout(1, distance); // capteur us
//************************theroriquement les 3 lignes ci dessous sont juste
int vitAj = analogRead(2);
vitAj = map (vitAj,0,1024,0,255);
Serial.println(vitAj, DEC);
if (distance <= 400 && IR_D > 240 && IR_G > 240)
{
MoteurD (0,true);
MoteurG (0,true);
delay(50);
MoteurD (vitAj -=20, false); // moteurD (pwm, direction) mais ici (vitAj-=20) ne fait pas sont travaille.
MoteurG (vitAj -=20, true);
delay (500); }
//*************controle moteur*************//
void MoteurD (int pwm, boolean sens_a)
{ analogWrite (vitesse1, pwm);
if (sens_a)
{ digitalWrite(direction1, HIGH); }
else
{digitalWrite(direction1, LOW); } }
void MoteurG (int pwm, boolean sens_a)
{ analogWrite (vitesse2, pwm);
if (sens_a)
{ digitalWrite(direction2, HIGH); }
else
{digitalWrite(direction2, LOW); }}
Ceci est une partie du code ...
Ca devrai etre tous bete, c'est pas la premiere fois que je veux faire reagir une sortie digital en fonction d'une entré analogique.
Ma valeur est bien reétalonner, mais les moteurs ne reagissent pas en fonction...
Faudrai il changé le (int pwm, boolean sens_a) ? Par (int vitAJ, boolean sens_a) ??
Merci de votre aide.
Cdlt, Fabi1
Probleme resolu