-Carro Robot -
“Practica 2”
             Fecha: 07/06/24
               Grupo: 6°N
  Profesor: Sixto Humberto González Páez
   Integrantes: Sared Alemán Cárdenas,
Maidelyne Guangorena Balderrama, Yazmin
   Velázquez Saucedo, Itzel Porras Silva.
En esta práctica realizaremos el evasor de
obstáculos, es decir se pondrán varios
obstáculos en el piso y el carro robótico
deberá automáticamente debe superarlos
por si solos.
El sensor que utilizaremos para lograr el
objetivo de esta práctica es un sensor
ultrasónico de distancia que le permite
detectar obstáculos delante de él. Al
detectar un obstáculo, maniobra a la
izquierda o derecha para evadirlo y luego
continua su camino. Sera controlado por
medio de la aplicación, la cual desde la
aplicación controlaremos el carro, así como
el avanzar y detenerse.
Como antes se mencionó este componente
es un ultrasonido que nos permite detectar
los obstáculos que estén a su alrededor y
tratar de evitarlos por sí solo. Así que su
funcionamiento es claro, al momento de
que el carro empiece avanzar y en su
camino haya obstáculos el carro robótico lo
que hará será evitar seguir con ese camino y
evitarlos y seguir otro recorrido.
En el carro robótico ya armado, el sensor
ultrasonido está conectado con un
servomotor, ya que los dos harán el
funcionamiento de esta práctica.
El diagrama del sensor ultrasonido es el
siguiente, la cual nos indica sus conexiones
de la placa del sensor y servomotor.
Este diagrama nos muestra las siguientes
conexiones. La placa del sensor tiene 4
pines, la cual cada pin representa lo
siguiente.
El primer pin es el VCC de 5V, el segundo pin
es la alimentación para el Arduino, así como
también es el tercer pin, el cuarto y último
pin de este sensor ultrasonido es el GND que
viene siendo el negativo para el Arduino así
mostrando el siguiente diagrama.
Las conexiones del servomotor fueron
conectadas de la siguiente manera.
El primer pin se conectó a la fila G A3, así
como el segundo pin a la fila V A3 y el ultimo
pin a la fila D A3, así como quedando todos
en filita.
Consiste en emitir un sonido ultrasónico por
uno de sus transductores, y esperar que el
sonido rebote de algún objeto presente, el
eco es captador por el segundo transductor.
La distancia es proporcional al tiempo que
demora en llegar el eco, así como el
funcionamiento del servomotor.
Para lograr el funcionamiento utilizamos el
siguiente código.
Sabemos que el carro avanzara y girara de
izquierda a derecha, para eso tenemos en
cuenta que N1 e IN2 son los responsables del
giro del motor, cambiando HIGH y LOW
podemos cambiar el sentido de giro.
Para el funcionamiento del sensor de
distancia. Al principio del código se añadió
lo siguiente.
 Para eso lo primero que hicimos fue
Descargar la librería <Servo.h> la cual esta
biblioteca permite a una placa Arduino
controlar servomotores RC (hobby). Los
Servos integran engranajes y un eje que
puede ser controlado con precisión. Los
servos estándar permiten que el eje sea
colocado en distintos ángulos, por lo general
entre 0 y 180 grados.
En este caso nuestro robot irá recto y
cuando encuentre un obstáculo a menos de
5 cm girará en sentido horario hasta que
esquive el obstáculo y siga su camino su
definición de variables y constantes
relacionadas con el motor izquierdo const int
IN1 =Pin digital 13 para controlar sentido giro
motor izquierdo. const int IN2 = Pin digital 12
para controlar sentido giro motor izquierda su
definición de variables y constantes
relacionadas con el motor derecho const int
IN3 = 11; Pin digital 11 para controlar sentido
giro motor izquierdo const int IN4 = 10; Pin
digital 10 para controlar sentido giro motor
izquierdo.
Este programa usará el sensor de ultrasonidos
HCSR04, para medir la distancia a la que se
encuentran diferentes obstáculos en
centímetros y mostrarlo por el puerto serie.
const int triggerEmisor = 3;
const int echoReceptor = 2;
const int valorUmbral = 20;
long tiempoEntrada;
Almacena el tiempo de respuesta del sensor
de entrada float distanciaEntrada;
Almacena la distancia en cm a la que se
encuentra el objeto su función que se
ejecuta una sola vez al cargar el programa
void setup()
{
Se declaran todos los pines como salidas
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
pinMode(triggerEmisor,OUTPUT);
El emisor emite por lo que es configurado
como salida pinMode(echoReceptor,INPUT);
El receptor recibe por lo que es configurado
como entrada Serial.begin (9600); // Inicia el
puerto de comunicaciones en serie su f
unción se repite de manera periódica
void loop()
sensorUltrasonidos();
Si el valor de la distancia es menor que 5 cm
se para y sigue recto en caso contrario
if(distanciaEntrada>valorUmbral)
robotAvance();
else
robotDerecha ();
Función sensorUltrasonidos: para medir la
longitud del pulso entrante. Mide el tiempo
que transcurrido entre el envío del pulso
ultrasónico y cuando el sensor recibe el
rebote, es decir: desde que el pin echo
empieza a recibir el rebote, HIGH, hasta que
deja de hacerlo, LOW, la longitud del pulso
entrate.