Aprende a construir y programar un robot interactivo utilizando los componentes del Maker Control Kit y el Maker Kit 3.
Utiliza el servomotor, el sensor de distancia y los LEDs rojo y amarillo para construir el sistema del robot. Cuando el sensor de distancia detecte un objeto o movimiento en frente suyo, los LEDs del robot parpadearán de forma alternada y moverá su brazo para saludar. ¡Crea tu primer robot interactivo!
NIVEL DE DIFICULTAD: Principiante.
DURACIÓN DEL EJERCICIO: 60 min.
MATERIALES:
- 1 Servomotor
- 1 Sensor de distancia por ultrasonidos
- 1 LED rojo
- 1 LED amarillo
- 1 Placa controladora Build&Code 4in1
- 1 Cable USB – Micro USB
- Ordenador
- Material para crear el robot
- Adhesivo o cinta adhesiva
¿Qué es un sensor de distancia por ultrasonidos?
El sensor de ultrasonido es un dispositivo para medir la distancia. Su funcionamiento consiste en enviar un pulso de sonido a alta frecuencia, no audible por el ser humano. Este pulso rebota en los objetos cercanos y es reflejado hacia el sensor, que dispone de un micrófono adecuado para esta frecuencia.
Midiendo el tiempo entre pulsos y conociendo la velocidad del sonido, podemos estimar la distancia del objeto, en cuya superficie impactó el impulso de ultrasonido.
CONSTRUCCIÓN DE LA ESTRUCTURA:
Para construir el cuerpo, el brazo y el soporte del robot interactivo usarás láminas de cartón pluma.
Para construir la estructura descarga la plantilla del robot interactivo y descarga la guía rápida de montaje. Sigue los pasos indicados.
Para unir los componentes electrónicos con la estructura utiliza cinta adhesiva o adhesivo. Este el caso de los LEDs y la pieza de unión del brazo con el servomotor.
Una vez que la estructura del robot esté lista, conecta todos los componentes electrónicos y el cable USB siguiendo las indicaciones del apartado de conexiones que se encuentra a continuación.
CONEXIONES:
- Conecta el LED rojo al puerto digital 4 de la placa controladora Build&Code 4in1.
- Conecta el LED amarillo al puerto digital 5 de la placa controladora Build&Code 4in1.
- Conecta el servomotor al puerto digital 9 de la placa controladora Build&Code 4in1.
- Conecta el sensor de distancia por ultrasonidos al puerto digital 12 y 13 de la placa controladora Build&Code 4in1.
Para guiarte, mira los colores de los cables y los colores de los terminales de la placa controladora Build&Code 4in1. Cada cable debe ir conectado a su color:
CÓDIGO DE PROGRAMACIÓN:
El programa consiste en leer la distancia del sensor de distancia por ultrasonidos.Si la distancia es menor que 30 cm y mayor que 1 cm, repetirá dos veces el proceso de mover el servomotor de 140º a 60º y el de encender y apagar el LED rojo y el LED amarillo en intervalos de 0,3 segundos.
Si la distancia es mayor que 30 cm, mantendrá la posición del servomotor a 140º y los LEDs se mantendrán encendidos sin parpadear. Mientras el sistema tenga alimentación eléctrica, esta secuencia se seguirá repitiendo.
Puedes realizar esta actividad utilizando los software Arduino y Bitbloq, además de otros software de programación por bloques compatibles. A continuación encontrarás el código de programación necesario para cada software.
Código Arduino
- Descarga el software Arduino y realiza el proceso de instalación.
- Abre el programa Arduino y, una vez en él, copia el siguiente programa:
#include <Servo.h> Servo motor1; // DECLARAR SERVOMOTOR int TrigPin = 13; // PUERTOS DEL SENSOR ULTRASONIDOS int EchoPin = 12; float SSound = 0.0343; //VELOCIDAD DEL SONIDO EN cm/us long Lengh, Distance ; // VARIABLES PARA CALCULAR LA DISTANCIA EN cm int RedLED = 4, YellowLED = 5; void setup() { // Put your setup code here, to run once: motor1.attach (9); // PUERTO DIGITAL PWM 9 DONDE ESTÁ CONECTADO EL SERVO 1 pinMode(TrigPin, OUTPUT); // PUERTOS DIGITALES 12 Y 13 DONDE ESTÁ CONECTADO EL SENSOR DE ULTRASONIDOS pinMode(EchoPin, INPUT); pinMode(RedLED, OUTPUT); pinMode(YellowLED, OUTPUT); } void loop() { // Put your main code here, to run repeatedly: DistanceCM(); // LLAMAR A LA FUNCIÓN PARA CALCULAR LA DISTANCIA if (( Distance < 30) && ( Distance > 1)) // SI LA DISTANCIA ES ENTRE 1 Y 30 cm { // SALUDAR DOS VECES y PARPADEO DE LOS LEDS for (int x=0; x<2 ; x++) { motor1.write (140); digitalWrite(RedLED, HIGH); digitalWrite(YellowLED, LOW); delay (300); motor1.write (60); digitalWrite(RedLED, LOW); digitalWrite(YellowLED, HIGH); delay (300); } } else { // POSICIÓN INICIAL Y LEDS ON, FIJOS motor1.write(140); digitalWrite(RedLED, HIGH); digitalWrite(YellowLED, HIGH); } } void DistanceCM()// FUNCIÓN DE CÁLCULO DE DISTANCIA { // CALCUL DE LA DISTANCIA EN cm digitalWrite(TrigPin, LOW); // Nos aseguramos de que el trigger está desactivado delayMicroseconds(4); // Para asegurarnos de que el trigger está LOW digitalWrite(TrigPin, HIGH); // Activamos el pulso de salida delayMicroseconds(14); // Esperamos 10µs. El pulso sigue activo este tiempo digitalWrite(TrigPin, LOW); // Cortamos el pulso y a esperar el ECHO Lengh = pulseIn(EchoPin, HIGH) ; //pulseIn mide el tiempo que pasa entre que el pin declarado (echoPin) cambia de estado bajo a alto (de 0 a 1) Distance = SSound* Lengh / 2; // CÁLCULO DE LA DISTANCIA }
- Configura y carga el código, siguiendo las instrucciones indicadas en el documento de Primeros Pasos de la placa Build&Code 4in1.
Código para el software de programación por bloques compatible
- Descarga el software y realiza el proceso de instalación.
- Abre el programa y, una vez en él copia el siguiente código.
- Configura y carga el código, siguiendo las instrucciones indicadas en el documento de Primeros Pasos de la placa Build&Code 4in1.
Código BitBloq
- Accede al software Bitbloq.
- Abre el programa Bitbloq y, una vez en él, copia el siguiente código:
- Hardware
- Software
- Hardware
- Configura y carga el código, siguiendo las instrucciones indicadas en el documento de Primeros Pasos de la placa Build&Code 4in1.
RESULTADO DEL EJERCICIO
El robot saluda y sus LEDs parpadean de forma alternada cuando detecta un movimiento o un objeto a una distancia menor que 30 cm. Si no detecta un objeto o movimiento a una distancia menos que 30 cm, se mantiene en su posición de reposo. ¡Has creado tu primer robot interactivo!