Transformar el robot Innobot en un robot seguidor de luz, conociendo algunos de los complementos del robot.

Info

  • Principiantes
  • Edades: 11+

Temas STEAM

  • Ciencia
  • Tecnología
  • Ingeniería

Materiales

Desarrollo de la actividad

Paso 1

Instalar los módulos fotorresistor al robot Innobot de una forma creativa.

Paso 2

Conectar los módulos fotorresistores a la tarjeta Innobot en J1 y J2.
Conectar el el módulo fotoresistor derecho al J2 y el izquierdo al J1.

2. Programación robot seguidor de luz

A continuación, encontrarás los pasos en BLOCKS para el funcionamiento del robot seguidor de luz.

Paso 1: Verificación del funcionamiento módulo fotorresistor.

El módulo con la fotorresistencia trabaja de la siguiente forma: con presencia de Luz, la resistencia del fotorresistor baja casi a cero y la señal de corriente pasa casi completa, por lo tanto la medida en el monitor debe tender a 1023.
Cuando hay oscuridad la resistencia aumenta, por lo tanto la corriente no fluye muy bien, debido a esto la señal en el monitor debe tender a 0.

En BLOCKS, construye el siguiente código.

Paso 2:

Construcción de los conceptos para realizar la programación, definiendo el umbral y resolviendo los siguientes casos:

● Calibración de los sensores seguidores de luz y definición del umbral.

Caso 1: Si ambas fotorresistencias captan luz entonces voy hacia adelante


Las instrucciones para lograr esto son:

 

Caso 2: : Si ninguna fotorresistencia capta luz, entonces Apago motores

Las instrucciones para lograr esto son:

Caso 3: Si la fotorresistencia izquierda capta luz Y fotorresistencia derecha no, entonces giro hacia la _________

 

Las instrucciones para lograr esto son:

Caso 4: Si la fotorresistencia derecha capta luz Y fotorresistencia izquierda no, entonces giro hacia la _________

Las instrucciones para lograr esto son:

Paso 3: En BLOCKS construye la programación final para hacer el robot Innobot seguidor de Luz.

Variables

Variable 1: Agregar un variador de velocidad para controlar la velocidad de los motores. Para mayor información, dirigirse a la actividad  Guía 3 El Potenciómetro

La programación para esta variable es la siguiente:

Paso 1

Variable 2: Agregar un sensor de ultrasonido para evadir obstáculos. Para mayor información, dirigirse a la Guía 04 ultrasonido.

La programación para esta variable es la siguiente:

2. Robot seguidor de luz
A continuación, encontrarás los pasos en CODE, para el funcionamiento del robot seguir de luz .

Paso 1: Verificación del funcionamiento módulo fotorresistor.

El módulo con la fotorresistencia trabaja de la siguiente forma: con presencia de Luz, la resistencia del fotorresistor baja casi a cero y la señal de corriente pasa casi completa, por lo tanto la medida en el monitor debe tender a 1023.
Cuando hay oscuridad la resistencia aumenta, por lo tanto la corriente no fluye muy bien, debido a esto la señal en el monitor debe tender a 0.

En CODE, construye el siguiente código.

void setup () {  
   Serial.begin(9600); 

}
 void loop ( ) { 
    int value = sensorRead(J1); 
    Serial.println("J1 =");  
    Serial.println(value);  
    int value2 = sensorRead(J2);  
    Serial.println("J2 =");   
    Serial.println(value2); 
    delay(500);

 }

Paso 2: Construcción de los conceptos para realizar la programación, definiendo el umbral y resolviendo los siguientes casos

● Calibración de los sensores seguidores de luz y definición del umbral.

   int umbral = 100;

void setup () {

}
void loop () {

}

 

Caso 1: Si ambas fotorresistencias captan luz entonces voy hacia adelante


Las instrucciones para lograr esto son:

  int umbral = 100;

void setup () {

}
void loop () {
  if (sensorRead(J1) < umbral && sensorRead(J2) < umbral) {
    goForward(M1,M2);
  }

}

Caso 2: : Si ninguna fotorresistencia capta luz, entonces Apago motores

Las instrucciones para lograr esto son:

  int umbral = 100;

void setup () {

}
void loop () {
  if (sensorRead(J1) > umbral && sensorRead(J2) > umbral) {
    motorsOff(M1 , M2);
  }

}


Caso 3: Si la fotorresistencia izquierda capta luz Y fotorresistencia derecha no, entonces giro hacia la _________

 

Las instrucciones para lograr esto son:

  int umbral = 100;

void setup () {

}
void loop () {
  if (sensorRead(J1) < umbral && sensorRead(J2) > umbral) {
    motorOn(M1,FORWARD);
    motorOn(M2,REVERSE);
  }

}


 Caso 4: Si la fotorresistencia derecha capta luz Y fotorresistencia izquierda no, entonces giro hacia la _________

Las instrucciones para lograr esto son:

  int umbral = 100;

void setup () {

}
void loop () {
  if (sensorRead(J1) > umbral && sensorRead(J2) < umbral) {
    motorOn(M1,REVERSE);
    motorOn(M2,FORWARD);
  }

}


Paso 3

En CODE, construye el código final para hacer el Innobot seguidor de luz.

  int umbral = 100;

void setup () {

}
void loop () {
  if (sensorRead(J1) < umbral && sensorRead(J2) < umbral) {
    goForward(M1,M2);
  }
  if (sensorRead(J1) > umbral && sensorRead(J2) > umbral) {
    motorsOff(M1 , M2);
  }
  if (sensorRead(J1) < umbral && sensorRead(J2) > umbral) {
    motorOn(M1,FORWARD);
    motorOff(M2);
  }
  if (sensorRead(J1) > umbral && sensorRead(J2) < umbral) {
    motorOn(M2,FORWARD);
    motorOff(M1);
  }

}


Variable 1: Agregar un variador de velocidad para controlar la velocidad de los motores. Dirigirse a la Actividad Variador de velocidad.

.

La programación para esta variable es la siguiente:

  int velocidad = 0;
  int auxiliar = 0;
  int potenciometro;
  int referencia = 1023;
  /*valor máximo analógica de un puerto J*/
  int umbral = 100;

void setup () {

}
void loop () {
  potenciometro=sensorRead (J6);
  /*voltaje digitalizado del divisor de tensión*/
  auxiliar=velocidad;
  velocidad=(float)potenciometro/referencia*100;
  if (auxiliar != velocidad) {
    motorsOff(M1 , M2);
    delay(10);
    motorSpeed(M1,vlocidad);
    motorSpeed(M2,vlocidad);
  }
  if (sensorRead(J1) < umbral && sensorRead(J2) < umbral) {
    goForward(M1,M2);
  }
  if (sensorRead(J1) > umbral && sensorRead(J2) > umbral) {
    motorsOff(M1 , M2);
  }
  if (sensorRead(J1) < umbral && sensorRead(J2) > umbral) {
    motorOn(M1,FORWARD);
    motorOff(M2);
  }
  if (sensorRead(J1) > umbral && sensorRead(J2) < umbral) {
    motorOn(M2,FORWARD);
    motorOff(M1);
  }

}

Variable 2: Agregar un sensor de ultrasonido para evadir obstáculos. Para mayor información, dirigirse a la Sesión 4 ultrasonido

.

La programación para esta variable es la siguiente:

int umbral = 100;

void setup () {
  Serial.begin(9600);

}
void loop () {
  if (ultrasoundRead(J3) == 5) {
    motorsOff(M1 , M2);
    delay(1000);
    goReverse(M1,M2);
    delay(200);
    turnRight(M2 , M1);
    delay(200);
  } else {
    if (sensorRead(J1) < umbral && sensorRead(J2) < umbral) {
      goForward(M1,M2);
    }
    if (sensorRead(J1) > umbral && sensorRead(J2) > umbral) {
      motorsOff(M1 , M2);
    }
    if (sensorRead(J1) < umbral && sensorRead(J2) > umbral) {
      motorOn(M1,FORWARD);
      motorOff(M2);
    }
    if (sensorRead(J1) > umbral && sensorRead(J2) < umbral) {
      motorOn(M2,FORWARD);
      motorOff(M1);
    }
  }


}

Conceptos claves

Resistencia eléctrica: La resistencia eléctrica es la oposición que encuentran los electrones cuando se desplazan a través de un material conductor. Dicha oposición al movimiento de electrones, es decir a la corriente eléctrica, depende de las características resistivas del elemento conductor, el área y la longitud del mismo.
Seguidor de luz: Un seguidor de luz es un robot que tiene como objetivo buscar la luz, su funcionamiento se basa en el efecto fotoeléctrico.
Fotorresistencia: Es un componente electrónico que se utiliza como sensor de luz, se comporta como una resistencia variable, cuando esta sensa un entorno oscuro, su resistencia se eleva, y cuando sensa en un entorno claro, su resistencia disminuye.  
Señal análoga: Son aquellas entradas, que a diferencia de las digitales tienen varios estados, comprendidos entre 0 – 1023.
Umbral:El umbral es la cantidad mínima de señal que ha de estar presente para ser registrada por un sistema. Por ejemplo, la mínima cantidad de luz que puede detectar el ojo humano en la oscuridad.