Be Maker

Cargando...

Be Maker

Registrarse
section-icon

Guías de Ayuda

¡Aprende Robótica Educativa, Programación de Videojuegos y mucho más!

Arduino - Programación - Robótica - octubre 3, 2023

Kit de Robótica MakerBot V1

6

Gran CodeMaster

@admin

LECCIÓN ÚNICA

Para obtener tu recompensa debes estar registrado en nuestra plataforma y publicar tu trabajo

🧠 ¿Qué aprendo?

  • ¿Qué es un robot?
  • Kit de robótica Makerbot V1
  • La placa Arduino, el cerebro del robot
  • El entorno de programación ArduinoBlocks – Mi primer programa con Arduino
  • El shield driver motor L298P
  • Generando sonidos con el buzzer
  • Conexión y programación de los Motores DC
  • Midiendo distancias con el sensor ultrasónico
  • Comunicación Serial y control del robot por bluetooth

🧠 Conocimientos previos

🖥️ La Electrónica

💡 La electrónica estudia la conducción y el control del movimiento de los electrones (electricidad). Mira a tu alrededor: radio, televisor, PC, teléfono móvil, lavadora todos ellos tienen electrónica.

🖥️ El Átomo

💡 Los átomos existen en más de cien formas diferentes, pero podemos nombrar los elementos químicos como el hidrógeno, el carbono, el oxígeno, y el cobre. Los átomos de los elementos, pueden combinarse para formar moléculas, que construyen la materia que podemos ver y tocar físicamente en nuestro día a día.

🖥️ ¿Qué es la electricidad?

💡 La electricidad es una forma de energía que se manifiesta con el movimiento de los electrones de la capa externa de los átomos que hay en la superficie de un material conductor.

💡 Los electrones con carga negativa (-) y los protones con carga positiva (+) son amigos, por eso se atraen.

🖥️ ¿Qué es el Voltaje?

💡 Es la fuerza que necesita el electrón para moverse a través de un conductor (camino) en un circuito eléctrico cerrado. Su unidad es el Voltio (V). El instrumento usado para medir el voltaje se conoce como voltímetro.

“Tenemos dos tipos de voltaje: ac (alterna) y dc (continuo)”

➡️ Voltaje DC: Genera Corriente Continua (Direct Current)

➡️ Voltaje AC: Genera Corriente Alterna (Altern Current)

🖥️ ¿Qué es la Corriente?

💡 Es la cantidad de electrones que circulan por un circuito cerrado, su unidad de media es el amperio (A). El instrumento usado para medir la corriente se conoce como amperímetro.

🖥️ ¿Qué es la Resistencia?

💡 Es aquello que se oponen al paso del movimiento de electrones. Tenemos elementos con muy poca resistencia (conductores) como los cables metálicos y tenemos elementos con muy alta resistencia (aislantes) como el plástico. Su unidad es el Ohmio (Ω). El instrumento usado para medir la resistencia se conoce como óhmetro.

🖥️ Circuito Eléctrico

💡 Para la circulación de electrones tiene que haber un circuito cerrado, que es la conexión de componentes electrónicos entre sí. Se representa mediante un esquema electrónico.

🖥️ En Pocas Palabras

🧠 ¿Qué es un robot?

💡La palabra robot proviene del checo: robota, que significa trabajo duro o forzado. Se usó por primera vez durante la obra de teatro Rossum Universal Robots de Karel Čapek y su uso se extendió gracias a las obras de ciencia ficción creadas por el escritor Isaac Asimov.

🧠 Cerebro del robot: Procesamiento de Señal

💡 Se realiza mediante circuitos de procesamiento de señales generalmente conocidos como microcontroladores. Consisten en piezas electrónicas conectadas juntas para manipular, interpretar y transformar las señales de voltaje y corriente provenientes de los sensores (Entradas) y tomar las respectiva decisiones para generar acciones en las salidas.

🧠 Entradas de Datos: Sensores

💡 Las entradas o Inputs: Son sensores (o transductores) electrónicos o mecánicos que toman las señales (en forma de temperatura, presión, humedad, contacto, luz, movimiento, pH etc.) del mundo físico y las convierten en señales de corriente o voltaje.

🧠 Salidas de Datos: Actuadores

💡 Las salidas o Outputs: Son actuadores u otros dispositivos (también transductores) que convierten las señales de corriente o voltaje en señales físicamente útiles como movimiento, luz, sonido, fuerza, rotación entre otros.

🧠 Kit de robótica Makerbot V1

💡 Nuestro Kit de Robótica está conformado por varias partes para realizar tres funcionalidades distintas:

  • Telecontrolado (Futbolista)
  • Evasor de Obstáculos
  • Seguidor de Línea

A continuación se muestra la lista de componentes:

  • 1 Arduino UNO + cable
  • 1 Shield driver motor
  • 1 Sensor de distancia
  • 1 Módulo bluetooth
  • 2 Motores DC + ruedas
  • 1 Porta baterías
  • 2 Baterías 18650
  • 1 Chasis en MDF
  • 4 Cables jumper H-H
  • 1 Bola Loca
  • 1 Pack de tornillos y seguros

⚔️Desafío 01: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

✅ Realizar el reconocimiento de todas las partes de nuestro Kit de Robótica.

🧠 Ensamblaje de la Estructura Principal

💡 Lo que haremos a continuación será colocar las partes más importantes del Robot que conforman su estructura principal.

⚔️Desafío 02: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

✅ Realizar el ensamblaje de la estructura principal del Robot.

🧠 La Placa Arduino – El Cerebro del Robot

💡 Arduino es una plataforma de desarrollo basada en una placa electrónica de hardware libre que incorpora un microcontrolador re-programable y una serie de pines de conexión. Estos permiten establecer conexiones entre el microcontrolador y los diferentes sensores y actuadores de una manera muy sencilla (principalmente con cables jumper).

🖥️ Señales Digitales: Activar/Desactivar elementos

💡 Se caracterizan por tener dos estados diferenciados y por lo tanto se pueden llamar binarias. Siendo estas variables más fáciles de tratar (en lógica serían los valores Verdadero (V) y Falso (F) o podrían ser 1 ó 0 respectivamente).

🧠 El entorno de programación ArduinoBlocks

Plataforma ArduinoBlocks

💡 ArduinoBlocks es una plataforma online de uso libre y gratuito para robótica educativa que permite la programar en Arduino de forma visual a través de bloques. 

💡 A diferencia de otras aplicaciones similares, ArduinoBlocks es una plataforma totalmente online donde el usuario realiza y guarda su trabajo en la nube para evitar los imprevistos. Además, implementa una serie de funcionalidades cooperativas para poder buscar, compartir o valorar los proyectos de otros usuarios creando así una comunidad activa de lo que hoy se conoce como makers.

🖥️ ¿Qué necesitamos para programar con ARDUINOBLOCKS?

  • Crear una cuenta en ArduinoBlocks e iniciar un nuevo proyecto (a cada programa le denomina «Proyecto»)
  • Descargar e instalar ArduinoBlocks-connector (interfaz para cargar los programas a Arduino)
  • Hacer el programa y cargarlo en la placa desde el navegador. 

🖥️ Instalaciones Necesarias

💡 ArduinoBlocks Connector – Necesitamos el conector ArduinoBlocks para realizar la programación de Arduino desde el navegador.

🖥️ Cuerpo de un Programa

💡 Todo programa de Arduino necesita 2 partes principales:

  • Inicializar: Lo que programemos en esta sección sólo se ejecutará una sola vez.
  • Bucle: Acá viene nuestro código principal, ya que lo que programemos en esta sección se ejecuta de manera infinita mientras la placa Arduino tenga energía. 

📋 Ejemplo N° 1: Mi primer programa en Arduino

Plataforma ArduinoBlocks

💻 Descripción

🧠 Realizar la conexión y programación de la placa Arduino de un diodo LED o utilizar el LED que va integrado en la placa Arduino y que está conectado al PIN 13 para controlar el parpadeo cada 1/2 segundo

💻 Circuito

💻 Código

⚔️Desafío 03: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ A partir del código de programación explicado anteriormente, queremos que el LED integrado de Arduino prenda de manera intermitente de la siguiente manera:
A) 3 segundos prendido y 3 segundos apagado
B) 200 milisegundos prendido y 500 milisegundos apagado

Tip: 1s = 1000ms

⚔️Desafío 04: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ El Strober es un juego de luces que prende y apaga muy rápido, es muy usado en las fiestas, tu misión es realizar tu strober casero con el LED integrado que lleva Arduino (descubre cuál es el tiempo de espera más bajo que puedas colocar en la programación para que parpadee lo más rápido posible).

🧠 El shield driver motor L298P

💡 La placa Motor Shield L298p, es ideal para control de Motores DC, STEPPER, SERVO, etc. Posee interfaz para modulo Bluetooth. Soporta un consumo de 2a por canal. El modulo Motor Shield se basa en la L298, que es un controlador de doble puente H completo diseñado para impulsar cargas inductivas tales como relés, solenoides, motores de corriente continua y motores paso a paso. Le permite manejar dos motores de corriente continua con su tarjeta Arduino, controlando la velocidad y dirección de cada uno independientemente.

🖥️ Control de dos conexiones de motores DC:

  • VMS : Voltaje de alimentación
  • Tierra : Tierra
  • MA1 : Extremo positivo para motor A
  • MA2 : Extremo negativo del motor A
  • MB1 : Extremo positivo para motor B
  • MB2 : Extremo negativo del motor B
  • PWMA: Señal de control de velocidad para el motor A – Este pin está conectado al pin 10 de Arduino
  • PWMB: Señal de control de velocidad para el motor B – Este pin está conectado al pin 11 de Arduino
  • ENA: Señal de control para el motor A: si es ALTO, el motor está en modo directo y si es BAJO, el motor gira en reversa. Este pin está conectado al pin 12 de Arduino.
  • ENB: Señal de control para el motor B: si es ALTO, el motor está en modo directo y si es BAJO, el motor gira en reversa. Este pin está conectado al pin 13 de Arduino.

✅ Zumbador para hacer sonido:

  • BUZ : Pin del zumbador: este pin está conectado al pin 4 de Arduino

✅ Conexión para control de servomotor:

  • SER: Pin PWM para controlar el servomotor. Este pin está conectado al pin 9 de Arduino.

✅ Conexiones Bluetooth:

  • BT2: Pines de Bluetooth que incluyen pines +(3.3V), (GND), RX (conectado a D0) y TX (conectado a D1)

✅ Conexión del sensor ultrasónico:

  • ULT: pines de conexión al sensor ultrasónico que incluyen +(5V), (GND), Retorno (conectado a D9) y Gatillo (conectado a D8)

✅ Conexión LED RGB:

  • RGB: RGB: Para conexión a LED RGB, incluidos los pines B (conectado a D6), G (conectado a D5) y R (conectado a D3)

✅ Otras conexiones:

  • A/D: Pines analógicos y digitales A0 a A5 para uso de sensores y/o módulos externos
  • D2: Pin digital 2 para uso de sensor y/o módulo externo
  • RS: pin de reinicio
  • Tierra: Tierra
  • VCC: Fuente de alimentación de la placa – 3V, 5V

🧠 Generando sonidos con el buzzer

💡 Un buzzer pasivo es un dispositivo que nos permite convertir una señal eléctrica en una onda de sonido. Estos dispositivos no disponen de electrónica interna, por lo que tenemos que proporcionar una señal eléctrica para conseguir el sonido deseado.

🖥️ ¿Cómo funciona un Buzzer?

💡 Los buzzer son transductores piezoeléctricos. Los materiales piezoeléctricos tiene la propiedad especial de variar su volumen al ser atravesados por corrientes eléctricas.

💡 Un buzzer aprovecha este fenómeno para hacer vibrar una membrana al atravesar el material piezoeléctrico con una señal eléctrica. Los buzzer son dispositivos pequeños y compactos, con alta durabilidad, y bajo consumo eléctrico. Por contra, la calidad de sonido es reducida.

🖥️ Bloque de programación

💡 Un zumbador piezoeléctrico consigue generar un sonido al vibrar en la frecuencia de la señal eléctrica que recibe. El valor en frecuencia de la señal determinará el tono en el que suene el piezoeléctrico. Es un sonido de muy baja calidad pero vamos a poder generar notas y con ello música.

💡 El bloque de programación para generar sonidos y melodías lo podemos encontrar en el grupo: Actuadores.

📋 Ejemplo N° 2: Generando sonidos con el zumbador

Plataforma ArduinoBlocks

💻 Descripción

🧠 Ahora controlemos el buzzer y adaptemos una melodía muy conocida… Realiza el siguiente código y dinos que melodía se reproduce.

Tip: Ludwing es una función que la puedes crear desde Funciones y colocarle el nombre que tu desees.

💻 Circuito

💻 Código

⚠️ Recuerda: En el siguiente código hace uso del PIN13 para generar el sonido. En nuestro caso debemos reemplazar el PIN13 por el PIN4 para que funcione el buzzer de nuestro robot.

⚔️Desafío 05: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ Realiza la melodía equivalente a la siguiente nota que es del himno de la alegría

🧠 El Motor de Corriente Continua (DC)

💡 Un motor de corriente continua (CC) es una máquina giratoria que convierte energía eléctrica en energía mecánica.

🖥️ ¿Cómo funciona un Motor DC?

💡 La funcionalidad del motor DC está basada en el principio de inducción, bajo el cual se crea una fuerza electromagnética a partir de una corriente de entrada que, a la vez, crea un movimiento giratorio.

🧠 Podemos aumentar o disminuir la velocidad variando el voltaje, además de cambiar el sentido de giro al cambiar la polaridad de alimentación en el motor.

🧠 Accionando Motores DC – Nuevamente el Driver de Corriente L298P

💡 Como se había mencionado anteriormente, el motor shield para Arduino, es un escudo basado en el chip L298P, este chip es un doble puente H. Es una muy buena opción para los que necesitan controlar dos motores de corriente continua, ya que, sin necesidad de cables, puede ser instalado en el Arduino UNO.

🖥️ Bloques de Programación – Configurando Motores

💡 El bloque de programación para los motores lo encontramos en la pestaña Motor->Motor DC.

💡 Lo primero que realizaremos será colocar el bloque de configuración de motores en el bloque Inicializar.

🧠 Se debe tener en cuenta que los pines de control de los motores DC son los que se muestran en la imagen superior, teniendo en cuenta lo siguiente:

  • 10 -> Pin de velocidad del motor A
  • 12 -> Pin de control de giro del motor A
  • 11 -> Pin de velocidad del motor B
  • 13 -> Pin de control de giro del motor B

📋 Ejemplo N° 3: Moviendo al Robot MakerBot V1

Plataforma ArduinoBlocks

💻 Descripción

🧠 Realizar la programación de los Motores de MakerBot 1 para que ambos motores DC se muevan hacia adelante por 3 segundos y después se detenga.

💻 Circuito

💻 Código

⚠️ Recuerda: Que si alguna de las rudas no giran hacia adelante, entonces debes intercambiar la posición de los cables de dicho motor.

⚔️Desafío 05: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ Utiliza la información del ejercicio «Moviendo al Robot MakerBot V1» para que tu robot pueda ir hacia adelante por 3 segundos, se detenga por 1 segundo y después se mueva hacia atrás por 3 segundos.

📋 Ejemplo N° 4: Control de Velocidad de los Motores DC

Plataforma ArduinoBlocks

💻 Descripción

🧠 Realizar la programación de los Motores de MakerBot 1 para que avancen hacia adelante por 5 segundos a una velocidad intermedia en comparación con su máxima velocidad y luego se detenga.

💻 Circuito

💻 Código

⚠️ Recuerda: Rango de velocidad está dado por los valores de 0 (motor detenido) a 255 (máxima velocidad)

⚔️Desafío 06: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ Utiliza la información del ejercicio «Control de Velocidad de los Motores DC» para que tu robot se mueva lo más lento posible.

📋 Ejemplo N° 5: Controlando los Motores DC con Funciones

Plataforma ArduinoBlocks

💻 Descripción

🧠 Las funciones nos ayudan a reutilizar código de una manera más organizada y óptima, en el siguiente ejemplo veremos como programar nuestros motores con una función para que el mismo se mueva hacia adelante durante 3 segundos y después se detenga.

💻 Circuito

💻 Código

⚠️ Recuerda: Tu decides que nombre darle a tus funciones a la hora de crearlas y que estas funciones NUCA DEBEN ESTAR POR ENCIMA DE LA CONFIGURACIÓN DE MOTORES.

⚠️ Recuerda: Los bloques velocidad y tiempo son variables numéricas que lo puedes crear en la pestaña variables.

⚔️Desafío 07: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ Realizar la programación utilizando funciones para que tu robot pueda avanzar hacia adelante por 2 segundos y después se mueva hacia atrás por 3 segundos para luego dejar de moverse.

📋 Ejemplo N° 6: Girando al Robot MakerBot 1

Plataforma ArduinoBlocks

💻 Descripción

🧠 Realizar la programación del robot para que el robot MakerBot 1 pueda girar hacia la izquierda sobre su propio eje un tiempo de 3 segundos y luego se detenga.

💻 Circuito

💻 Código

⚠️ Recuerda: Girar al robot sobre su propio eje no es una tarea complicada, lo único que debes tener en cuenta es que mientras una rueda gira hacia adelante, la otra rueda debe girar atrás (o también puedes probar deteniendo dicha rueda).

⚔️Desafío 08: Demuestra lo aprendido

💰Recompensa: 30 Monedas de Oro – 15 Cristales de Experiencia

Plataforma ArduinoBlocks

✅ Realizar la programación para que tu robot pueda girar a la izquierda por 2 segundos, después se detenga por 1 segundo, después gire a la derecha por 2 segundos y posteriormente deje de moverse.


Recuerda

💡 «Lo único imposible es aquello que no intentas«