jueves, 19 de abril de 2018

GaViNo - Unas gafas de visión nocturna DIY

¿Te gustaría pasearte por el lado oscuro sin tropezar? ¿querrías emular a tu gato disfrutando de la noche cerrada?

Si has contestado que sí a estas preguntas, estas de suerte porque hoy lo que te traigo son unas Gafas de Visión Nocturna DIY (GaViNo).


martes, 21 de marzo de 2017

LuZera, mi nuevo proyecto

Seguro que todos habéis visto alguna película de Pixar, que siiii, venga, va no disimuléis, tengáis peques en casa o no, estoy convencido de que alguna peli habéis visto.

Mis pelis favoritas de Pixar son Wall-E (como no) y Ratatouille (relacionada con otra de mis aficiones: la cocina).


 Y os estaréis preguntando ¿para qué narices nos estará contando estas cosas? Pues, la verdad, es que después de dos entradas en el blog hablando de cinemática y manteniendo la incógnita sobre lo que quiero hacer en mi siguiente proyecto, creo que ya va siendo hora de ir desvelando mis intenciones y por lo tanto, ver la relación con Pixar.

Si habéis visto alguna de sus películas (que las habéis visto, insisto) conocéis su famosa lampara




Bueno, pues... blanco y en botella ¿no? Mi siguiente proyecto va a ser intentar hacer una "Lámpara Robótica".


lunes, 30 de enero de 2017

Una Clase para controlarlos a todos...bueeeno, solo a unos pocos. (Cinemática II)

Lo prometido es deuda y aquí estamos de nuevo con otra entrada a cerca de la dichosa Cinemática, esta vez para contaros que he creado una clase en Python que nos simplifica y nos hace más fácil la tarea de controlar un brazo robótico (vaya, para no querer hacer un brazo robótico, me estoy poniendo un poco pesadito con el tema).



viernes, 20 de enero de 2017

Arduino Plug&Play en Python


Hoy toca una entrada muy breve, estoy preparando otra más extensa en la que os contaré como va mi aventura de experimentación y frikeo con la Cinemática, todo en aras de aprender lo máximo posible para abordar mi siguiente proyecto.

El caso es sigo trasteando con software, pero ahora estoy en Python, me encanta Python, sirve para casi todo, si no lo conoces, te recomiendo seguir algún curso por la red, te será muy útil, de verdad.



Bueno, lo dicho, ando trasteando con Python y Arduino. No es una idea nueva, ya lo utilice la comunicación Python-Arduino en mi entrada del "Siguecaras" (Controlamos las Máquinas Aplicando la Visión Artificial (II)) Y hay muchos ejemplos en la red, entre ellas esta del Maestro Obijuan u esta otra de Robologs

Si os fijáis, en todas ellas, incluida la mía, se dice que 










O sea, que cada vez que queremos ejecutar el programa, debemos asegurarnos que el puerto que hemos puesto es el correcto. Pero ¿qué pasa cuando ejecutamos en máquinas distintas con SO distintos? o ¿si utilizamos un modelo de placa de Arduino diferente? pues que tendremos cada vez que revisar como se llama el nombre del puerto al que se ha conectado la placa y modificar el programa, un poco pesado la verdad.

Bien pues lo que he hecho es hacer una función que hace que nos olvidemos de comprobar el nombre de puerto, copiarlo, modificar el programa, etc. cada vez, sino que enchufamos nuestra placa al ordenador, y ya estamos listos para funcionar: Arduino Plug&Play.

Yo la he probado en Mac y en Windows 7 y con placas Arduino Uno (Freaduino Uno) y Nano y hasta ahora no me ha fallado nunca.

La función en sí es esta:

 
def getSPArduino():
    Puertos = list(serial.tools.list_ports.comports())

    bEncontrado = False
    for i in Puertos:
        if ('USB' in i[1]) or ('Arduino' in i[1]):
            try:
                PUERTO = i[0]
                VELOCIDAD = '9600' \
                            ''
                sp = serial.Serial(PUERTO, VELOCIDAD)
                print('Conectado!!!')
                sp.close()
                bEncontrado = True
                Arduino = i[0]
            except:
                pass

    if bEncontrado:
        return Arduino
    else:
        return 'xxx' 

y lo que hace es:
  1. Obtiene la lista de puertos serie 
  2. Recorre la lista en busca de alguno que su descripción contenga 'USB' o 'Arduino' 
  3. Si encuentra alguno, intenta conectarse a él 
  4. Si consigue conectarse, cierra la conexión y guarda el nombre de ese puerto y marca que ha encontrado alguno. 
  5. Al finalizar de recorrer la lista, si tiene activo el 'swich' de haber encontrado alguno, nos devuelve el nombre de éste, si no, devuelve 'xxx'
El uso es sencillo:

Como siempre, dejo la librería en mi Github, junto al NoteBook de la imagen anterior. Veréis en la librería otras dos funciones:
  • mapeo(val, minIn, maxIn, minOut, maxOut): En Arduino tenemos la función map() pero en Python no existe esa función, bueno, si existe, pero no hace la de Arduino y no conozco otra que sea igual, así que, la me la he creado.
  • mapServo(val): lo que hace es que le pasamos un valor entre 0 y 180 y nos lo devuelve en formato -90 - 90
Como os dije, esta es una entrada corta. Os dejo que tengo que preparar la siguiente entrada que esa si será mas larga.

martes, 29 de noviembre de 2016

"Allí está, ahora falta descubrir cómo llegar hasta él" - Cinemática Inversa

Bueno, ya estoy metido en un nuevo proyecto, uno más.  

La verdad es que tengo dos o tres empezados y no terminados, unas veces por falta de conocimientos técnicos, otras por falta de tiempo, y otras, las que más, porque soy un “picaflor” y no puedo parar con el culo quieto y cada vez que veo alguna cosa chula o se me ocurre algo, dejo lo que estoy haciendo en ese momento y empiezo otra cosa, así, la verdad, es que no se puede. 

 Bueno, vamos a lo que nos ocupa en esta entrada y no, no voy a decir que es ese nuevo proyecto, aún estoy en esa fase en la que tengo tantas cosas que aprender que aún no sé si llegará a buen puerto, y si lo hace, cuando será eso. 






lunes, 22 de agosto de 2016

¿Dibujamos?

En mi juventud, antes de dedicarme a esto de la informática y los ordenadores, estudie delineación, (una profesión tan olvidada que hasta el corrector de google me la marca como desconocida). Cuando estábamos ya en los últimos cursos, nos trajeron a ver el antiguo SIMO (Salón Internacional de Mobiliario de Oficina) donde además de los muebles que lleva en el nombre, los ordenadores y el material informático se estaban adueñando de la feria (no Arantxa, no, los dinosaurios ya no existían)

Por aquel entonces, también empezaron a aparecer unos "aparatitos" que nos hicieron ver que estábamos a punto de terminar unos estudios relacionados con una profesión que iba a ser sustituida por máquinas: los ploters.







lunes, 8 de febrero de 2016

Poliphemo empieza a andar (y a buscar)


Ha pasado ya un tiempo desde que os presenté a Poliphemo. En aquel entonces, solo mostré imágenes de su diseño creado con  Freecad (un estupendo software libre para diseño) hoy ya es hora de mostrar su cara real y de mostraros su avance.

Os presento a Poliphemo


Poliphemo

miércoles, 9 de diciembre de 2015

Diseñando un nuevo PrintBot




En nuestra anterior entrada, estuvimos hablando de la cámara Pixy CMU5Cam y comentamos que íbamos a estudiar cómo podríamos utilizarla en nuestros robots. Y bueno, pues eso hemos estado haciendo este tiempo. Lo que pasa es que en vez de adaptar uno de los robots que ya teníamos, pues nos hemos liado la manta a la cabeza y hemos diseñado uno nuevo desde cero. ¡¡¡Toma ya!!!



viernes, 21 de agosto de 2015

Tenemos un nuevo juguete

Desde que empezamos a trastear con OpenCV y la visión artificial, teníamos el gusanillo de incorporar esta tecnología a nuestros robots, y hoy os voy a presentar un nuevo juguetito que esperamos nos de muchas alegrías una vez insertado en un printbot.

El aparato en sí se llama Pixy CMUcam5 y como cuentan en su web, es un sensor de imagen con procesador propio programable, compatible con Arduino, Raspberry Pi y BeagleBone Black, Open Source y que está pensado para robots DIY y aplicaciones similares, ¡¡justo lo que estábamos buscando!!






viernes, 31 de julio de 2015

Nuestro Zowi ya baila

Ya estamos en verano, y con los calores (caloret que dirían otros) están proliferando los Zowis bailarines por todos los MakersChiringuitos del planeta, y claro, desde Robots Styles también queríamos aportar nuestro "Bailongo"


lunes, 13 de julio de 2015

La Garra que te agarra – Motores CC y Protocoder




Hoy publicamos una entrada en la que vamos a utilizar motores CC controlando su velocidad y sentido con nuestro móvil, a través de Bluetooth y gracias a Protocoder. Y todo ello implementando una Garra Robótica que seguro que podremos utilizar en más entradas.


Hacía tiempo que no me dejaba pasar por aquí y no es por falta de ganas, sino que, como diría todo “blogger” que se precie, las otras ocupaciones diarias (personales y laborales)  han hecho imposible publicar con la asiduidad que me gustaría. Pero os aseguro que no he estado parado, y hemos ido experimentando y preparando cositas que iremos compartiendo con todos vosotros.  



jueves, 12 de marzo de 2015

Controlamos las Maquinas Aplicando la Visión Artificial (II)

Aquí estamos de nuevo. ¡¡Preparad Arduinos, servos y cables. que empezamos¡¡

Hoy, partiendo de lo que vimos en la entrada anterior, lo adaptaremos, modificaremos y lo enlazaremos con nuestros robots.


martes, 10 de marzo de 2015

Nos adentramos en la Visión Artificial



A finales del año pasado se abrió el MUNCYT de Alcobendas (Museo Nacional de Ciencia y Tecnología) y nos acercamos a ver si era digno sustituto del difunto Cosmo Caixa, museo que ocupaba el mismo edificio antes de que la crisis se lo llevase por delante.


Al entrar, lo primero que te recibe es una instalación llamada ¿Cómo ven las máquinas? en la que se muestran diferentes juegos y representaciones visuales e interactivas con la que se intenta mostrar y explicar los procesos llamados de "Visión Artificial".



domingo, 1 de marzo de 2015

lunes, 8 de diciembre de 2014

Usa tu sensor IR siguelineas como un mando a distancia con Arduino y Protocoder

En este afán que nos da de vez en cuando por usar los sensores para otras distintas para las que se supone de están hechos, hoy nos preguntamos si podríamos utilizar uno de los sensores que se usan para hacer un robot siguelíneas para crearnos nuestro propio mando a distancia.





miércoles, 19 de noviembre de 2014

¡¡Gracias Arantxa!!



Llevamos en esta aventura poco más de un año y los que nos seguís desde entonces, o los que habéis sido lo suficientemente masoquistas para leer las primeras entradas del blog, sabréis que todo esto empezó como una experiencia o actividad para hacer junto a mi hija Arantxa, algo para aprender juntos: hacer un robot.




miércoles, 8 de octubre de 2014

Arduino + Bluetooth + Processing + Android (II)

En esta segunda parte no hay nada nuevo, solo que lo prometido es deuda y os debía los fuentes de este proyecto/experimento.

En la entrada anterior os dije que iba a intentar mejorar la parte de lectura de los datos enviados por arduino y lo he hecho, pero el resultado no ha sido todo lo satisfactorio que hubiese querido. 

Así que, nada mejor que ponerlo todo a disposición de la comunidad, que seguro que en manos de gente más experimentada en determinados aspectos, el proyecto pronto mejorará y podremos beneficiarnos todos.



viernes, 3 de octubre de 2014

Coctel de Arduino + Bluetooth + Processing + Android = Radar

Vuelvo con el tema de los ultrasonidos y es llevo tiempo intentando hacer esto que os traigo y hoy, aprovechado que me ha llegado la nueva placa Arduino de bq la ZUM BT-328 con bluetooth incorporado, no me he resistido a mostraros lo que estoy haciendo.


miércoles, 17 de septiembre de 2014

Ultrasonidos - Que nada te impida avanzar


-       Arantxa hoy vamos a hablar de ultrasonidos
-       ¿Queeeeé?
-       ¡¡¡ Que hoy vamos a hablar de ultrasonidos !!!
-       ¡¡No te oigo!!
-       Claro, por eso son ultrasonidos.





miércoles, 23 de julio de 2014

¡¡Que me mojo!! - Sensor de Humedad en suelo

¿A quien no se le ha caído un café u otra bebida en el teclado o cerca? Como hubiésemos querido que nuestro teclado o portátil tuviese un mecanismo así.