lunes, 4 de julio de 2016

Pinguino Processing

Processing es un excelente entorno de desarrollo de aplicaciones inicialmente simples para no programadores, pero que después de familiarizarse en la programación con esta herramienta, notaremos que es fenomenal y que tal vez ya nuestras aplicaciones ya no parezcan tan simples, si no mas bien profesionales y elegantes.

Fuente: https://processing.org/ 

Ahora bien, si queremos potenciar las cosas que podemos hacer con Processing, que tal si lo mezclamos con algo de hardware, y que mejor que hacerlo con la Board de Desarrollo Open Source - Open Hardware Pinguino; sí, esta board nos permite tener la oportunidad de comunicarnos desde el mundo exterior del computador y desde el exterior hacia nuestras aplicaciones en Processing. por ejemplo, podemos hacer un circuito que mida la temperatura en el ambiente, y en tiempo real nos muestre en la interfaz gráfica creada en Processing el ascenso o descenso de la temperatura de nuestra habitación. 

Pinguino 2550


Aplicación Processing Control de temperatura con Pinguino




miércoles, 14 de enero de 2015

Instalar piklab 0.16.2 en Ubuntu 14.04

Instalando piklab 0.16.2 en ubuntu 14.04


Me gusta usar pinguino 2550 para mis proyectos de electrónica, pero en ocasiones particulares suelo usas microcontroladores mas económicos para proyectos pequeños como el ya  achiconocido 16f84a, por tal motivo se hace necesario compilar y programar el micro usando sdcc directamente, es aqui donde entra en juego un IDE genial para hacer este trabajo, piklab es el susodicho.

Para instalar piklab debemos descargarlo y compilarlo, pero antes debemos instalar algunas dependencias necesarias.

Para instalar las dependencias, abrimos la terminal y procedemos con las siguientes lineas:

sudo apt-get update

sudo apt-get install build-essential cmake qt4-dev-tools libusb-dev ncurses-dev libreadline-dev kdelibs5-dev kde-workspace-bin gputils gpsim sdcc 


Luego de que termine de instalar todas las dependencias, vamos a compilar piklab, pero antes lo descargamos del siguiente link  descargar piklab . cuando termine la descarga, lo descomprimimos y entramos al directorio de piklab


Cuando listamos el contenido del directorio, encontramos los archivos que muestra la imagen; ahora nos queda compilar.

para compilar, tipamos la siguientes lineas en el terminal, incluido el punto.

cmake .                                                                                             

cuando termine el proceso, seguimos con el siguiente:

make                                                                                                 

y luego, si no mostró inconvenientes en la compilación, ejecutamos la instalación, de lo contrario, debemos instalar las dependencias faltantes. Por lo regular suelen faltar las de kde y/o qt, aunque de acuerdo a las practicas que he realizado, con lo visto hasta ahora es suficiente. 

Instalar piklab

sudo make install                                                                              


Eso es todo, si todo anduvo bien hasta ahora, ya deberíamos de encontrar el lanzador de piklab o ejecutarlo directamente desde el terminal.

piklab                                                                                               



Por ultimo, algo que no me esperaba fue que tuve problemas al compilar.

Había usado piklab en versiones anteriores de ubuntu y funcionaba bien, pero esta vez tuve un problema, el cual al compilar, ocurría un error al usar los headers para el proyecto en curso.

Trate de varias formas en solucionar esto, pero la única que tuvo efecto fue bajar la ultima versión de sdcc  (2015 sdcc-3.4.0) y actualizar sdcc.

para saber que versión de sdcc tenemos instalado, vasta con tipar lo siguiente en la consola:

sdcc -v                                                                                              


Ahora, descomprimimos el archivo que descargamos, y copiar todo el contenido del directorio en /usr/local/, lo hacemos como lo muestro en seguida:

cd  sdcc-3.4.0                                                                                    

sudo cp  *  -R /usr/local/                                                                       

Con esto, solucione mi problema.

Espero les sea de ayuda este contenido, compartan el blog en sus redes.




jueves, 14 de agosto de 2014

PinguiLancha Pinguino Android

Últimamente he venido desarrollando varios proyectos electrónicos teniendo como herramienta de desarrollo principal a la plataforma de Hardware Libre Pinguino. Entre ellos he creado una oruga, un robot bluetooth -  Android con bola loca y otras pruebas básicas con Pinguino. 

Esta vez les traigo un proyecto que me ha parecido bien interesante, una Lancha comandada desde Android con bluetooth, usando pwm para el motor y un servomotor para el timón. 

Aclaro!!, no soy un experto en lanchas, por si encuentran alguna inconsistencia o términos que debería usar para este tema.

Para empezar, primero inicie por controlar el motor con pwm, para esto use el pin 11 de pinguino, y un mosfet TIP 122, les comparto el vídeo de las pruebas iniciales.

 

luego de esto, pase a controlar un micro servo usando las librerías de pinguino  (ejemplo oficial), con esta información y pruebas, me dispuse a crear el casco de la lancha.

Casco

 Para el casco, use icopor de 5 cm, dos planchas de 40x18 cm, estas las uní una encima de otra para dar mas alto al casco; con un cuchillo afilado y con papel de lija  le di forma,  luego perfore un rectángulo para alojar el motor, servo y Pinguino.

casco lancha pinguino 
Casco terminado



Hélice de extractorHelice para la lancha hecha de extractor de fuente
Helice

Para la hélice he usado dos aspas de extractor de una fuente de computador, las cuales he recortado y unido con pegamento superglue, silicona liquida y un par de alambres para mas firmeza, al mismo tiempo pegue a la hélice la varilla de trasmisión. para esta ultima use un radio de bicicleta.

Esta varilla de transmisión debe de ir por dentro de un tubo relleno de grasa para evitar entradas de agua, el tubo que use es de una parte de antena de radio, con la medida necesaria (3mm apx) para que éntre por él la varilla de transmisión. 
 



Timón

El timón esta hecho en una lamina de acrílico de 2mm, y el soporte lo hice con lamina de hierro, la cual recorte y le di forma de ángulo, los cuales uní para crear el soporte y formar una bisagra. se pego a la lancha usando dos tornillos con tuerca.

Timon de lancha hecho en acrilico y lamina





Motor

 Este es el motor ya ensamblado y conectado a la transmisión. para la unión, use un remache de aluminio y un par de gotas de superglue
Baterias


Baterías Como me gusta el reciclaje, no solo para minimizar costos si no también para contribuir con el medio ambiente, he usado baterías de celular conectadas en serie para alimentar el motor, en total son 6 baterías de 3,5 volts. y para alimentar Pinguino solo uso dos de las mismas características, pero estas, totalmente independientes de las que alimentan el motor. Vale anotar que la masa o GND de Pinguino debe de unirse con la masa del driver del motor para cerrar el circuito y pueda funcionar adecuadamente el driver para el Pwm.





Modulo Bluetooth
 
El modulo inalámbrico Bluetooth que he usado es el HC-05.  Desde que compre he tenido varios inconvenientes con el modulo, en la parte de recepción de datos, Pinguino RX y modulo HC-05 TX, pues en un principio no me recibía los datos,  luego de esto me recomendaron usar un buffer  HC4050, con este si me recepciona datos enviados desde android, pero de una forma casi que inmanejables, por un lado, porque no corresponden a la tabla ASCII, y por otro, al recepcionarlos, coincidian con otros datos recibidos, por ejemplo. al enviar el caracter ' a ' que en la tabla ASCII corresponde al 97, este recibia otro dato, menos el que esperaba, y si le enviaba cualquier otro caracter, muchos coincidian con el ya recibido, es decir se repetían los datos recibidos, pero con caracteres diferentes enviados desde android.

Bueno.. despues de tanto, mejor le coloque un inversor 7404, con este integrado, aunque los datos recibidos no coinciden con la tabla ASCII y tampoco se podia restar la constante 48 para que coincidan los caracteres enviados y recibidos, No se repetian, por esto al enviar el carácter ' a ', el modulo me recibe solamente el decimal 79, y solo este carácter me corresponde a este decimal. de esta forma pude tratar los datos recibidos y poder tomar acciones con los mismos.


Driver

Para el driver del motor, use el MOSFET TIP 122, mostrado en el video de mas arriba, luego de las pruebas y verificacion de funcionamiento, monte todo en una pcb. En la misma pcb monte el modulo bluetooth.

PCB driver lancha
 Descargar pcb en .pdf tamaño para imprimir.


bluetooth hc-05



Este es el driver y el bluetooth ya montado en la pcb.  le he puesto los cables de conexión de baterías, y de datos del bluetooth, también le puse un poco de silicona liquida a los cables para evitar que se muevan y despeguen.


Driver y bluetooth hc-05



Para el bluetooth le instale un zócalo para extraer el modulo de forma fácil cuando sea necesario.

Para alojar el circuito use una caja de cargador de celular.
Carcasa para driver







Terminando

Finalmente, la lancha me ha quedado de la siguiente forma, las pruebas las he hecho en una piscina y funciona de maravilla. el código de la aplicación android y de pinguino lo subiré a github en cuanto le haga unos retoques a la interfaz, por ahora es solo funcional y no tiene nada de estética.

Lancha con electronica montada


Lancha Terminada con pinguino

Lancha Terminada

Lancha Terminada Pinguino Android


Me queda pendiente el vídeo en el agua, pues no lo he podido grabar aun.

Hasta pronto...

He vuelto por aquí a actualizar el blog, esta ves les he venido a dejar los repos en github de la app Android y de pinguino.
 Repositorio Github App Lancha Android Pinguino

Espero les sea de ayuda, y si desean mejorar el proyecto, bienvenidos a hacerlo.

Hasta pronto!!.