Saludos amigos, despues de un tiempo un tanto intenso regreso al blog para compartirles un pequeño proyecto que desarrolle para la U.
Como el titulo indica es una frecuencimetro muy basico pero funciona bastante bien. tiene un error maximo porcentual de 0.07%, a bajas fecuencias no tiene error pero el error aumenta conforme existe mas frecuencia de entrada.
La visualizacion se la hace mediante un LCD Dogm 163, ( en post anteriores les deje la libreria respectiva)
¿Como funciona?
Se conecta una generador de frecuencias al pic mediante el pin RA4/T0CKI y se conecta un lcd.
El frecuencimetro funciona con el contador del timer0 a 16 bits esto
permite recoger valores de 2^16 hertz alrededor de 65Khz.
Como generador de frecuencias uso una tarjeta NI myDAQ de National Instuments, yo se que algunos diran que eso no se software libre y es cierto, al menos para utilizar dicho instrumento necesito de cambiarde de sistema operativo. (Aunque en el blog de vez en cuanto tocare herramientas no libres como esta)
YA ES HORA QUE NATIONAL INSTRUMENTS DE SOPORTE PARA GNU/LINUX!!!
En fin espero que les sirva
Descarga el Codigo
Blog dedicado a compartir mis experiencias con Hardware Libre, Software Libre, Academia y Ciencia. Intento que sirva de ayuda a otras personas que tengan los mismos problemas o inquietudes.
lunes, 10 de noviembre de 2014
domingo, 2 de noviembre de 2014
Configurando MPLABX con PICKIT3 (Fuente de Alimentacion)
Saludos les traigo un mini tutorial de como se debe configurar inicialmente el MPLABX para que el mismo funcione como fuente y programador.
1) Creamos un nuevo proyecto, escogemos la opción Standalone Project
2) Seleccionamos el dispositivo en este caso el PIC18f4550
3) El siguiente paso es seleccionar el grabador, usamos por supuesto el pickit3
4) Nos solicita escoger el compilador, yo uso por lo general el XC8 pero es libre de elegir el compilador que mas le guste.
5)Damos un nombre al proyecto
6)Finalmente hemos creado el proyecto, ahora para poder hacer que el pickit3 funcione como fuente debemos hacer lo siguiente.
En el cuadro inferior izquierdo encontraremos un icono con la forma de llave y tuercas, damos click y se nos abre una pantalla.
En la pantalla buscamos donde esta el nombre pickit3 y le damos click
En Option categories buscamos donde dice "POWER"
Seleccionamos la casilla power target y el nivel de voltaje, en mi caso elijo 5v pero si el micro que usamos trabaja a otro nivel se lo puede configurar.
Espero les haya servido saludos.
1) Creamos un nuevo proyecto, escogemos la opción Standalone Project
2) Seleccionamos el dispositivo en este caso el PIC18f4550
3) El siguiente paso es seleccionar el grabador, usamos por supuesto el pickit3
5)Damos un nombre al proyecto
6)Finalmente hemos creado el proyecto, ahora para poder hacer que el pickit3 funcione como fuente debemos hacer lo siguiente.
En el cuadro inferior izquierdo encontraremos un icono con la forma de llave y tuercas, damos click y se nos abre una pantalla.
En la pantalla buscamos donde esta el nombre pickit3 y le damos click
En Option categories buscamos donde dice "POWER"
Seleccionamos la casilla power target y el nivel de voltaje, en mi caso elijo 5v pero si el micro que usamos trabaja a otro nivel se lo puede configurar.
Espero les haya servido saludos.
jueves, 23 de octubre de 2014
Agregando Python SDK del Robot NAO a Python Debian
Saludos estos dias e intentado probar algunos ejemplos que se encuentran en la pagina oficial de Aldebaran Robotics, casa comercial de Nao. http://doc.aldebaran.com/1-14/dev/python/index.html pero el problema es que no podia descargar el famoso sdk para programar con python.
Lo primero que hay que hacer es estar registrado en la pagina de aldebaran, linkear nuestro robot nao a la cuenta que creamos (Primeros pasos con NAO) y descargar el archivo pynaoqi-python-2.7-naoqi-1.14.5-linux32.tar.gz (pueden descargar la opcion de 64bits si lo prefieren)
Lo guardamos en la siguiente direccion:
/home/usuario/
(usuario lo cambiamos por el nombre de nuestra perfil de usuario en mi caso richi)
Descomprimimos
tar -xvzf pynaoqi-python-2.7-naoqi-1.14.5-linux32.tar.gz
Cambiamos el nombre por defecto a naoqi
finalmente ejecutamos el siguiente comando
export PYTHONPATH=${PYTHONPATH}:/home/usuario/naoqi
Para comprobar que lo tenemos correctamente instalado escribimos en el shell
python
Finalmente
import naoqi
Si no nos da ningún error lo hemos logrado, ahora podemos usar python directamente con el robot Saludos.
Lo primero que hay que hacer es estar registrado en la pagina de aldebaran, linkear nuestro robot nao a la cuenta que creamos (Primeros pasos con NAO) y descargar el archivo pynaoqi-python-2.7-naoqi-1.14.5-linux32.tar.gz (pueden descargar la opcion de 64bits si lo prefieren)
Lo guardamos en la siguiente direccion:
/home/usuario/
(usuario lo cambiamos por el nombre de nuestra perfil de usuario en mi caso richi)
Descomprimimos
tar -xvzf pynaoqi-python-2.7-naoqi-1.14.5-linux32.tar.gz
Cambiamos el nombre por defecto a naoqi
finalmente ejecutamos el siguiente comando
export PYTHONPATH=${PYTHONPATH}:/home/usuario/naoqi
Para comprobar que lo tenemos correctamente instalado escribimos en el shell
python
Finalmente
import naoqi
Si no nos da ningún error lo hemos logrado, ahora podemos usar python directamente con el robot Saludos.
jueves, 16 de octubre de 2014
Libreria para el LCD Dogm163 4bits MPLABX - XC8 Compiler
Saludos amigos esta vez les vengo a compartir una librería que encontré en Internet y edite para que funcione con el LCD DOGM163 en configuracion 4bits aquí una foto del LCD.
este es el link de descarga: http://www.mediafire.com/download/z7fwftfiqc23eoq/library-dogm163.zip
A continuación una imagen de la librería en un proyecto de MPLABX-XC8
Enmarcado con Verde estan los archivos de la librería agregados al proyecto es un archivo .h y .c
Principales comandos.
LCD_initialise (void);
Encargado de inicializar el LCD se lo coloca al inicio del programa
LCD_writechar (char data);
Escribe un caracter en la posicion en la que se encuentre el cursor. (Solo permite Caracteres)
LCD_displayRAM (unsigned char line, unsigned char position, const char *text);
Permite escribir un mensaje de texto 'String', se coloca el numero de linea(1,2 o 3), numero de columna y finalmente el texto string
LCD_position (unsigned char line, unsigned char position);
Brinda la opción de elegir la posicion en la que deseamos el cursor.
LCD_command (unsigned char cmd);
Esta funcion permite enviar un codigo de control al LCD en formato hexadecimal puede consultar estas instrucciones en el datasheet http://www.lcd-module.de/pdf/doma/dog-m.pdf
Espero que les sirva un saludo.
este es el link de descarga: http://www.mediafire.com/download/z7fwftfiqc23eoq/library-dogm163.zip
A continuación una imagen de la librería en un proyecto de MPLABX-XC8
Enmarcado con Verde estan los archivos de la librería agregados al proyecto es un archivo .h y .c
Principales comandos.
LCD_initialise (void);
Encargado de inicializar el LCD se lo coloca al inicio del programa
LCD_writechar (char data);
Escribe un caracter en la posicion en la que se encuentre el cursor. (Solo permite Caracteres)
LCD_displayRAM (unsigned char line, unsigned char position, const char *text);
Permite escribir un mensaje de texto 'String', se coloca el numero de linea(1,2 o 3), numero de columna y finalmente el texto string
LCD_position (unsigned char line, unsigned char position);
Brinda la opción de elegir la posicion en la que deseamos el cursor.
LCD_command (unsigned char cmd);
Esta funcion permite enviar un codigo de control al LCD en formato hexadecimal puede consultar estas instrucciones en el datasheet http://www.lcd-module.de/pdf/doma/dog-m.pdf
Espero que les sirva un saludo.
lunes, 13 de octubre de 2014
Arreglando Eje Z Prusa I2 (Eje Z se cae en Impresora Prusa I2)
Cuando leí por internet que para armar una impresora 3D necesitaba conocimientos de Electrónica y Mecánica, me preocupe por el segundo puesto que tengo un minimo conocimiento sobre el mismo.
Al final logre armar la Impresora 3D con ayuda de un Amigo y la comunidad por internet. Todo marchaba bien hasta que luego de un tiempo de uso de la impresora, un dia normal note que el eje de la misma se había caído!, "posiblemente fantasmas" dije, pero hablando en serio me di cuenta que el problema radicaba en que para hacer la unión entre el eje del motor y la varilla roscada lo había rellenado con cinta aislante y con el tiempo se desgasta y se cae. He aquí un ejemplo de como el eje Z baja y descalibra la impresora:
La solucion que encontre para este problema fue cortar un pedazo de estas borneras electricas que encontre.
Rellenar nuevamente el eje Z del motor con cinta aislante de tal manera que la bornera eléctrica cortada ingrese bajo presión de esta forma quedara firme la cinta aislante que no se caera por la presion que ejerce el plastico.
Finalmente unimos el eje del motor con la varilla roscada normalmente, apretamos las tuercas y listo, esta solucion me ha funcionado bastante bien. Si alguien tiene alguna otra solucion o idea le invito a compartirla.
Un saludo a ti que estas leyendo esto.
Gracias por tu tiempo
domingo, 12 de octubre de 2014
Instalar Software Nao Aldebaran en Debian Wheezy (error GLIBC_2.15)
Saludos amigos esta es mi primera publicación y espero que les guste.
Primero. Que es Nao?
para responder eso les dejare el video a continuacion.
El software para programar este robot se lo pueden descargar desde la siguiente dirección. Se llama Choregraphe
https://community.aldebaran.com/en/resources/software
Hasta aquí too bien, el momento de instalarlo no me dio ninguna sorpresa.
Al momento de querer ejecutar el programa no iniciaba asi que abri la consola y me dispuse a iniciarlo "Manualmente" para ver si encontraba un error, fui a la siguiente direccion:
cd /opt/Aldebaran\ Robotics/Choregraphe\ Suite\ 2.1/
y ejecute:
./choregraphe
me daba el siguiente error "GLIBC_2.15 Not Found" y esta dependencia es necesaria para ejecutar el programa. Para arreglar este problema hay que seguir los siguientes pasos:
1) Abrimos el archivo que contiene la direccion de las fuentes:
sudo nano /etc/apt/sources.list
2) Al ultimo del Archivo agregamos la siguiente fuente
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
3)Actualizamos el sistema
sudo apt-get update
4)Instalamos el paquete necesario
sudo apt-get install -t testing libc6
Con esto hemos instalado la dependencia, pero al intentar ejecutar nuevamente el software me aparecio el siguiente error:
"terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Aborted"
para arreglar eso simplemente escribimos en consola
export LC_ALL=C
y asunto arreglado, finalmente ejecutamos el programa y lo comenzamos a utilizar.
./choregraphe
Espero les sirva un Saludo.
Primero. Que es Nao?
para responder eso les dejare el video a continuacion.
El software para programar este robot se lo pueden descargar desde la siguiente dirección. Se llama Choregraphe
https://community.aldebaran.com/en/resources/software
Hasta aquí too bien, el momento de instalarlo no me dio ninguna sorpresa.
Al momento de querer ejecutar el programa no iniciaba asi que abri la consola y me dispuse a iniciarlo "Manualmente" para ver si encontraba un error, fui a la siguiente direccion:
cd /opt/Aldebaran\ Robotics/Choregraphe\ Suite\ 2.1/
y ejecute:
./choregraphe
me daba el siguiente error "GLIBC_2.15 Not Found" y esta dependencia es necesaria para ejecutar el programa. Para arreglar este problema hay que seguir los siguientes pasos:
1) Abrimos el archivo que contiene la direccion de las fuentes:
sudo nano /etc/apt/sources.list
2) Al ultimo del Archivo agregamos la siguiente fuente
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
3)Actualizamos el sistema
sudo apt-get update
4)Instalamos el paquete necesario
sudo apt-get install -t testing libc6
Con esto hemos instalado la dependencia, pero al intentar ejecutar nuevamente el software me aparecio el siguiente error:
"terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Aborted"
para arreglar eso simplemente escribimos en consola
export LC_ALL=C
y asunto arreglado, finalmente ejecutamos el programa y lo comenzamos a utilizar.
./choregraphe
Espero les sirva un Saludo.
Suscribirse a:
Entradas (Atom)