ArduBot (5 / 8 paso)

Paso 5: sensores

La comunidad paralaje y arduino tiene códigos de ejemplo amplio sobre cómo ejecutar los sensores PIR y PING en este robot. Tan sólo debe ser una cuestión de asignación y funciones independiente para cada sensor por lo que podemos llamar para ellos cuando queramos.
Aquí son unas funciones que define para el sensor PING:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

duración larga sin signo, cm, pulgadas, dir;   duración mide el tiempo entre PINGs
minsafe largo = 15;                         mínima distancia de seguridad delante de robot
int cuenta;                                 utilizado para ayudar a identificar cuando el robot está en una esquina

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sin firmar largo be {//triggers el sensor ping una vez y devuelve el valor
pinMode (pingPin, salida);              Hacer el Pingpin salida
digitalWrite (pingPin, LOW);                 Enviar un pulso bajo
delayMicroseconds(2);                        Espere dos microsegundos
digitalWrite (pingPin, HIGH);               Enviar un pulso de alta
delayMicroseconds(5);                       esperar 5 segundos de micro
digitalWrite (pingPin, LOW);               Enviar un pulso bajo
pinMode(pingPin,INPUT);                 Pingpin a la entrada del interruptor
duración = pulseIn (pingPin, HIGH); Escuchar para eco

/ * Convertir segundos micro pulgadas
*/

pulgadas = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.Print (cm);
Serial.Print ("CM");
Serial.println ();

volver cm;

}

largo microsecondsToInches(long microseconds) {}
volver microsegundos / 74 / 2;
}
largo microsecondsToCentimeters(long microseconds) {}
volver microsegundos / 29 / 2;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sin firmar largo leftping () {//records distancia a la izquierda del robot y lo devuelve al centro
int izquierda;                                            utiliza para registrar la distancia medida por el (PING)
(IZQUIERDA);
retardo (420);
STOP ();
Delay(10);

Serial.Print ("izquierda:");
= izquierda (PING);
retardo (420);

(DERECHA);
retardo (420);
STOP ();
vuelta izquierda;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sin firmar largo rightping () {//records distancia a la derecha del robot y lo devuelve al centro
int derecha;
(DERECHA);
retardo (420);
STOP ();
Delay (10);

Serial.Print ("derecho:");
= derecha (PING);
retardo (420);

(IZQUIERDA);
retardo (420);
STOP();
volver a derecho;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

forwardping largo sin signo () {//essentiallhy PING
int medio;
STOP ();
Delay (10);
Serial.Print ("media:");
medio = (PING);
retorno medio;

}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

sin firmar largo elegir () {//used a elegir entre nuestras funciones dos ping
leftping();
forwardping();
rightping();
if(leftping > rightping)
Si (leftping > forwardping)
(IZQUIERDA);
retardo (420);
STOP();
DIR = forwardping ();
Si (rightping > leftping)
Si (rightping > forwardping) {}
(DERECHA);
retardo (420);
STOP();
DIR = forwardping ();
} else
STOP ();
DIR = forwardping ();

}
/////////////////////////////////////////////////////////////////////////////////////////////////////

Artículos Relacionados

Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Hola todo el mundo,Este Instructables se divide en dos fases, que hace conveniente para el principiante y los diseñadores de robots intermedios.La primera fase abarca el uso de la placa de arduino nano solamente como controlador. Con esto, vamos a co
Plataforma robótica experimental

Plataforma robótica experimental

¡ Hola! Mi nombre es Andrés y soy un estudiante de Ciencias de la computación.Empecé a trabajar en este robot para ambos divertirse y como parte de mi tesis de licenciatura.Todo comenzó cuando compré un kit de la robusteza de un sitio llamado Conrad: