Proyecto 2 – Grúa

Construye una grúa capaz de subir o bajar en función de la luz, y variar su velocidad presionando un botón.

En el kit encontraras todo el material necesario, pero si lo necesitas, puedes descargar las plantillas aquí para imprimir de nuevo, recortar y personalizar a tu grúa tantas veces como quieras.

 

NIVEL DE DIFICULTAD: Intermedio.

DURACIÓN DEL EJERCICIO: 45 min.

MATERIALES:

  • Maker Inventor Kit
    • Placa controladora 4in1
    • Motor DC
    • Sensor LDR
    • Botón
    • Plantilla del grúa
    • Palos de colores
    • Velcro
    • Bridas
    • Encuadernadores con arandela
    • Cables Hembra-Hembra 20 cm
    • Portapilas
    • Cable USB – Micro USB
  • Pegamento
  • 6 Pilas AA
  • Ordenador

 

CONSTRUCCIÓN:

Sigue las instrucciones del siguiente vídeo para construir la grúa:

 

ESQUEMA:

Si has seguido el montaje, las conexiones deben estar así:


PROGRAMA:

Puedes cargar tu programa a la controladora usando programación por bloques o con código. Te mostramos como hacerlo con mBlock y Arduino IDE .

Si es la primera vez que usas mBlock, o tienes problemas para cargar tu programa, puedes revisar nuestra página de primeros pasos

Aquí tienes la secuencia de bloques para cargar el programa inicial con mBlock.

En el vídeo mostramos cómo subir el programa a la placa controladora 4in1

 

A continuación el código para cargar el programa a la controladora 4in1 desde Arduino IDE

//Definición de puertos
//PULSADOR
#define BUTTON 2 // pulsador

// SENSOR DE LUZ
#define LDR0  A0 //Sensor de luz


//MOTORES
int PinSpeedMA = 5; // PIN DIGITAL PARA LA VELOCIDAD DEL MOTORE
int PinTurnMA = 4;  // PIN DIGITAL PARA SENTIDO DE GIRO DEL MOTOR
int PinSpeedMB = 6; // PIN DIGITAL PARA LA VELOCIDAD DEL MOTORE
int PinTurnMB = 7;  // PIN DIGITAL PARA SENTIDO DE GIRO DEL MOTOR
int SpeedL = 175; //velocidad Izq
int Spin = 0;
int Direction = 0;
bool Control = true;

//variables de input
int lightsensor = 0,  databutton = 0;

void setup()
{
  Serial.begin (9600);
  //  Sensores de luz
  pinMode(LDR0, INPUT);

    pinMode(PinSpeedMB, OUTPUT);
  pinMode(PinTurnMB, OUTPUT);
  // motores
  pinMode(PinSpeedMA, OUTPUT);
  pinMode(PinTurnMA, OUTPUT);

  // pulsador
  pinMode(BUTTON, INPUT); 
pinMode(PinSpeedMB, 0);
  //pinMode(PinTurnMB, LOW);
}

void loop()
{//lee el estado del sensor y el pulsador y los copia en las variables lightsensor y databutton
  lightsensor = analogRead(LDR0);
  databutton = digitalRead(BUTTON);
    analogWrite (PinSpeedMB, 0);
  
  if (lightsensor < 400)// si el valor de luz es más bajo que 400
  {
    digitalWrite (PinTurnMA, LOW);
  }
  else//si el valor de luz es más alto que 400
  {
    digitalWrite (PinTurnMA, HIGH);
  }
  if (databutton == HIGH)//si el boton está pulsado
  {
    analogWrite (PinSpeedMA, 200);
    analogWrite (PinSpeedMB, 0);
  }
  else// si el botón no está pulsado
  {
    analogWrite (PinSpeedMA, 0);
    analogWrite (PinSpeedMB, 0);
  }
}

Y el vídeo de la programación usando Arduino IDE

Si lo prefieres puedes descargar los ficheros para MBlock 5 y ArduinoIDE

RESULTADO FINAL:
Muestra del proyecto terminado:

1 0
0
¿Hablamos?
Necesitas Ayuda
¿Te ayudamos? 🙂

El horario en línea actualmente es de lunes a viernes de 10:00 a 13:30 y de 16:00 a 18:30 (hora España GTM+1). Si lo prefieres puedes enviarnos un correo a info@eboticseducation.com