Arduino Nuestra placa ejecuta los bloques a gran velocidad. Concretamente a 16 Mhz, es decir que realiza 16 millones de operaciones por segundo. Por ello la velocidad con la que se maneja la información ha de ser tratado con una velocidad de comunicación medida en baudios por segnudo y el bucle loop se ejecutará una y otra vez sin descanso a esta velocidad de 16 MHz. Microprocesador AtMega328. Puerto USB. Led de transmisión/recepción. Pines de conexión digital. Pines de…
Desarrollamos en este apartado todos los pasos para crear el Smart Car Chassis de 4 ruedas y así montar sin error cada una de las partes de nuestro modelo robótico que después nos dispondremos a controlar con la placa de Adafruit MotorShield. Chasis y Motores Primero debemos preparar los motores en la parte de abajo con las pestañas que nos dan en el kit Por último se añaden los encoders ópticos que hemos visto anteriormente cómo se programan en una…
El sensor ultrasonido es un dispositivo que nos permite medir obstáculos que puedan a estar a una distancia de hasta 4 metros. Esto nos puede servir para hacer que nuestros robots puedan recopilar información de su entorno para no chocarse a medida que circulan por el suelo. Se basa en el envío de una onda sonora que rebota contra una superficie y ésta es devuelta. Esta onda es emitida por un material piezoeléctrico que al ser sometido a una…
Clumsee es un robot que a medida que se va añadiendo módulo por módulo se va haciendo cada vez más grande y nos puede dar problemas asociados con la memoria. Por ello, existe una alternativa estable de este Robot para llevarla a cabo con una placa Arduino 101. Esta placa, nos da una mayor estabilidad con sus sistema de navegación CurieIMU y además su conexión Bluetooth CurieBLE nos permite ahorrar energía y favorece el flujo de comunicación remota. Para comenzar…
Desde nuestro monitor serie disponemos de un cable para enviar información y otro para recibirla. En la gran mayoría de casos se envía información para conocer el estado de las variables dentro de un programa para poder conocer como se gestionan durante la ejecución del mismo. Pero muy pocas veces se utilizan para leer datos a menos que creemos una comunicación Bluetooth para recibir datos de otro dispositivo. Como en cualquier comunicación bidireccional nos interesa que los datos quese intercambian…
En estos momentos ya sabremos hacer un montón de cosas con nuestras aplicaciones. Mandar un texto, mandar un número, definir instrucciones con un conjunto de datos. En fin, se podría decir que estamos empezando a crear un protocolo de comunicaciones personalizado. En el post anterior nos quedamos con la forma de enviar datos desde nuestro robot a nuestras aplicaciones por Bluetooth. Ahora vamos a extender este apartado enviando datos a nuestroo robot, pero atendiendo a un caso muy especial. Vamos…
En muchos tutoriales anteriores hemos explicado el formato para enviar datos de nuestra aplicación con App Inventor a nuestros robots con Arduino. Pero ahora nos toca hacer lo contrario. Enviar datos de nuestro robot a nuestra aplicación móvil. Este caso es muy útil cuando tenemos un robot con el que no hay contacto visual, por ejemplo detectando obstáculos con un sensor ultrasonido y esa información nos sería útil para saber si debemos elegir un camino u otro para avanzar por…
Con el ejercicio anterior hemos podido desarrollar las lecturas de un termistor para crear un elemento de control PID sobre un actuador. Para ello, vamos a desarrollar el circuito que vamos a implementar para el actuador con un MOSFET y para conseguirlo vamos a aplicar el siguiente esquema. La resistencia de 10KΩ es muy importante utilizarla entre la patilla de Gate y Source, para evitar que el Mosfet actue como una resistencia y se queme. Siguiendo el esquema anterior podemos…
Uno de los ejercicios más comunes para Arduino es la adquisición de un valor de temperatura. Podemos realizar este proceso con una librería, pero vamos a investigar un poco más la ciencia que hay en su interior. Vamos a realizar un ejercicio para obtener valores de temperatura y en un segundo tutorial introduciremos un control de temperatura con un calentador mediante PID. Los sistemas PID siempre requieren de un actuador y de un sensor. Así que vamos con la parte…
En este tutorial vamos a extender la misma aplicación que hemos utilizado anteriormente para escribir cadenas de texto. Y es que en el momento que queramos utilizar el bloque definido desde la extensión de App Inventor para escribir una cadena de texto, el programa anterior solo atenderá a números o a caracteres. Así que si queremos intercambiar información en formato de texto, modificaremos ligeramente la aplicación anterior. Para ello, vamos a añadir una caja de texto para escribir un mensaje…
Un ejemplo muy habitual para realizar un primer proyecto con Arduino es la creación de una máquina Morse para mandar mensajes secretos con un LED basándonos en el código Morse. Este ejemplo, quizás sea algo sencillo para realizar, pero para ponernos a prueba vamos a realizar un ejercicio que no es tan común o evidente de resolver, que es el decodificador Morse (Morse Decoder). Para el decodificador Morse se requiere de un sensor de luz que es el que usaremos…
Vamos a crear nuestra primera aplicación BLE con App Inventor y con Arduino 101. Para empezar deberemos tener instalado, descargado y leido todos los consejos desde el principio de estos tutoriales para poder abordar cualquier problema que pudiera haber ocurrido hasta el momento. Lo primero que realizaremos será crear una aplicación capaz de conectarse con la extensión BLE y mandaremos un dato desde nuestro dispositivo móvil a nuestra placa. Para este primer paso podemos seguir el tutorial que nos proporcionan…
Es momento de dar voz a nuestros robots. Hace tiempo explicamos una manera de obtener un montón de sonidos para nuestros robots . Si nos hemos hecho ya una lista personalizada de sonidos para almacenar dentro de una tarjeta SD, ahora tendremos que crear una aplicación que nos permita poder ejecutar las canciones que estan guardadas en función de los sucesos o sensores del robot. Para ello, vamos a explicar de manera sencilla este proceso mediante la plataforma de programación…
En el tutorial anterior, completamos el código de nuestro robot Beetle para crear una comunicación Bluetooth con varias aplicaciones. Para ello utilizabamos una aplicación llamada Arduparser que nos daba la posibilidad de leer cadenas de texto que contienen información que es procesada en trozos divididos por delimitadores. Con respecto al programa anterior vamos a realizar algunas modificaciones. Calibración del nivel de luz para ordenar la ejecución de movimiento Calibración de la diferencia de luz medida entre los dos sensores Modificación…
En muchas ocasiones; una vez que hemos desarrollado el programa completo de un robot, podremos fijarnos que su memoria queda en gran parte desaprovechada. Por ejemplo, en el ejercicio del robot Beetle en el que incluíamos varíos modos de juego con comunicación Bluetooth para control remoto nos aparece que la memoría consumida es del 24%. En este tutorial extenderemos lo qué podemos hacer con esta memoria sobrante para incluir más modelos de juego. Aún tenemos memoria suficiente para incluir más…
Antes de empezar a explicar cómo crear un programa con App Inventor para que responda por Bluetooth con nuestra placa Arduino 101, vamos a intentar entender en qué se diferencia este nuevo modelo de Bluetooth BLE con respecto al antiguo que ibamos utilizando a través de la librería SoftwareSerial con el conocido módulo HC-05. Durante el desarrollo de estos tutoriales utilizaremos la placa Arduino 101, pero estos modelos de programación se pueden desarrollar de la misma manera para los módulos…
En este momento podemos proceder a la programación de movimientos con nuestro sensor IMU de movimiento. Para ello necesitaremos realizar un montaje que contenga dos servomotores, el sensor y un dispositivo Bluetooth, para facilitar el modo de pruebas y comprobar que nuestro robot funciona adecuadamente. En caso de no disponer de un módulo Bluetooth en el siguiente post indico la manera de programar eventos en el tiempo para este modo de pruebas. En caso de no disponer de un montaje,…
El concepto RAW que en inglés quiere decir en crudo, es la manera de decir que estamos recibiendo unos datos directamente del dispositivo, pero que aún no sabemos muy bien cómo interpretarlos. Es cómo sacar oro de una mina, en la que hay que separar la piedra y otros metales mediante un proceso muy laborioso hasta conseguir oro puro. Un sensor IMU es un elemento muy complejo que contiene mucha más electrónica en su interior. Filtros, interrupciones, conversores… y…
En el momento que tengamos un sensor de color; ya lo podremos integrar en nuestro robot para que funcione y a medida que se vaya moviendo podremos realizar distintas funciones a medida que va detectando cambios de color sobre una superficie. Pero antes de realizar un montaje sobre un robot… Podemos pensar un momento qué es lo que ocurrirá cuando lo pongamos sobre nuestro escenario. *Esta historia está basada en hechos reales; así que si no queréis perder tiempo de…