jueves, 21 de septiembre de 2017

Resolución de acertijo con Python 3

El otro día, un amigo estaba leyendo el periódico y se topó con un acertijo que consideró interesante. Iba todo bien hasta que han comenzado a suceder cosas raras, vale, vale, es broma... me centro. Me lo enseñó y rápidamente nos pusimos manos a la obra para resolverlo. El acertijo es éste: (Está un poco pintado, pero se puede leer)

Como puedes leer, consiste en hallar una palabra de 5 letras que cumpla las siguientes normas:

  • Solo puede contener las letras que aparecen en el acertijo (ninguna otra).
  • De cada fila, deben aparecer tantas letras como se indica en el primer número de dicha fila.
    Por ejemplo: la palabra solución del acertijo, debe contener dos letras (ni más ni menos) de la segunda fila, donde pone "MORSA", porque así lo indica el primer número de dicha fila en la palabra solución.
    Otro ejemplo: la palabra solución no debe contener letras de la primera fila, porque así lo indica el primer número (que es un 0).
  • De cada fila, deben aparecer tantas letras en el mismo sitio como indica el segundo número de la fila. (Con letras "en el mismo sitio" o "en la misma posición" me refiero a letras en el mismo index, es decir, si la letra es la tercera de la fila, en la palabra solución también debe ser la tercera)
    Por ejemplo: la palabra solución debe contener una letra en el mismo sitio de la tercera fila, porque así lo indica el segundo número de ésta (un 1). O sea, de las letras A R D U O, una de ellas debe estar en el mismo sitio en la palabra solución. Pero ¡OJO! Solo una, más no.
    Otro ejemplo: la palabra solución debe contener una letra en el mismo sitio de la última fila, porque así lo indica el segundo número de ésta (un 1).

Nos pusimos con toda la ilusión del mundo a resolverlo, pero al cabo de un buen rato seguíamos sin conseguirlo (en parte por su dificultad y en parte porque no somos de la NASA). Viendo el panorama, se me ocurrió una idea para resolver el acertijo de una vez por todas: hacer un programa que lo resolviese. El programa está hecho, escribo este post, con el objetivo de mostrároslo y comentároslo.

miércoles, 13 de septiembre de 2017

PROYECTO MONLED: Utilizar una tira led WS2812B controlada por Arduino para iluminar un escritorio

Ya sabrás que me encantan las tiras leds, y más si las puedo controlar, manejar y programar yo mismo. Tanto me gustan, que hace unos meses decidí crear el proyecto que voy a presentar en este post.

Este proyecto, lo he llamado "Monled". Consiste en la utilización de una tira led WS2812B como una lámpara normal, como un flexo de escritorio, con el objetivo de iluminar una mesa. El flexo que tengo (tenía) para iluminar mi escritorio es bastante aparatoso y se le suele fundir la bombilla cada 2 meses, y cansado de esto pensé: ¿Por qué no me hago yo el mío propio? Fue así como comenzó mi maravilloso viaje a través de estos aparatejos que Arduino nos permite controlar.

Para empezar, debes saber qué es una tira led WS2812B y cómo funcionan. No, no hace falta que busques en Google, puedes ver este post de mi blog en el que explico su funcionamiento, el hardware, el software y todo lo que te puedas imaginar. Pero yo las explicaré un poco aquí. Las tiras leds WS2812B están formadas por leds WS2812B (hasta ahí llegamos ¿no?). La principal característica de estos leds es que se comunican entre ellos, es decir, cada uno le transmite información al siguiente, en forma de cadena. Por tanto, solo hace falta que conectemos el Arduino a un extremo de la tira y podremos encender cada uno de los leds de ésta. La verdad es que a mi me han encantado, principalmente porque son facilísimos de usar.

Entonces, si lo que queremos es que nuestra tira led ilumine nuestra mesa, debemos colocarla en un sitio elevado ¿no? Pues sí, yo tengo una ventaja importante y es que justo encima de la mesa de mi escritorio tengo una estantería, por lo que puedo pegar la tira led en la parte de abajo de la estantería apuntado hacia a mesa. Así, cuando la encienda, la luminosidad de todos los leds acabará en mi mesa y alumbrará cada rincón. Si no tienes una estantería encima de tu mesa (que quizás es lo más normal) puede que no puedas usar este proyecto para alumbrar tu mesa, pero sí puedes poner la tira en muchos más sitios. Eso ya te lo dejo a ti.

miércoles, 28 de junio de 2017

Tutorial tira led WS2812B RGB Arduino


Tira led Neopixel de Adafruit
Controlar una tira led es algo que siempre he querido hacer con mi Arduino. Las tiras leds son muy interesantes y fáciles de controlar, al igual que impresionantes y luminosas. En este tutorial voy a explicar el funcionamiento de una tira led y voy a mostrar toda la información que he encontrado por Internet.

Para empezar, necesitamos comprar una tira led RGB WS2812B (WS2812B es el modelo los leds que componen la tira). Las hay de diferentes medidas y de diferentes cantidades de leds por metro. Yo compré 1 metro de una tira led de 60 leds/metro, lo que significa que podré controlar 60 leds. La más barata que encontré es ésta en ebay, y vale 12.6 € el metro. Ésta que compré no venía soldada, por lo que tuve que soldarla yo mismo a cables macho-macho. Así que si no te gusta soldar, mejor compra una de Adafruit aquí, que ya vienen soldadas y listas para usar. Lo malo es que son más caras. Las tiras leds WS2812B de las que estamos hablando, están formadas por leds WS2812B conectados los unos a los otros que se comunican. Cada led, le pasa información al siguiente, de modo que solo tienes que conectar la tira por un extremo y los leds podrán tener diferentes colores simultaneamente.

Tira led de Electro Hobby, ebay
Las tiras leds son RGB (red green blue), así que para poner un color en un led de la tira, habrá que establecer un valor de brillo para para el rojo, uno para el verde, y otro para el azul. Visto de una manera más fácil, cada led de nuestra tira tiene tres leds más pequeños todavía, uno que ilumina rojo, uno que ilumina verde y otro que ilumina azul. Lo que nosotros hacemos para poner un color en un led de la tira, es variar la luminosidad de estos tres componentes de color; es como mezclar colores. Si mezclas el rojo y el azul sale el morado ¿no? pues aquí también; si enciendes el mini-led rojo y el mini-led azul veremos el color morado. También existen tiras led RGBW, que además de los colores rojo, verde y azul, incorporan el color blanco como color principal, pero la que compré no es de ese modelo.

domingo, 6 de noviembre de 2016

Relé 5V Pan Chang SIP-1A05 para Arduino

Pan Chang SIP-1A05
El otro día compre por Internet el relé Pan Chang SIP-1A05 porque vi que su voltaje de funcionamiento eran 5 Voltios y podría utilizarlo en un proyecto que tengo en mente con Arduino. A la hora de querer utilizarlo, me costó encontrar información que estuviera en español, por lo que he decidido crear esta mini-guía. 

Lo primero que he descubierto es que hay distintos tipos de relés SIP-1A de la marca Pan Chang. Sabremos qué relé hemos comprado por el número de modelo que pone en letras blancas en nuestro aparato. Éstos números y letras indican características diferentes tal y como se muestra en la siguiente imagen:
Análisis de número de modelo
Por ejemplo si nuestro relé es SIP-1A 05, será del modelo (por así decirlo) 1A y tendrá de voltaje de operación (voltaje para cerrar el relé, el que programas con tu Arduino) 5 Voltios. Por esta razón es idóneo para trabajar con nuestro Arduino. Pero, ¿qué son las opciones ("Options" en la imagen)? La respuesta la encontramos en la siguiente imagen:

miércoles, 12 de octubre de 2016

Sensor de sonido con Arduino

Hola chicos, hoy he querido probar el sensor de sonido con el Arduino, para ello, he utilizado los siguientes materiales:
Sensor de sonido
  1. Arduino NANO: no tiene porqué ser de la marca Arduino, por ejemplo el que he utilizado es "pirata" compatible con el Arduino IDE al instalarle unos drivers.
  2. Sensor de sonido: cualquiera que pueda ser utilizado con un Arduino vale, el mio lo he comprado aquí. Aclaro que este sensor detecta la fuerza con la que hablamos, la intensidad, no la frecuencia del sonido.
  3. Una placa en la que puedas soldar todos los componentes o una protoboard.
  4. Cables, ya sean macho-macho(si utilizas protoboard) o sin punta para soldar (que son los que yo he utilizado).

Para programar y para comunicarme con el Arduino he utilizado el Arduino IDE, si no lo tienes lo puedes descargar en la página oficial de Arduino.
En el programa me comunico con el Arduino mediante el Serial y para hacerlo todo un poco más ameno, he utilizado el protocolo Moncada el cual he usado con los siguientes comandos (en el protocolo Moncada, cada comando acaba con &, pero en esta guía no añadiré este caracter por cada comando):
  • PRUEBA: prueba las comunicaciones.
  • LEEANA: Lee el valor analógico del sensor.
  • LEEDIG: Lee el valor digital del sensor.
  • LEECON: Activa la lectura continua del valor analógico.
  • LEECOF: Desactiva la lectura continua del valor analógico.
  • INTRON: Activa la interrupción que notifica el valor digital.
  • INTROF: Desactiva la interrupción que notifica el valor digital.

domingo, 18 de enero de 2015

Car Park, la app para localizar tus coches aparcados


Con esta app, aparca tus coches y encuéntralos desde varios dispositivos.



CarPark
Esta aplicación permite aparcar coches desde distintos dispositivos y después consultar sus ubicaciones desde cualquiera de ellos. 

Muchas veces pasa que aparcas tu coche y al día siguiente no encuentras donde está, o aparcas el coche de tu mujer y ella al día siguiente no sabe dónde está, con esta app esto se acabó. Esta es una app que te permite saber donde están aparcados tus coches y la hora a la que los aparcaste creándote un usuario , "CarPark-cuenta" y así poder consultar los datos dese distintos dispositivos. Para esta app es necesario disponer de una conexión a Internet y tener activada la localización. Pero ... hay algo más, no sabes realmente dónde está aparcado tu coche si no te lo muestran en un mapa, para eso está esta app, además de mostrarte dónde has aparcado te muestra las coordenadas y te permite ver la posición exacta de tus coches en Google Maps. 

viernes, 7 de noviembre de 2014

Horario Escolar, perfecta para horarios escolares

Horario Escolar
¿Nunca has pensado en tener una aplicación perfecta para saber tus horarios escolares? ¡Ésta es la aplicación que buscabas! Con esta app configura fácil y sencillamente tu horario y visualízalo en forma de tabla.... Pero hay algo más, para poner en tu maleta los libros que tocan al día siguiente tenías que ir mirando el horario día por día :(, pero con esta aplicación esto se acabó. Tiene una función que permite saber que asignaturas tendrás al día siguiente, pero claro, tú solo deberás configurarlo una vez :)
Pantalla principal


Horario Escolar es una app que te permite tener 6 horarios configurados a la vez, para que puedas organizarte mejor en el instituto o colegio. 

La aplicación consta básicamente de dos partes: la opción que te permite visualizar el horario y la opción de "hacer la maleta", que explicaremos luego. Ésta app ha sido diseñada para tener tus asignaturas organizadas gráficamente, es decir, que con una simple ojeada, puedas ver toda tu información. Y es así como el apartado "Horario" muestra el horario que hayas seleccionado en la pantalla principal (la que aparece al iniciar la app). El horario queda así:

viernes, 17 de noviembre de 2000

Prueba con contraseña

Hola que tal