/infrarojo
int INFRA=A5;
int nomesaquenqlos;
int INFRA2=A4;
int nomesaquenqlos2;
//sensor ultrasonico delante
int Trigger = 6;
int Echo = 7;
long t ;
long d ;
//sensor ultrasonico derecha
int TRIG_derecha = 4;
int ECHO_derecha = 5;
long t_derecha;
long d_derecha;
//sensor ultrasonico izquierda
int TRIG_izquierda = 2;
int ECHO_izquierda = 3;
long t_izquierda;
long d_izquierda;
//motor derecha
int mot1 = 10;// pin pwm para el puente H
int der1 = 9;// pin digital
int izq1 = 8;// pin digital
//motor izquierda
int mot2 = 11;// pin pwm para el puente H
int der2 = 12;// pin digital
int izq2 = 13;// pin digital
void setup()
{
Serial.begin(9600);
//infra
pinMode(INFRA,INPUT);
pinMode(INFRA2,INPUT);
//trig echo delante
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
digitalWrite(Trigger, LOW);
//teig echo derecha
pinMode(TRIG_derecha, OUTPUT);
pinMode(ECHO_derecha, INPUT);
digitalWrite(TRIG_derecha, LOW);
//trig echo izquierda
pinMode(TRIG_izquierda, OUTPUT);
pinMode(ECHO_izquierda, INPUT);
digitalWrite(TRIG_izquierda, LOW);
//motores
pinMode(mot1, OUTPUT);
pinMode(der1, OUTPUT);
pinMode(izq1, OUTPUT);
pinMode(mot2, OUTPUT);
pinMode(der2, OUTPUT);
pinMode(izq2, OUTPUT);
}
void loop()
{
distancia();
if(d <= 50){
delante();
delay(1000);
}
else{
vuelta_derecha();
delay(1000);
}
derecha();
if(d_derecha <=60){
vuelta_derecha();
delay(1000);
}
izquierda();
if(d_derecha <=60){
vuelta_izquierda();
delay(1000);
}
{
nomesaquenqlos=analogRead(INFRA);
Serial.print("infra:");
Serial.print(nomesaquenqlos);
Serial.println();
if (INFRA <= 50)
vuelta_derecha();
}
{
nomesaquenqlos2=analogRead(INFRA2);
Serial.print("infra2:");
Serial.print(nomesaquenqlos2);
Serial.println();
}
}
void delante()
{
analogWrite(mot1,355);
digitalWrite(der1,HIGH);
digitalWrite(izq1,LOW);
analogWrite(mot2,355);
digitalWrite(der2,LOW);
digitalWrite(izq2,HIGH);
delay(100);
}
void vuelta_derecha()
{
analogWrite(mot1,355);
digitalWrite(der1,LOW);
digitalWrite(izq1,HIGH);
analogWrite(mot2,355);
digitalWrite(der2,LOW);
digitalWrite(izq2,HIGH);
delay(100);
}
void vuelta_izquierda()
{
analogWrite(mot1,355);
digitalWrite(der1,HIGH);
digitalWrite(izq1,LOW);
analogWrite(mot2,355);
digitalWrite(der2,HIGH);
digitalWrite(izq2,LOW);
delay(100);
}
void distancia()
{
digitalWrite(Trigger, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH);
d = t/59;
Serial.print("DISTANCIA DELANTE: ");
Serial.print(d);
Serial.print("cm");
Serial.println();
delay(100);
}
void derecha()
{
digitalWrite(TRIG_derecha, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_derecha, LOW);
t_derecha= pulseIn(ECHO_derecha, HIGH);
d_derecha = t_derecha/59;
Serial.print("DISTANCIA DERECHA: ");
Serial.print(d_derecha);
Serial.print("cm");
Serial.println();
delay(100);
}
void izquierda()
{
digitalWrite(TRIG_izquierda, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_izquierda, LOW);
t_izquierda= pulseIn(ECHO_izquierda, HIGH);
d_izquierda= t_izquierda/59;
Serial.print("DISTANCIA IZQUIERDA: ");
Serial.print(d_izquierda);
Serial.print("cm");
Serial.println();
delay(100);
}
Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.
Moderador:
Por favor, lee las Normas del foro.
Si posteas en el foro en inglés usa idioma inglés para expresarte.
Si escribes en español debes usar el foro Arduino en español.
Vaya hombre, se supone que nosotros debemos responder a algo que ni siquiera te has dignado en explicar que sucede?
Me parece que corresponde una explicación.
Es lo mismo que entrar a un sitio y no saludar.
Postea esquema.
Motores de que tipo.
Que fuentes usas.
Que arduino estas usando, etc etc.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.