Recursos para proyectos Arduino

Aquí podemos encontrar multitud de recursos e ideas pare realizar proyectos controlados con Arduino.

Theremíns y arpas láser.

El Theremin es un instrumento musical inventado por el ruso Leon Theremin en 1919. Fue uno de los primeros instrumentos musicales electrónicos, y además de su sonido, lo más curioso es que el músico no tiene ningún contacto físico con él. En RS también podemos encontrar información sobre el Theremín.

En Arduino podemos encontrar información sobre como usar un CapacitiveSensor.

El arpa láser es un instrumento musical electrónico, en el que las cuerdas de un arpa convencional son sustituidas por haz láser. El término arpa láser, así como su primer diseño funcional, fueron inventados por Bernard Szajner en 1981. En Aliexpress se pueden conseguir estos láseres a muy buen precio.

Música y Arduino

En la carpeta del ejemplo del secuenciador de Arduino hay archivos de música, en formato WAV de 8 bits a 8 KHz, que se pueden ejecutar. La carpeta esta en:

Arduino/libraries/BasicEducationShield/examples/Magic/Sequencer/Sound Files/

Capturar imágenes con una cámara web

Para usar la cámara (Logitech C270 conectada a un puerto USB del ordenador) hay un código para Processing que se ejecuta en Processing. Este código esta en:

Arduino/libraries/BasicEducationShield/examples/Magic/CookieMonster/Processing

En Processing se encuentra un tutorial que explica como usar processing 2.1 o mayor, para detectar la cámara.

Domótica

Un sistema indicador de la utilización de los lavabos (Semáforo) se puede ver en Ustwo.

El juego de la vida

El juego de la vida es un autómata celular diseñado por el matemático británico John Horton Conway en 1970.

Hizo su primera aparición pública en el número de octubre de 1970 de la revista Scientific American, en la columna de juegos matemáticos de Martin Gardner. Desde un punto de vista teórico, es interesante porque es equivalente a una máquina universal de Turing, es decir, todo lo que se puede computar algorítmicamente se puede computar en el juego de la vida.

Impresoras 3D y grabadores láser de bajo coste

Se trata de hacer una impresora super low cost utilizando unidades de CD como motores. En Instructables se puede encontrar un modelo de estas impresoras. También podemos encontrar diversos modelos de grabadoras láser.

También se pueden fabricar fresadoras CNC.

Skyball, un robot dentro de una bola y otros proyectos

Se trata de un robot controlado por bluetooth y metido dentro de una bola.

En Instructables podemos encontrar información de un proyecto de control de la distancia recorrida y la velocidad de un skateboard mediante un sensor magnético y un imán acoplado a una rueda.

Este proyecto utiliza unas luces de navidad controladas por SMS. Este otro robot con tiesto busca el sol. En Instructables podemos encontrar otros muchos proyectos para Arduino.

Mano robótica

Aquí se pueden ver dos vídeos de proyectos de manos robóticas.

LilyPad

LilyPad Arduino es una placa electrónica diseñada para accionar wearables (Conjunto de aparatos y dispositivos electrónicos que se incorporan en alguna parte de nuestro cuerpo interactuando continuamente con el usuario y con otros dispositivos con la finalidad de realizar alguna función específica, relojes inteligentes o smartwatchs, zapatillas de deportes con GPS incorporado y pulseras que monitorizan nuestro estado de salud son ejemplos entre otros de este tipo tecnología que se encuentra cada vez más presente en nuestras vidas.) y e-textiles (También conocidos como textiles electrónicos o textiles inteligentes, son las telas que permiten incorporar componentes digitales.). LilyPad Arduino puede ser cosida a la tela, con sus fuentes de alimentación, sensores y actuadores.

Cubos de LEDs

Con un cubo repleto de LEDs se pueden conseguir asombrosas imágenes.

Tren de levitación magnética

Un proyecto a realizar con Arduino podría ser un tren de levitación magnética, o el simple hecho de suspender algo de un electroimán, sin tocarlo. Se emplean sensores Hall para detectar la polaridad de los imanes en las vías y así cambiar la polaridad de los electroimanes en el carro.

Conversión serie - paralelo

Se puede realizar una conversión de serie a paralelo en circuitos electrónicos digitales. De esta forma se puede poner en marcha una secuencia de LEDs utilizando un único pin de Arduino.Se utilizan los circuitos integrados 74HC164 y 74HC595, activando 8 LEDs si se utiliza un solo pin o 16 LEDs utilizando dos pines de datos en serie.

Registro de desplazamiento

Para un ciclo de luces estilo noria de feria; ¿Cuántos leds podemos conectar en la placa arduino? La práctica indica que se pueden conectar tantos como se quiera.

Es más simple utilizar un registro de desplazamiento, como por ejemplo el 495. En este tutorial de Arduino se puede ver como utilizar el 495.

Si se necesitan más pines de los que ofrece el Arduino UNO, para construir un teclado electrónico, se pueden usar dos Arduinos, tal como se muestra en el tutorial de Gerdslab.

También se pueden utilizar otras opciones.

1ª Usar multiplexores, como por ejemplo el 4051, que es un chip que permite conectar 8 entradas a cada entrada sea digital o analógica. Lo que se necesita son unos pines de control, tal como se indica en el tutorial. Aquí se puede ver otro tutorial en Garagelab.

2ª Construir un teclado matriz, tal como se muestra en Instructables.

Se puede utilizar una matriz de leds con un registro de desplazamiento. También se puede utilizar una matriz de LEDs y un MAX 7219.

Conflicto entre la librería servo y la librería IR-Remote

Para evitar que se estorben uno a otro se pueden usar servos sin usar su librería, escribiendo código directamente para ellos.

// Manual servo control - PWM Sweeping

// Copyright 2012 by Zipwhip.

// Modified July 2013 by LinuxCircle.com team

// You are free to use and modify this code in your own software.

// Please give us credit to by mentioning LinuxCircle.com

// in the header of your published code.

#define SERVO_PIN 10 // Any pin on the Arduino or Gertboard will work.

void setup()

{

pinMode(SERVO_PIN, OUTPUT);

}

int lenMicroSecondsOfPeriod = 25 * 1000; // 25 milliseconds (ms)

int lenMicroSecondsOfPulse = 1 * 1000; // 1 ms is 0 degrees

int first = 0.7 * 1000; //0.5ms is 0 degrees in HS-422 servo

int end = 3.7 * 1000;

int increment = 0.01 * 1000;

void loop()

{

int current = 0;

for(current = first; current <end; current+=increment){

// Servos work by sending a 25 ms pulse.

// 0.7 ms at the start of the pulse will turn the servo to the 0 degree position

// 2.2 ms at the start of the pulse will turn the servo to the 90 degree position

// 3.7 ms at the start of the pulse will turn the servo to the 180 degree position

// Turn voltage high to start the period and pulse

digitalWrite(SERVO_PIN, HIGH);

// Delay for the length of the pulse

delayMicroseconds(current);

// Turn the voltage low for the remainder of the pulse

digitalWrite(SERVO_PIN, LOW);

// Delay this loop for the remainder of the period so we don't

// send the next signal too soon or too late

delayMicroseconds(lenMicroSecondsOfPeriod - current);

}

for(current = end; current >first; current-=increment){

// Servos work by sending a 20 ms pulse.

// 0.7 ms at the start of the pulse will turn the servo to the 0 degree position

// 2.2 ms at the start of the pulse will turn the servo to the 90 degree position

// 3.7 ms at the start of the pulse will turn the servo to the 180 degree position

// Turn voltage high to start the period and pulse

digitalWrite(SERVO_PIN, HIGH);

// Delay for the length of the pulse

delayMicroseconds(current);

// Turn the voltage low for the remainder of the pulse

digitalWrite(SERVO_PIN, LOW);

// Delay this loop for the remainder of the period so we don't

// send the next signal too soon or too late

delayMicroseconds(lenMicroSecondsOfPeriod - current);

}

}

Brazos robóticos

Los brazos robóticos tienen utilidad en la industria, la logística y la construcción. En WOLFRAM podemos encontrar uno de estos brazos controlados a distancia.

En Github se pueden descargar los modelos para imprimir en la impresora, entre otras cosas, una pinza robótica.

Robot de SUMO

Robot de Sumo construido con un Arduino Mega 2560.

Máquina para clasificar caramelos por colores

Todas las piezas de la máquina están impresas en 3D.

Teclado electrónico

Piano electrónico construido por Jakob Sikker Remin, que usa el procesador de Arduino.

Jacob Sikker Remin: Cheap, FAT, and Open from The People Speak on Vimeo.

En Makezine nos muestran como montar un piano para tocar con sensores de presión y los pies.

Sensores de temperatura y otros sensores

Se pueden utilizar diferentes modelos de sensores de temperatura, como por ejemplo el LM35, o el 18B20 que usa el bus I2C.

En Acroname podemos ver una comparativa de diversos sensores de distancia de infrarrojos de Sharp. En Farnell también se pueden encontrar estos sensores de distancia por infrarrojos de Sharp.

En Banggood se pueden encontrar sensores de ultrasonidos SRF05 a buen precio. En Parallax también podemos encontrar sensores de ultrasonidos. Podemos encontrar documentación de Arduino para implementar un sensor de ultrasonidos en Arduino-Verkstad.

En Adafruit se pueden encontrar sensores de humedad. Otro modelo lo podemos encontrar en Gardenbot.

En Sparkfun se pueden conseguir receptores de infrarrojos. Un modelo de sensor de infrarrojos es el TSOP4838. El receptor típico de infrarrojos, para conectar con un mando a distancia funciona a 38 KHz y se puede encontrar en Farnell. Hay una librería de Arduino, que se llama IR-Remote y que sirve para conectar prácticamente cualquier tipo de control remoto. Se puede descargar en Github.

En Mindsensors se pueden encontrar shields para utilizar en Arduino algunos sensores de LEGO. En Wayne and Layne se pueden encontrar otros shields para conectar los sensores de LEGO en Arduino. En Philohome podemos ver como construir un conector para usar los sensores de LEGO en Arduino.

Entre los módulos de conexión Bluetooth podemos encontrar el HM-10, el Bluefruit, o el HC-06.

En Ebay podemos encontrar sensores de control por sonido. Se encuentran sensores similares en Banggood. En Pastebin podemos encontrar un programa para Arduino que usa estos sensores de sonido en una entrada analógica. Además se puede emplear la pata marcada con DO, que es una salida digital del micrófono, de modo que se puede detectar directamente una palmada, porque será un evento de sonido alto. También se puede hacer uno de estos sensores con un micrófono preamplificado conectado a la entrada analógica. Según que tipo de piezoeléctrico se use, también podría funcionar poniendo el piezo en modo detección de vibraciones. En Dxarts se puede encontrar el circuito electrónico para utilizar un micrófono como sensor de sonido. En Velleman podemos encontrar un preamplificador de micrófono.

Los sensores flex se han de conectar con una resistencia de 22 K.

Los sensores de humedad y temperatura DHT21 se pueden utilizar en Arduino.

Opciones para conectar Arduino con un móvil

1ª Utilizar BLE (bluetooth low energy), por ejemplo el modulo Bluefruit de Adafruit. Es como un puerto serie transparente, de modo que comunica directamente con el telefono.

Hay una aplicación para Android llamada “Bluetooth Terminal”, de un desarrollador llamado “Qwerty”.

2ª También se puede conectar si se tiene un shield USB-Host, con el que se puede conectar Arduino por cable (esto es lo mismo que tener un Arduino Mega ADK). Aquí se pueden ver las instrucciones de uso con Arduino.

Enviar datos desde Arduino a un dispositivo móvil

Se pueden enviar datos desde Arduino por bluetooth a un dispositivo móvil programado con App inventor 2, utilizando el módulo HM-10. En Instructables se muestra un proyecto para lograr esta comunicación.

Como hacer que Arduino reconozca voz

Podemos hacer que Arduino reconozca voz, pero no es barato. Hay varias opciones.

1ª Usar un ordenador para el reconocimiento de voz, con un programa como el e-speaking, que convierte voz a comandos dentro del ordenado, con lo que se podrían lanzar eventos por el puerto serie.

2ª Otra opción seria usar un móvil que haga lo mismo. Se puede hacer una app con appinventor y lanzar comandos por el puerto serie.

3ª Usar un chip que sea capaz de reconocer algunos comandos de voz y lanzar datos por un puerto serie, como el RSC-4X.

Juegos con laberintos

Utilizando Processing se pueden crear juegos con laberintos.

Uso de pantallas LCD

Para usar una pantalla LCD con Arduino se puede utilizar la librería LiquidCrystal. En Gerdslab se puede ver un tutorial que nos enseña la manera de conectar una de estas pantallas.

Aquí se encuentran más recursos para conectar un display LCD a un Arduino.

Control mediante un mando de ps2

En Instructables se puede encontrar información sobre este tipo de proyectos.

Proyecto de catapulta para hacer puntería

Los modelos en 3D para las piezas de la catapulta se pueden descargar de Github.

Proyecto de televisión

Para hacer una televisión se puede utilizar la librería de Arduino TVOut, que se puede descargar de Google-Code.

Bitman

Un bitman es un humanoide que evoluciona en una matriz de LEDs.

Galería fotográfica

Esta es la galería del proyecto de Castilla de la página de David Cuartielles en Flickr.

Recursos online

En estas dos páginas encontramos recursos para proyectos de Arduino y Processing.

Technological Creativity

Robòtica Bruguers

Reciclando con Arduino

Documental del canal FUTURE ARTE sobre Arduino.

Tres en raya (Tic Tac Toe)

En este vídeo se puede ver como funciona un tres en raya con una matriz de LEDs y un Arduino.

Ping Pong

Se puede construir este juego clásico con dos potenciómetros, una matriz de LEDs y un Arduino.

Impresora con Arduino

En este vídeo se puede ver una impresora de dos brazos.

Pantalla LCD

En este artículo podemos ver como controlar una pantalla LCD.

Controlar LEDs mediante bluetooth

En este tutorial de Spainlabs se muestra todo el proceso, incluido la programación de Arduino y de App inventor para encender unos LEDs.

Creando melodías con bitbloq

Este software nos permite crear melodías con Arduino.

Ascensor controlado con Arduino

Este ascensor está construido con una impresora 3D y puede controlarse con un Arduino.

Theremin

Para construir un Theremin se pueden utilizar sensores de distancia, sensores LDR o capacitivos.

Mini pinza robótica

Este proyecto de Thingiverse nos permite construir una pequeña pinza robótica.

Conectarse a una red WIFI

Aquí podemos encontrar recursos para conectarnos a una red WIFI.

Colorduino

Aquí podemos encontrar un proyecto realizado con Colorduino.

Display 8x8 controlado con Snap4Arduino

Aquí podemos encontrar los programas y los bloques utilizados en los programas de Snap4Arduino para controlar un display 8x8.

Espacio con variados proyectos de Arduino

En hackster.io podemos encontrar infinidad de proyectos con Arduino.

Libro "Beginning Arduino".