Actividades
Dispensador de caramelos
...
Dispensador de caramelos
Robotics Adv
Actividad para profundizar
Para profundizar
Vamos a crear un dispensador de caramelos con el Zum Kit Advanced y Bitbloq Robotics Adv. ¡Después podemos llenarlo de nuestras chuches favoritas!
Construir un dispensador de caramelos con cartulina y diseñar y programar un mecanismo que deje caer un caramelo cuando pulsemos un botón.
Cómo utilizar un mini servo.
Cómo retocar el código para ajustarlo a nuestras necesidades.
Cómo programar un condicional.
Ordenador con acceso a Internet
Material de papelería
Punzón y alfombrilla
Pilas AAA (opcional)
Zum Kit Advanced
Kit de robótica de 12 a 16 años
Mostrar detalles
Caramelos esféricos
Diámetro inferior a 25mm
Papel higiénico, servilletas o pañuelos de papel
Descargable
Con el dispensador de caramelos
Mostrar detalles
Archivos
Librería Servo para Bitbloq Advanced
Construir un dispensador de caramelos con cartulina y diseñar y programar un mecanismo que deje caer un caramelo cuando pulsemos un botón.
Cómo utilizar un mini servo.
Cómo retocar el código para ajustarlo a nuestras necesidades.
Cómo programar un condicional.
¿Qué necesitamos?
Ordenador con acceso a Internet
Material de papelería
Punzón y alfombrilla
Pilas AAA (opcional)
Zum Kit Advanced
Kit de robótica de 12 a 16 años
Mostrar detalles
Caramelos esféricos
Diámetro inferior a 25mm
Papel higiénico, servilletas o pañuelos de papel
Descargable
Con el dispensador de caramelos
Mostrar detalles
Archivos
Librería Servo para Bitbloq Advanced
Comenzamos contando al alumnado que el objetivo de hoy es diseñar un dispensador de caramelos que funcione de verdad. Para ello, vamos a construirlo utilizando un descargable y luego le vamos a añadir un mini servo para hacer de barrera y un botón para mover el mini servo y dejar caer un único caramelo cada vez que pulsemos.
Explicamos que la programación del invento va a ser sencilla. Los componentes que vamos a usar son un botón y un mini servo y, para relacionarlos en el código, vamos a programar un simple condicional. Sin embargo, cuando hayamos terminado, tendremos que retocar el código para lograr que la barrera se abra y cierre con la velocidad suficiente como para que caiga exactamente un caramelo.
Entregamos el material de papelería y el descargable y empezamos pidiendo que recorten la pieza A. Tras ello, les pedimos que la doblen ligeramente por la línea central.
Les decimos que continúen con la pieza B. Una vez recortada, les pedimos que formen una caja pegando las pestañas de la pieza (por fuera, hacia las cara de color gris).
A continuación, les indicamos que recorten la pieza C y peguen las solapas para formar con ella una caja con un lado abierto. La pieza tiene un agujero que hay que recortar con tijeras o con punzón y alfombrilla.
Por último, les pedimos que recorten la pieza D y formen con ella una caja parecida a la pieza B, sin techo. La pieza tiene cuatro agujeros que hay que recortar o con tijeras o con punzón y alfombrilla.
Indicamos que, en algún momento, ya sea antes de cerrar la caja o después, hay que colocar y fijar con cinta adhesiva el mini servo y el botón en el interior de la caja. El mini servo va al lado del agujero grande, pegado a la pared y con la parte del cabezal traspasando el agujero alargado.
El botón va por el agujero mediano en una de las paredes de la caja.
Orientamos los cables de ambos componentes hacia abajo, puesto que después los pasaremos por el agujero de la base.
Con las cuatro piezas terminadas, las unimos usando pegamento por las caras de color gris con figuras iguales. A la hora de unir la pieza C y la D, les decimos que tengan especial cuidado de alinear ambos agujeros.
Pasamos los cables del mini servo y el botón por el agujero hasta la pieza C.
Para terminar, rellenamos con papel higiénico, servilletas o pañuelos el interior de la pieza D y colocamos la pieza A encima del relleno, formando una rampa inclinada que acabe en el círculo grande.
¡Ya tenemos el dispensador de caramelos! Indicamos que ahora solo falta conectar los componentes a la placa para programar:
Conectar el botón en un pin digital de la Zum Core 2.0, por ejemplo, en el 7.
Conectar el mini servo a otro pin digital, por ejemplo en el 11.
Tras esto, podemos dejar la placa dentro del dispensador y conectarla al USB a través del lado abierto de la caja.
Además de la placa controladora Zum Core 2.0., Bitbloq Robotics permite programar otra serie de placas basadas en Arduino, como por ejemplo: Zum Junior, Zum Core, Arduino UNO y Frearduino UNO.
Comenzamos facilitando a nuestro alumnado la librería Servo (Servo.zip) que se adjunta en el apartado Descargables de la actividad y les pedimos que accedan a la web de Bitbloq y seleccionen la herramienta Bitbloq Robotics Adv. Pedimos que nombren al proyecto como quieran y, a continuación, vamos explicando los siguientes pasos:
En el editor de texto de la pestaña Código:
Incluir la librería Servo. Para ello, pulsamos en Archivo arriba a la izquierda y después Importar nuevo recurso. Buscamos la librería facilitadas previamente y pulsamos Añadir.
Usamos la instrucción #include <Servo.h>. Explicamos que esta librería incluye funciones para utilizar los servos de forma sencilla.
Encima del setup, crear y dar un nombre significativo a una constante en la que guardar el número de pin en el que se ha conectado el botón. Para ello, podemos usar la instrucción const int seguida del nombre representativo e igualarla al número del pin.
Recordamos al alumnado que no puede poner espacios ni caracteres especiales excepto el guión bajo.
Añadir un servo al programa creando un objeto de tipo Servo. De esta forma, podremos usar las funciones propias de la librería.
#include <Servo.h>
const int boton = 7;
Servo servo;
En la función setup, declarar como entrada (INPUT) el pin en el que se ha conectado el botón.
Asignar el servo a un pin mediante la función attach. Esto sirve para vincular el control del servo a un pin digital en concreto.
void setup() {
pinMode(boton, INPUT);
servo.attach(11);
}
Dentro del loop (o bucle principal) vamos a programar un condicional que se ejecute cuando pulsemos el botón.
void loop() {
if (digitalRead(boton) == true) {
}
Dentro del condicional vamos a escribir un código que:
Mueva el servo a una posición que permita la salida de los caramelos.
Espere una cantidad exacta de tiempo que permita caer solo un caramelo.
Mueva el servo a una posición que impida la salida de los caramelos.
Explicamos que tanto el valor de la posición (en ángulos) del mini servo como el de milisegundos de espera son valores que van a depender de la construcción del dispensador de caramelos así que es trabajo de ellos y ellas encontrar los adecuados.
void loop() {
if (digitalRead(boton) == true) {
servo.write(10);
delay(250);
servo.write(90);
}
}
Para ello, indicamos al alumnado cómo cargar el programa en la placa para comprobar y elegir, de forma experimental, estos valores.
Seleccionar la placa Zum Core 2 en la lista de la zona superior derecha.
Pulsar el botón Compilar para verificar el programa.
Si la compilación es correcta, conectar la placa mediante el cable USB al ordenador y pulsar el botón Cargar.
Entregamos al alumnado caramelos esféricos o canicas para que prueben el dispensador.
Además de programar los valores correctos en el programa, también hay que colocar el cabezal adecuado para el mini servo. Si no tenemos uno adecuado, podemos pegar un trozo de cartulina doblada a un cabezal para hacer de barrera.
Les dejamos un tiempo para que terminen el código y les ayudamos si fuera necesario.
A continuación te proponemos algunas ideas para seguir practicando:
Rediseñar el código para que la barrera esté abierta “mientras” mantienes el botón pulsado.
Añadir un lector de monedas usando un sensor infrarrojo o de luz que haga que el botón solo funcione cuando haya una moneda.
Utilizar el puerto serie para que un usuario le diga un número de caramelos y el dispensador expulse ese número exacto de caramelos.
Haz clic en la imagen para abrir la página del proyecto en Bitbloq Robotics Adv.
Cargando...
¡Descubre la nueva plataforma de libros inteligentes, digitales e interactivos e imparte las asignaturas de una forma diferente!
Libros interactivos y editables.
Contenido inteligente impulsado por la IA.
Sistema de gestión del aula.
Bitbloq es un proyecto de: