Hi, sorry if I have not chosen correctly the topic of my problem. The thing is that I am testing with my line follower, made with Arduino UNO. I made the code, also the wiring and the whole thing. Now, the problem is that when I go to turn it on, directly the wheels don't move even though the sensors and everything else seems to be in correct operation.
I attach my code, maybe someone can tell me why it happens as it happens (I already did a basic check to detect the problem, I checked if things were well connected and so on, but maybe I missed something).
//Motor izquierdo
int in1 = 5;
int in2 = 6;
int ena = 10;
//Motor derecho:
int in3 = 4;
int in4 = 3;
int enb = 11;
//Sensor izquierdo
int sensorizquierdo = A1;
int senizq;
//Sensor derecho
int sensorderecho = A0;
int sender;
//Velocidad lineal
int velolineal = 190;
//Velocidad de giro
int velogiro = 190;
//Umbral de los visores
int umizq = 550;
int umder = 550;
void setup()
{
pinMode (in1, OUTPUT);
pinMode (in1, OUTPUT);
pinMode (in3, OUTPUT);
pinMode (in4, OUTPUT);
pinMode (ena, OUTPUT);
pinMode (enb, OUTPUT);
Serial.begin(9600);
}
void loop(){
lectura();
if (sensorizquierdo>umizq &&
sensorderecho>umder){
adelante();
}else if (sensorizquierdo<umizq &&
sensorderecho<umder){
frenar();
}else if (sensorizquierdo>umizq &&
sensorderecho<umder){
izq();
}else if (sensorizquierdo<umizq &&
sensorderecho>umder){
der();
}else if (sensorizquierdo>umizq &&
sensorderecho<umder){
}
}
void lectura(){
senizq= analogRead (sensorizquierdo);
sender= analogRead (sensorderecho);
}
void adelante()
{
//motor izquierdo
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
analogWrite(ena,velolineal);
//motor derecho
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
analogWrite(enb,velolineal);
}
void frenar()
{
//motor izquierdo
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
analogWrite(ena,velolineal);
//motor derecho
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
analogWrite(enb,velolineal);
}
void der()
{
//motor izquierdo
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
analogWrite(ena,velogiro);
//motor derecho
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
analogWrite(enb,velogiro);
}
void izq()
{
//motor izquierdo
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
analogWrite(ena,velogiro);
//motor derecho
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
analogWrite(enb,velogiro);
}