NEED HELP WITH THE CODE....... I WANT IT TO STOP WHEN SENSOR FINDS OBJECT, THEN CHOOSE ITS WAY...
#include <Servo.h>
int pin6 = 6;
int pin7 = 7;
int pin13 = 13;
int pin2 = 2; // PIN DE SEÑAL PARA EL PARALLAX
int valor = 0;
int pin2Value = 0;
int timecount = 0; // Echo counter
Servo myservo1;
Servo myservo2;
Servo myservo3;
int bumperisquierdo = 0;
int bumperderecho = 0;
int val = 0;void setup() {
// crea objetos y los asigna a mines
myservo1.attach(9);
myservo2.attach(10);
myservo3.attach(11);
pinMode(pin6, INPUT);
pinMode(pin7, INPUT);
digitalWrite(pin6,HIGH);
digitalWrite(pin7,HIGH);}
void loop()
// comienza a moverse el robot hacia adelante
{
myservo1.write(100);
myservo2.write(80);
myservo3.write(90);
digitalWrite(pin13, LOW);parallax(); //arranca el parallax dentro del loop
//////////////////////////////////////////////////////////////////////////////////////////////////////
if(timecount < 400) //lee el parallax mientras avanza, si baja de 400
{
miraalaizquierda(); // mira a la izquierda y opera sefun funcion
}
else (timecount >400);
{
myservo1.write(100);
myservo2.write(70);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//////bumpers//////{
val = digitalRead(pin6);
if (val == LOW)parader();
}{
val = digitalRead(pin7);
if (val == LOW)paraiz();
}}
void parallax()
{
timecount = 0;
valor = 0;
pinMode(pin2, OUTPUT); // PONE AL pin2 COMO OUTPUT/* Send low-high-low pulse to activate the trigger pulse of the sensor
*/
digitalWrite(pin2, LOW); // Send low pulse
delayMicroseconds(2); // Wait for 2 microseconds
digitalWrite(pin2, HIGH); // Send high pulse
delayMicroseconds(5); // Wait for 5 microseconds
digitalWrite(pin2, LOW); // Holdoff
pinMode(pin2, INPUT); // Switch signalpin to input
valor = digitalRead(pin2); // Append signal value to val
while(valor == LOW) { // Loop until pin reads a high value
valor = digitalRead(pin2);
}
while(valor == HIGH) { // Loop until pin reads a high value
valor = digitalRead(pin2);
timecount = timecount +1; // Count echo pulse time
}
pin2Value = timecount;
{
delay(100);
}
}void miraalaizquierda()
{do
{
myservo3.write(10);
parallax();
myservo1.write(20);
}
while(timecount < 400);{
// do
// {
// miraaladerecha(); // mira a la derecha y opera sefun funcion
// }
// while(timecount < 400); // si al voltear a la izquierda no ve obstaculo sale de esta condicional
//
}}
void miraaladerecha()
{
myservo3.write(170);
{
parallax();myservo2.write(140);
}
}void parader()
{
myservo2.write(170);
delay(2000);
}void paraiz()
{
myservo1.write(80);
delay(2000);
}