fbpx
Clase 35 de 73
En Progreso

Clase 35: Desafío cinta transportadora

Clase
Materiales

En esta clase vamos a:

  • Plantear el desafío de la cinta transportadora.
  • Ver que este desafío incluye todo lo que vimos hasta ahora.
  • Al final les dejo una solución posible para este desafío, pero inténtelo hacer antes de ver la solución. Nada de copiarse 😜

Un breve resumen de esta clase:

      Les voy a dejar paso a paso que es lo que nuestra cinta tiene que hacer en este desafío:

  • Imaginemos que estamos en una fabrica donde tienen esta cinta para mover cajas de una habitación hacia el otro.
  • El operario lo que hace cada ve que quiere utilizar la cinta es, poner la caja sobre la cinta y presionar un botón para que este comience a moverlo hacia el otro lugar.
  • El problema es que del otro lugar no hay nadie que lo reciba y si la cinta no para de moverse, esta caja se va a caer al suelo.
  • Para ello colocamos un sensor del otro lado (que ahora el sensor va a estar simulado pro un pulsador) y este va a ser el encargado de detectar si la caja llego a destino final.
  • Cuando el sensor detecte que la caja llego este tiene que darnos la orden de apagar nuestro motor.

     ¿Se animan a hacer este desafío sin mirar la solución de abajo?

//Se declara una constante para cada pin
const int motor = 13;
const int carga = 8;
const int sensor_llegada = 9;

//esta variable estado sera el encagado de
//decidir si el motor va a estar prendido o apagado
bool estado = 0;

void setup()
{
  //defino los dos pulsadores como entrada
  pinMode(sensor_llegada, INPUT_PULLUP);
  pinMode(carga, INPUT_PULLUP);

  //defino el motor como salida
  pinMode(motor, OUTPUT);
}


void loop()
{
  //leo los 2 pulsadores
  int lectura_carga = digitalRead(carga);
  int lectura_sensor_llegada = digitalRead(sensor_llegada);

  //si el pulsador de carga esta activo
  //entonces cambio la variable a 1 para que motro arranque
  if (lectura_carga == LOW)
  {
    //este delay es para darle tiempo
    //al operario de soldar el pulsador
    delay(500);
    estado = 1;

  }
  //si el sensor de llegada detecta la caja
  //entonces poner estado en cero
  if (lectura_sensor_llegada == LOW)
  {
    estado = 0;
  }

  //si estado en 1 entonces arranca el motor
  if (estado == 1)
  {
    digitalWrite (motor, HIGH);
  }
  //caso contrario apago el motor
  else
  {
    digitalWrite (motor, LOW);

  }
}

Descargar el PDF aquí 👉 Clase 35

Responses

[uo_login_ui]