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: