lunes, 14 de abril de 2014

Primeros pinitos con Arduino

Hola a todos. He estado últimamente entretenido con un juguete electrónico que más de uno conoceréis (sobretodo si os dedicáis a temas relacionados con la electrónica, o la ingeniería en general): el Arduino UNO.

No hace mucho tomé la decisión de, visto mi recién descubierto amor por la electrónica, comprar un bichito de estos. La broma me salió barata: unos 30€ me costó un kit de iniciación de Arduino traído desde China. Eso sí, se hizo esperar pero mereció la pena. El kit incluye lo recogido en la siguiente imagen:

Tengo que reconocer que estoy muy satisfecho con esta adquisición. Además, esto se ha convertido en un círculo vicioso, ya que me ha llevado a comprar más cosas relacionadas con este mundillo. Sinceramente, no me arrepiento. Es dinero bien invertido en mi formación y autoaprendizaje, el cual valoro más que el que se me infunde por ser mucho más meritorio. Más adelante, conforme vayan llegando el resto de pedidos, comentaré con más detalle aquello que he comprado.

Ya he estado haciendo mis primeros pinitos, tal y como indica el título del post. Concretamente he realizado los siguientes códigos:

  • Un receptor y conversor de la señal infrarroja enviada por un mando a distancia. Tal y como el que viene con el kit, aunque es igualmente válido para otros mandos a distancia. El objetivo de este sensor es recibir la señal y convertirla en un valor hexadecimal. Dicho valor, adecuadamente traducido, permite al usuario conocer qué botón ha sido presionado para interactuar en función del mismo.
  • Un contador de 0 a 9 segundos mediante un display de 7 segmentos, también incluido en el kit. La función de este código no es otra que la de conocer el conexionado necesario para los diferentes pines del display, permitiendo su “desciframiento”.
  • Una fusión de estos dos primeros programas consistente en un sensor infrarrojo que detecta el número presionado en el mando a distancia para posteriormente mostrarlo en el display.
  • Un programa capaz de reproducir la melodía de “Pueblo Paleta” de los clásicos juegos de Pokémon Amarillo/Azul/Rojo de GameBoy Color. Sin duda una de mis interpretaciones musicales favoritas en la historia de los videojuegos. El programa consiste en una implementación de las diferentes notas musicales que componen el pentagrama de esta canción. Para ello es necesario conocer la frecuencia a la que suena cada una de estas notas para posteriormente implementarlas “manualmente” y disponerlas en forma de secuencia hasta lograr la melodía deseada.

No obstante, entraré en detalle con cada uno de estos programas más adelante. Quizás hasta llegue a estrenar un nuevo apartado, junto con “Diario de un apocalipsis zombie”, “Minecraft: Modo Extremo” y “El Bloc de Wemento”. Proyectos desgraciadamente muy estancados a día de hoy, a excepción del último.

Todo ello combinado con la facilitación de un documento de texto que yo mismo estoy redactando y que pretende ser una guía (rápida) de Arduino. Lo que por supuesto se convertirá en un proyecto libre, de acceso fácil y gratuito para todos aquellos que deseen aprender más de este mundillo.

He de decir, para que sirva de consejo a todos aquellos que quieren iniciarse en este mundo, que Arduino, al ser libre, ofrece un sinfín de posibilidades en cuanto a material disponible en la red. Siempre, se busque lo que se busque, es posible encontrar miles de referencias de personas que han realizado ese mismo código o empleado ese mismo elemento. Además, la propia página de Arduino ofrece una ayuda muy completa tanto para funciones nativas o foráneas como para conexionado físico de la propia placa.

Es un mundo con el que merece la pena explorar por diferentes motivos: es barato (el precio de los LEDs, resistencias, etc es ridículo), es de una utilidad muy polivalente (existe una muy amplia gama de ideas que se podrían llevar a cabo con finalidades determinadas), es sencillo e intuitivo (si se domina ligeramente el lenguaje C++ o se ha trabajado con algún microcontrolador programable en alto nivel) y, por último, es entretenido (emociona mucho ver cómo tu idea inicial se convierte en algo físico que, además, tiene gran cantidad de aplicaciones además de la que previamente has seleccionado para el código).

Por último aconsejo emplear, junto con la herramienta software Arduino (la cual toma el mismo nombre de la placa que programa) una aplicación conocida como Fritzing, libre también. Esta herramienta permite la visualización de diseños en formato físico (una simulación del interconexionado de la propia protoboard con los elementos empleados, entre ellos el Arduino), en formato esquemático y a nivel de PCB. Con ella se pueden realizar imágenes como la mostrada a continuación:

Buzzer_circuito

Esta imagen no pretende otra cosa que servir como guía o recordatorio en un futuro para el interconexionado que debe llevarse a cabo para el correcto funcionamiento del código implementado. En este caso concreto, se trata de la implementación del programa que yo mismo realizé para reproducir mediante un zumbador (o buzzer) la melodía de Pueblo Paleta. Un montaje sencillo, ¿verdad?

No me enrollo más. Próximamente os pondré al día inaugurando una nueva sección además de llevar a cabo una actualización frecuente de mi guía personal de Arduino. Espero que ese día llegue pronto, aunque, os lo digo, en esto sí que estoy avanzando a pasos agigantados.

Salu2

No hay comentarios: