sábado, 15 de agosto de 2020
Qué es un robot Arduino
Y, ¿un robot Arduino?
Un robot Arduino es aquel que incorpora la licencia de código abierto y hardware libre de Arduino. Es lo que se conoce como «open source«. Arduino es un proyecto colaborativo que ha ofrecido sistemas baratos, útiles y fáciles de utilizar para fomentar el aprendizaje de la robótica y la electrónica.
En Arduino diseñan y fabrican placas programables que pueden utilizarse en multitud de pequeños sistemas electrónicos con una gran cantidad de usos. Con las placas de Arduino puedes, desde controlar el sistema de luces de tu hogar hasta fabricar un dron. Y, por supuesto, también un robot o autómata por poner algunos ejemplos. Ese será nuestro robot Arduino.
Filosofía Arduino y robótica educativa
Además de la filosofía del open source, Arduino también es exponente del «háztelo tú mismo«. Esto es consecuencia de su objetivo de fomentar el aprendizaje. Es por eso que tienen bien cubierto el área de la robótica infantil y para niños, los robóticos del futuro. Si lo que quieres es focalizarte en la robótica educativa, puedes pinchar y visitar nuestras categoría y subcategoría
Partes de la placa para nuestro robot Arduino
Las placas de Arduino facilitan enormemente iniciarse en este campo. De otra manera sería mucho más complicado y más caro. Para explicar cómo funciona utilizaremos imágenes del modelo de tarjeta o placa Arduino 1, la más básica y conocida. Tiene un color azul característico y su logo
La importancia de los sensores en robótica
Los sensores en robótica
Los sensores en robótica
Un robot por su propia definición, debe ser una máquina capaz de relacionarse con el entorno que le rodea e interactuar con el mismo para tomar decisiones. Los seres humanos dispones de un sistema sensorial que nos permite interrelacionarnos con lo que nos rodea.
De la misma manera, los robots precisan de dicho sistema sensorial para adaptar sus movimientos y las acciones a realizar en función de los estímulos o respuestas que reciba de todo aquello que le rodea. Para conseguir esto, se utilizan diversos tipos de sensores que permiten dotar al robot de información precisa y al momento del entorno que le rodea.
Al inicio de la robótica, los sensores eran dispositivos muy básicos y limitados, pero hoy en día podemos encontrar todo tipo de sensores de gran precisión. La industria de los sensores también evoluciona rápidamente y el nivel de sofisticación actual de estos elementos es muy elevado.
Cómo funciona un sensor
Más adelante veremos los diferentes tipos de sensores que podemos utilizar en robótica, pero primero es interesante conocer cómo funciona un sensor.
Un sensor es un dispositivo diseñado para percibir información externa de una magnitud física o química y transformarla en un valor electrónico que sea posible introducir al circuito de control de un microcontrolador, como puede ser Arduino, de modo que el robot sea capaz de cuantificarla y reaccionar en consecuencia en base a su programación.
Un sensor consta de algún elemento sensible a una magnitud física o química, como por ejemplo la intensidad o color de la luz, la temperatura, la presión, el magnetismo, la humedad,… y debe ser capaz, por su propias características, o por medio de dispositivos intermedios, de transformar esa magnitud física en un cambio eléctrico que se pueda alimentar en un circuito que la utilice directamente, o sino en una etapa previa que la condicione (amplificando, filtrando, etc.), para que finalmente se pueda utilizar para el control de un robot.
Tipos de sensores
Como hemos comentado, existe una gran diversidad de sensores y a continuación mencionaremos aquellos que más suelen utilizarse.
Sensores de velocidad: Son sensores que se utilizan para determinar la velocidad de movimiento de los robots. Estos sensores determinan la velocidad de giro de los motores. Este tipo de sensor se llama tacómetro. A partir de estas medidas, se utilizan actuadores (otro tipo de dispositivos), con el fin de modificar la velocidad de giro de los motores.
Sensores de luz: Dentro de los sensores de luz, existen una amplia gama de dispositivos con diferentes funciones, estamos hablando de fotodiodos, fotorresistores e incluso cámaras de video. Su función es determinar la cantidad de luz existente en el entorno del robot con el fin de actuar en función de los valores obtenidos.
Sensores de distancia: Los sensores de distancia determinan la distancia existente a un objeto. Pueden ser de dos tipos, ya sea por infrarrojos o bien por ultrasonidos. Los basados en ultrasonidos ofrecen información de la distancia mientras que los que funcionan por infrarrojos suelen emplearse para detectar objetos en ciertos rangos de distancia y excepcionalmente también dan información de la distancia.
Sensores de sonido: Mediante estos sensores, los robots reaccionarán al sonido. Dentro de esta gama de sensores se engloban micrófonos y captadores piezoeléctricos. Estos sensores, además de usarse para captar sonido, se pueden usar también para medir distancias, al emitir el robot un sonido y medir el tiempo de rebote de dicho sonido en el obstáculo.
Sensores de temperatura y humedad: Los sensores de temperatura se pueden utilizar para diferentes aplicaciones en robótica. La más básica para activar dispositivos ante cambios de temperatura. Existen diferentes tipos de sensores de temperatura como son termistores, pirosensores o termorresistencias. En función del uso que se vaya a dar, se usarán de un tipo u otro. De la misma forma existen sensores de humedad que suelen ser capacitivos o resistivos para detectar cambios de humedad en el ambiente.
Además de todos estos sensores que hemos comentado, podemos encontrar muchos más como de magnetismo, de ubicación geográfica, de gravedad o de presión y fuerza. El abanico es muy amplio. Lo que tenemos que tener claro es que un robot sin sensores es de muy poca utilidad a no ser que tenga una función muy específica que no requiera de sensores.
Si estás haciendo tus pinitos con Arduino, debo indicarte que en el mercado puedes encontrar packs de sensores específicos para esta placa y que te permitirán realizar proyectos interesantes.
ROBOT Bluetooth
Diferencia entre Bluetooth Arduino HC-05 y HC-06
El módulo Bluetooth Arduino HC-05 y el HC-06 son los más populares por su facilidad de uso y por su bajo precio.
Además, si no tienes mucha experiencia en estos módulos, puede que los confundas ya que su aspecto físico es muy parecido.
Sin embargo, existen grandes diferencias entre el módulo HC-05 y el HC-06 que se pueden ver a simple vista.
La primera es el número de pines. El módulo Bluetooth Arduino HC-05 tiene 6 pines mientras que el HC-06 tiene solo 4 pines.
También salta a la vista que el módulo HC-05 tiene un pulsador integrado en la placa y el HC-06 no lo tiene (luego veremos para qué se utiliza).
Con respecto a los módulos, el HC-05 utiliza el módulo Bluetooth EGBT-045MS y el HC-06 utiliza el módulo Bluetooth EGBT-046S.
Estos módulos son prácticamente iguales con respecto al hardware. La gran diferencia se encuentra en el firmware que utilizan.
Chip de radio | CSR BC417 |
Memoria | Flash Externa 8Mbit |
Potencia de salida | -4 a +6dbm Clase 2 |
Sensibilidad | -80dbm típica |
Bit rate | EDR, más de 3Mbps |
Interfaz | UART |
Antena | Integrada |
Dimensiones | 27mm x 13mm |
Voltaje | 3,1V a 4,2V |
Corriente | 40mA max |
Bluetooth* | 2.0 |
*Los módulos Bluetooth HC-05 y HC-06 se basan en Bluetooth 2.0 y esto hace que no sean compatibles con móviles de Apple. Tenlo en cuenta a la hora de utilizar este componente con un dispositivo con iOS.
La diferencia en cuanto al firmware hace que el módulo Bluetooth Arduino HC-05 pueda funcionar como maestro y esclavo mientras que el HC-06 pueda funcionar solo en modo esclavo.
Con esta información espero que puedas diferenciar un módulo de otro fácilmente.
A partir de aquí voy a seguir con el módulo Bluetooth Arduino HC-05 que es el que yo tengo pero puedes utilizar el HC-06 ya que el uso que le vamos a dar en este proyecto es de esclavo y no maestro.
Pineado Bluetooth Arduino HC-05
Vamos a comenzar por los pines. El módulo Bluetooth Arduino HC-05 tiene 6 pines.
- EN: este pin es el ENABLED y sirve para habilitar (HIGH) o deshabilitar (LOW).
- VCC: los módulos Bluetooth Arduino HC-05 incluyen un regulador de voltaje de 3,3V y esto permite que se pueda alimentar con un voltaje entre 3,6V y 6V por este pin.
- GND: es el pin de tierra o GROUND.
- TXD: es el pin serie de salida. Funciona a 3,3V. Todos los datos recibidos a través del Bluetooth se transmitirán a través de este pin.
- RXD: es el pin serie de entrada. Funciona a 3,3V. Todos los datos en serie proporcionados a este pin se enviarán por Bluetooth.
- STATE: es el pin de estado y proporciona información del estado en el que se encuentra el módulo Bluetooth Arduino HC-05. Si está en estado alto (HIGH) quiere decir que está conectado. En caso contrario (LOW) indica que el módulo no está conectado. Se puede utilizar en una entrada digital de Arduino para dentro del código saber el estado del módulo Bluetooth HC-05.
A la hora de conectar los pines TXD y RXD con Arduino, como verás más adelante, debes tener ciertas precauciones. Los dos pines funcionan a 3,3V. Para conectar el TXD no hay problema ya que Arduino interpreta 3,3V como una señal alta sin embargo, con el pin RXD hay que llevar cuidado. No deberías conectar este pin directamente a Arduino ya que, aunque a corto plazo funciona, a largo plazo lo que conseguirás es dañar el pin RXD y dejarás inservible el módulo Bluetooth Arduino HC-05.
HC-05 y los comandos AT
Otro componente dentro del módulo Bluetooth Arduino HC-05 es el pulsador o botón. Sirve para poner el módulo en modo comandos AT es decir, poder comunicar con el HC-05 a través de los comandos AT.
Es algo así parecido a cómo lo hacíamos con el módulo ESP-01 basado en el ESP8266 en los orígenes de este SoC.
Para entrar en el modo comandos AT tienes que presionar el pulsador al iniciar el módulo Bluetooth Arduino HC-05. Realmente lo que sucede es que está poniendo un pin (el 34) del módulo en estado alto (HIGH).
En algunos módulos más antiguos no hay un pulsador dentro del módulo Bluetooth Arduino HC-05. Además, el pin EN no está accesible y por el contrario hay un pin que se llama KEY. Este pin funciona igual que el pulsador. Si antes de encender el módulo HC-05 pones el pin en alto (HIGH) el módulo entrará en modo AT.
¿Por qué poner el módulo Bluetooth Arduino HC-05 en modo AT?
El modo comandos AT permite cambiar algunas de las configuraciones del HC-05:
- Cambiar el nombre.
- Cambiar la velocidad en baudios.
- Establecer si funciona en modo maestro o esclavo.
- Obtener la dirección MAC.
Esto son solo una muestra de cosas que puedes hacer en este modo. A continuación te dejo la lista de comandos AT completa.
Trabajar con los comandos AT es un poco complejo (yo lo odio), sin embargo hay diferentes librerías que te facilitan su uso. A continuación te dejo unas cuantas con las que podrías trabajar:
Más adelante verás cómo entrar en el modo comandos AT para obtener algunos datos importantes del módulo Bluetooth HC-05.
Pero lo primer es ver cómo conectar el módulo HC-05 a Arduino.
Conexión módulo Bluetooth HC-05 con Arduino
Antes de empezar, el material necesario que vamos a utilizar es el siguiente:
Para conectar el módulo Bluetooth HC-05 y Arduino primero tienes que identificar qué tipo de componente tienes entre manos. Vamos a distinguir dos: el módulo con un pulsador en la placa y el módulo sin pulsador.
La primera opción es utilizar el módulo con pulsador y pin EN. El esquema de conexión sería el siguiente.
La segunda opción es utilizar un módulo Bluetooth HC-05 sin pulsador. En este caso la conexión se hace de forma diferente como veremos a continuación.
La diferencia entre los dos circuitos es que en este último he conectado el pin KEY y el pin de alimentación VCC a dos pines digitales, los pines 6 y 7.
La idea es poder controlar el estado del pin KEY antes de que se encienda el módulo Bluetooth Arduino HC-05.
No hay ningún problema a la hora de alimentar el módulo Bluetooth HC-05 a través de un pin digital. Según las especificaciones técnicas de este módulo, consume un máximo de 40 mA que es precisamente el máximo que pueden proporcionar los pines del Arduino UNO.
Bluetooth Arduino HC-05 y el modo comandos AT
Si hay algo que no me gusta nada ya desde los inicios del ESP8266, es el modo comandos AT. Acostumbrado a programar con C/C++ los comandos AT son muy poco intuitivos.
Aún así, es necesario entrar en este modo para poder ver cierta información del módulo Bluetooth HC-05 que luego nos hará falta.
Como tenemos dos posibles circuitos, también tendremos dos formas de entrar en el modo comandos AT. Vamos a empezar con el módulo HC-05 con pulsador.
VIDEO PASO A PASO ROBOT
https://cdn.shopify.com/s/files/1/0020/8027/6524/files/IMG_3043_1024x1024.jpg?v=1524245139
miércoles, 12 de agosto de 2020
ROBOTICA
Propósito: Identifica los elementos básicos para la construcción de un prototipo.
Qué es una Protoboard?
Introducción a los motores
Básicamente
existen dos tipos de micromotores que se utilizan en robótica. Los motores de
corriente continua o motores de corriente directa y los servo motores o motores
paso a paso (stepper motors). En la secciones siguientes se detallan los
componentes que integran cada uno de ellos, el uso típico que se les da a la
hora de construir robots y ejemplos del circuito de control de los mismos.
Motor de corriente continua (DC)
Los micromotores DC (Direct Current) o
también llamados CC (Corriente Continua) son muy utilizados en robótica. Los
hay de distintos tamaños, formas y potencias, pero todos se basan en el mismo
principio de funcionamiento.
Accionar un motor DC es muy simple y solo es
necesario aplicar la tensión de alimentación entre sus bornes. Para invertir el
sentido de giro basta con invertir la alimentación y el motor comenzará a girar
en sentido opuesto.
A diferencia de los motores paso a paso y los
servomecanismos, los motores DC no pueden ser posicionados y/o enclavados en
una posición específica. Estos simplemente giran a la máxima velocidad y en el
sentido que la alimentación aplicada se los permite.
Componentes de un motor DC
El motor de corriente continua está compuesto de 2 piezas fundamentales son
Rotor
Estator
El Rotor
Constituye la parte móvil del motor,
proporciona el torque para mover a la carga.
Figura 01:
Frente y dorso de un rotor.
Está formado por:
- Eje: Formado por una barra de acero fresada.
Imparte la rotación al núcleo, devanado y al colector.
- Núcleo: Se localiza sobre el eje.
Fabricado con capas laminadas de acero, su función es proporcionar un
trayecto magnético entre los polos para que el flujo magnético del
devanado circule.
- Devanado: Consta de bobinas aisladas
entre sí y entre el núcleo de la armadura. Estas bobinas están alojadas en
las ranuras, y están conectadas eléctricamente con el colector, el cual
debido a su movimiento rotatorio, proporciona un camino de conducción
conmutado.
- Colector: Denominado también conmutador,
está constituido de láminas de material conductor (delgas), separadas
entre sí y del centro del eje por un material aislante, para evitar
cortocircuito con dichos elementos. El colector se encuentra sobre uno de
los extremos del eje del rotor, de modo que gira con éste y está en
contacto con las escobillas. La función del colector es recoger la tensión
producida por el devanado inducido, transmitiéndola al circuito por medio
de las escobillas (llamadas también cepillos).
El Estator
Constituye la parte fija de la máquina. Su
función es suministrar el flujo magnético que será usado por el bobinado del
rotor para realizar su movimiento giratorio.
¿Cómo funcionan las bombillas LED?
Una lámpara LED está formada por numerosos LEDs o ledes, es decir, diodos emisores de luz. Estos diodos no emiten una luz muy potente, por eso es necesario juntar muchos LEDs para igualar a una bombilla clásica. Aqui puedes ver los diferentes LEDs o ledes que incluye una lámpara de este tipo:
Un LED produce luz cuando el movimiento de los electrones en el interior del diodo libera energía en forma de fotones. El color depende de la energía del fotón, por eso se puede manipular para obtener el que se desee.
La clave para su evolución fue la invención del LED azul (sus creadores recibieron el Nobel de Física en 2014), que al mezclarlo con amarillo da lugar a la luz blanca de alta intensidad que ha permitido utilizar los LEDs como sustitutos de las bombillas tradicionales.
Las bombillas LED funcionan con corriente continua, por eso contienen un pequeño transformador para funcionar con la corriente alterna de las casas.
También llevan un driver, que es una pequeña fuente de alimentación que suministra la tensión adecuada. Las bombillas lo tiene en su interior, pero los tubos LEDs y otras soluciones a veces usan un driver externo. Es mejor porque así se produce menos calor en los LEDs.