Kit pour débutant Cars V2

Au secours !!!

ou plutôt bonjour :slight_smile:

je n'arrive pas à modifier la vitesse d'avance du robot, ci dessous le code modifier pour diminuer la vitesse mais il n'y a plus que les roue de droite qui tourne! moin vite certe! mais c'set pas le but !

//digitalWrite(ENA,HIGH);
analogWrite(ENA,150);
//digitalWrite(ENB,HIGH);
analogWrite(ENB,150);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
Serial.println("go forward!");

Est-ce que quelqu'un pourrais m'expliquer ou je foire ??

Merci bcp!

bonjour,

pour pouvoir t'aider de la meilleur des façon, il faudrait que tu post le code complet et que tu nous précise ton montage.

:wink:

Il s'agit du kit complet vendu par elegoo sous le nom de Kit voiture Robot V2.0

et le code complet est ci dessous, il fonctionne, mais trop vite... j'ai donc juste voulu changer la vitesse en remplaçant les 2 lignes en commentaires par la ligne juste en dessous et, bardaff c'est l'embardée, quand je lui demande d'avancer, y'a plus que les 2 roues droites qui roule à la vitesse souhaitée...

#include <IRremote.h>

#define F 16736925
#define B 16754775
#define L 16720605
#define R 16761405
#define S 16712445
#define UNKNOWN_F 5316027
#define UNKNOWN_B 2747854299
#define UNKNOWN_L 1386468383
#define UNKNOWN_R 553536955
#define UNKNOWN_S 3622325019

int RECV_PIN = 12;
int in1=6;
int in2=7;
int in3=8;
int in4=9;
int ENA=5;
int ENB=11;
int ABS=100;

IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long val;

void _mForward()
{ 
//digitalWrite(ENA,HIGH);
 analogWrite(ENA,150);
//digitalWrite(ENB,HIGH);
 analogWrite(ENB,150);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 Serial.println("go forward!");
}
void _mBack()
{
 digitalWrite(ENA,HIGH);
 digitalWrite(ENB,HIGH);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW);
 Serial.println("go back!");
}
void _mleft()
{
 analogWrite(ENA,ABS);
 digitalWrite(ENB,HIGH);
 digitalWrite(in1,HIGH);
 digitalWrite(in2,LOW);
 digitalWrite(in3,HIGH);
 digitalWrite(in4,LOW); 
 Serial.println("go left!");
}
void _mright()
{
 analogWrite(ENA,ABS);
 digitalWrite(ENB,HIGH);
 digitalWrite(in1,LOW);
 digitalWrite(in2,HIGH);
 digitalWrite(in3,LOW);
 digitalWrite(in4,HIGH);
 Serial.println("go right!");
}
void _mStop()
{
 digitalWrite(ENA,LOW);
 digitalWrite(ENB,LOW);
 Serial.println("STOP!");  
}

void setup() {
 pinMode(in1,OUTPUT);
 pinMode(in2,OUTPUT);
 pinMode(in3,OUTPUT);
 pinMode(in4,OUTPUT);
 pinMode(ENA,OUTPUT);
 pinMode(ENB,OUTPUT);
 _mStop();
 irrecv.enableIRIn();  
 Serial.begin(9600);
}

void loop() {
 if (irrecv.decode(&results)){ 
   val = results.value;
   Serial.println(val);
   irrecv.resume();
   switch(val){
     case F: 
     case UNKNOWN_F: _mForward();break;
     case B: 
     case UNKNOWN_B: _mBack(); break;
     case L: 
     case UNKNOWN_L: _mleft(); break;
     case R: 
     case UNKNOWN_R: _mright();break;
     case S: 
     case UNKNOWN_S: _mStop(); break;
     default:break;
   }
 }
}

je suis dégouter dans le code fourni avec la bête pour utiliser le capteur ultrasons, ils ont la même fonction que moi et là ça marche ...

je comprend pas...

:confused:

Désolé, infobarquee, ta capture d'écran n'apparaissait pas donc je n'avais pas compris.

Merci