RotLine Fase 3
Fase 3: Sistema sensorial del robot
En esta fase se definen los sensores utilizados y su funcionamiento en el robot seguidor de línea RotLine. Además, se presenta el diagrama de bloques del robot y la programación de los sensores.
Sensores
En el robot se implementaron 3 sensores infrarrojos FC-51 (detectores de obstáculos) por su bajo costo (desde 4.000 pesos colombianos). Este sensor está compuesto por un transmisor que emite energía infrarroja y un receptor que detecta la energía IR reflejada por la presencia de un objeto. Si la luz que emite el transmisor choca contra una superficie de color claro se reflejará y llegará al IR receptor, si por el contrario golpea en una superficie negra, el material absorberá la mayoría de luz y no llegara al receptor, por lo tanto, el sensor FC-51 no detecta el color negro, aún así, es ideal para robots seguidores de línea. La señal captada por los sensores es acondicionada mediante un circuito comparador que opera con señales digitales. Además opera con distancias entre 5mm a 20mm.
Sensor FC-51 y sus partes |
Diagrama de bloques del robot
A continuación se presenta el diagrama de bloques que contiene los componentes del robot y sus conexiones entre sí, además contiene los leds que se utilizan para probar el funcionamiento del sistema sensorial del robot.
Programación de los sensores
Para probar el funcionamiento del sistema sensorial del robot, se utilizó un led por cada sensor. La indicación dada por el docente para hacer la programación de los sensores consiste en que cada led se debe encender cuando el sensor detecta la línea negra y deben estar apagados cuando no detecta la línea. Se informa que no es posible cumplir dicha instrucción, puesto que, los sensores utilizados no detectan la línea negra, dado el caso, la programación debe hacer que los leds se enciendan cuando el sensor no detecta y al detectar se apagan.
int led1=8;
int led2=9;
int led3=10;
//declaración de variables (sensores)
int sen1=2; //sensor izquierdo
int sen2=3; //sensor medio
int sen3=4; //sensor derecho
//declaración de estados de sensores
int ActivarSen1 = HIGH;
int ActivarSen2 = HIGH;
int ActivarSen3 = HIGH;
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(sen1,INPUT); //sensor izquierdo
pinMode(sen2,INPUT); //sensor medio
pinMode(sen3,INPUT); //sensor derecho
}
void loop() {
//asociación de estados a los sensores
ActivarSen1 = digitalRead(sen1);
ActivarSen2 = digitalRead(sen2);
ActivarSen3 = digitalRead(sen3);
//funcionamiento de los sensores
if (ActivarSen3 = digitalRead(sen3)) //sensor derecho
{
digitalWrite(led3,HIGH);
}
if (ActivarSen1 = digitalRead(sen1)) //sensor izquierdo
{
digitalWrite(led1,HIGH);
}
if (ActivarSen2 = digitalRead(sen2))//sensor medio
{
digitalWrite(led2,HIGH);
}
else
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
}
}
Plataforma final del robot
Video del funcionamiento de los sensores
Video del funcionamiento de los sensores con leds
Integrantes
Danny Aviles Lúligo - 202127034
Nicol Vanessa Serna Gómez - 202125825
Comentarios
Publicar un comentario