domingo, noviembre 16, 2008

Codificador PIC16 Nemónico a Hexa y Hexa a Txt


Convertidor PIC16 Nemónico a Hexadecimal

Por la necesidad de codificar a mano las instrucciones de los PIC16 en modo hexadecimal y después de haberme equivocado al hacerlo, escribí un programa que genera la instrucción en hexa a través de una ventana de diálogo.

Solo se debe elegir la instrucción (nemónico) a emplear y sus operandos: registro f, literal k, bit a modificar o destino de la operación ALU. Al dar click en convertir, el programa genera la palabra en hexadecimal de 14 bits que se puede grabar directamente en la memoria de programa del pic.

Adjunto código fuente y ejecutable para quienes le vean utilidad al programita. Fue compilado con VBasic 2008 Express.

Ejecutable:
http://www.4shared.com/file/71823480/b6bedcef/Codificador_PIC16.html

Código fuente VB2008:
http://www.4shared.com/file/71823560/29ff9b56/Codificador_PIC16_cdigo_fuente.html

Convertidor archivo .hex a archivo .txt

Este programa se encarga de leer los archivos .hex que contienen la información a grabar de los PIC16. Extrae la memoria de programa en un archivo de texto, donde cada línea expresa la instrucción en binario del pic.

Cada línea representa la instrucción del pic16 en modo binario, teniendo por ejemplo a NOP = 00000000000000 o teniendo a SUBLW 0x00 = 11110000000000. Se respeta la posición en la memoria como en org 0x05, dejando las líneas sin código como 11111111111111, que equivale a un pic nuevo o a una instrucción ADDLW 0xFF.

¿Qué no hace el programa? No lee la EEPROM ni los fusibles de configuración del pic; tampoco identifica al pic para el que fue ensamblado.

Por ejemplo, si el código ensamblador es el siguiente...

org 0x0000
nop
return
retfie
movwf efe
clrw
...

El programa genera la siguiente salida...

00000000000000
00000000001000
00000000001001
00000010000000
00000100000011
...

Adjunto código fuente y ejecutable:
http://www.4shared.com/file/70640741/6ec22da6/Hex2TxtSan.html

Hay un bug que no supe corregir: si generan un archivo.txt con el mismo nombre por segunda vez les marca error. Solo hay que quitarle la propiedad de Solo Lectura al archivo y listo.

Más información sobre los archivos .hex de los PIC16 con el tutorial de Diego RedPic:
http://www.todopic.com.ar/foros/index.php?topic=23342.0


viernes, octubre 17, 2008

Orcad 9 setup.exe - Infracción de Acceso

Queriendo instalar Orcad Suite 9 en una computadora con Windows XP me entregaba el siguiente error:



Error de aplicación

SETUP ha causado una infracción de acceso en VERSION.dll en 0x77bd1ddc.




La solución para que la instalación no falle es la siguiente:

- Desinstala Microsoft Visual Studio 6 SP5.
- Reinstala Microsoft Visual Studio 6 pero no instales la librería MSDN ni el Service Pack 5.
- Corre el setup.exe del disco de Orcad y funcionará como debe ser.

domingo, agosto 03, 2008

Acelerando la Acer Aspire One con Windows XP


Hace unos días compré la mini laptop Acer Aspire One modelo 110 que trae instalado Linux Linpus. Las características de la lap son:

- Procesador Intel Atom 1.6GHz
- 512MB DDR2 533MHz
- Pantalla LCD de 8.9" con resolución de 1024x600 (TFT)
- Almacenamiento flash de 8GB SSD (P-SSD1800 Samsung)
- LAN 100Mbps
- Wireless 802.11b/g
- 3 Puertos USB 2.0
- Lector de memoria SD o SDHC
- Otro lector de memoria SD, SDHC, MMC, xD
- Cámara web de 1.3 Mega pixeles
- Batería de 3 celdas con respaldo aprox. de 2 horas


Originalmente el modelo que compré trae el sistemo operativo Linux, que en lo personal no me gusta, así que decidí formatearla e instalar Windows XP en ella.

Para empezar es un poco complicado instalar winxp si no se tiene un cdrom externo para correr la instalación desde un disco compacto, pero después de usar varias herramientas como BartPE logré correr windows. La instalación tardó como 2 horas en realizarse y todo debido al almacenamiento flash que tiene la máquina, ya no es un disco duro normal, es una memoria flash.

El SSD (Solid State Device) que la Acer Aspire One trae tiene un tamaño de 8GB y el problema que tiene es que su velocidad de escritura es bajísima comparada con su velocidad de lectura.

Usando el software ATTO disk benchmark se puede ver que la velocidad de escritura del disco es de 5.5MB/s y la velocidad de lectura es de 39MB/s. Windows XP necesita escribir mucho en el disco duro y la versión de Linux que trae la Aspire One no lo hace de la misma forma, de ahí que lo ideal fue instalar este SSD en la laptop al diseñarla, sin pensar que Winxp correría lentísimo en ella.

Como no tenía ganas de reinstalar Linux en la lap, investigué en varios sitios web y encontré varios consejos para acelerar Windows...

- Desactivar D2D en el bios de la lap ("Acer Disk to Disk" para restaurar el sistema a estado de fábrica)

- Al instalar Windows XP usar FAT32, no formatear con NTFS

- Desactivar la Restauración de Sistema

- Desactivar el archivo de paginación de la memoria virtual, solo recomendable si la lap tiene más de 1GB de ram, de lo contrario el sistema fallará por falta de ram

- Agregar RAM a la máquina. Se puede agregar solo una memoria más de 533MHz DDR2

- Instalar los drivers oficiales de la Aspire One modelo 110. (Link de descarga)

- Deshabilitar el prefetch de windows (Link con instrucciones)

- Instalar todos los programas que vayas a requerir en tu laptop (office, media players, mp3, imágenes, etc.). Después de tenerla lista, desfragmenta el ssd usando el Desfragmentador de disco.

- Deshabilitar la lista de Documentos Recientes. Ejecutar regedit.exe e ir a la posición HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer, agregar un nuevo valor DWORD llamado NoRecentDocsHistory y ponerle como valor 1 (Link con instrucciones).

- Actualizar el BIOS (Link a la versión 0.3308). Tener la laptop conectada a la toma de CA y reiniciarla después de aplicar la actualización. Al encender la laptop de nuevo, entrar al setup y seleccionar LOAD BIOS DEFAULTS, de lo contrario el ventilador de la laptop hará cosas raras.

- Cambiar la carpeta temporal de Windows a una unidad más rápida. Adquirir una memoria SDHC de al menos 4GB clase 6 (alta velocidad). Conectarla en el puerto "Storage Expansion". Crear una carpeta llamada "temp" en la raíz de la memoria (por ejemplo: D:\temp\). Ir a propiedades de Mi PC. Click en Opciones Avanzadas, Variables de Entorno. Cambiar las variables de usuario y de sistema por las siguientes (donde D: es la unidad de la SDHC):
TEMP -
D:\temp\
tmp -
D:\temp\
Se deberá cambiar ambos valores para las variables de usuario y las de sistema. Reiniciar el equipo. La tarjeta SDHC no deberá removerse del equipo mientras Windows XP esté en funcionamiento.

La única ventaja del ssd es que consume poca energía y ahorra la batería de la lap. Existen usuarios que han cambiado el ssd de la laptop por una memoria Transcend compact flash 300x (escritura a 22MB/s y lectura de 44MB/s) y un adaptador de CF a ZIF. El ssd original trae un conector tipo ZIF, haciendo posible reemplazarlo por discos duros de 1.8" o adaptadores como el mencionado. En esta página se habla de cómo se puede lograr, aunque es algo complicado porque hay que cortar el adaptador y el precio de la memoria Transcend de 8GB es como de 120USD.

Sin considerar el problema del ssd, la Aspire One es una máquina veloz, puede reproducir videos MPEG4 sin problema alguno. Si te cansas de cargar esas laptop de 17" que pesan como 3 ó 4 kg, la Aspire One con un peso de 1kg te será súper cómoda y la puedes llevar a donde sea. Si quieres andar en internet, no hay problema... trae conexión inalámbrica, alámbrica y puertos usb para conectar modems 3G por ejemplo.

Una recomendación para navegar en internet es usar Firefox 3 Portable Edition, el cual viene optimizado para funcionar con memorias flash y las páginas se abren mucho más rápido que en su versión normal o usando otros navegadores como el Windows Explorer 7.

Para descargar Firefox 3 Portable Edition visita este link.

La pantalla de 1024x600 pixeles es suficiente como para leer cualquier página web, incluso las de Youtube.

Vale la pena comprar la laptop si no se hace mucho uso del almacenamiento, pero si quieren bajar muchos videos y música de internet es mejor esperar a que salga la Aspire One con Windows XP y un disco duro normal de 120GB.

jueves, julio 24, 2008

SL Jpeg Viewer 0.16


Mediante el uso del compilador devkitPPC y las librerías libogc y libjpeg (por Softdev) me fue posible compilar una aplicación que corre en el Nintendo Gamecube llamada SL Jpeg Viewer. La aplicación también puede correr en un Wii en modo Gamecube.
















La aplicación abre archivos Jpeg desde una memoria SD conectada al Gamecube mediante un adaptador (SD Gecko). Las últimas mejoras que realicé a la aplicación a partir de la versión 0.13 beta son:

- Compilada con devkitPPC r15 y libogc 20080602
- Los mensajes de depuración fueron removidos
- Abre imágenes de hasta 1.9 Mega pixeles
- Lectura de sd usando libfat, más confiable que libsdcard
- Algoritmo de reducción de imagen mejorado

Instrucciones
- Crea una carpeta llamada "JPEG" en la raíz de la tarjeta (en mayúsculas)
- Guarda archivos jpeg en ese folder
- Carga el archivo slviewer0.16.dol usando el método que más te convenga, en mi caso lo hago usando el SD Media Launcher
- Presiona A para avanzar una imagen o B para retroceder

Actualización:
Compilé la aplicación para que funcione en modo progresivo haciendo uso de los cables componente del gamecube. Versión 0.17 disponible en el link de abajo.

Descarga 0.16:
http://www.4shared.com/file/56747286/2da6ecb9/slviewerv016.html

Descarga 0.17 video 480p:
http://www.4shared.com/file/56746690/626bb774/slviewerv017_480p.html

Adicionalmente puedes descargar el código fuente de la aplicación desde GitHub. Si estás interesado en modificarla hazlo a través de GitHub.
https://github.com/migsantiago/SL_JPEG_Viewer.git


Piano Tuner v0.1

Después de leer un poco sobre notas musicales y afinación de instrumentos (gracias Modulay y Electrotacto) decidí hacer una aplicación súper básica para comparar notas musicales grabadas por el micrófono o línea de entrada de una pc estándar.

El programa pide una nota musical y luego graba el audio del micrófono. Hace una comparación de la nota musical adquirida con la deseada y le indica al usuario cuánto debe ajustarla para que su instrumento quede correctamente afinado.

El usuario puede escuchar una onda senoidal generada con la nota musical o frecuencia que él elija.

Generación de la nota
- Generada a 44.1kHz
Grabación de la nota
- Grabada a 8kHz (para agilizar los cálculos)
Filtrado
- Se aplica filtro pasabandas de +/- 10Hz de la frecuencia a medir

Para correr el programa hay 2 opciones

Stand Alone (sin matlab)
No necesita matlab, solo se necesita instalar el paquete siguiente...

http://www.4shared.com/file/51338708/b0793983/MCRInstaller.html

Luego solo se ejecuta el archivo.exe del siguiente paquete y la aplicación está lista para funcionar.

Piano tuner stand alone
http://www.4shared.com/file/56401640/390625ee/piano_tuner_01_stand_alone.html

Usuarios con Matlab 7
Teniendo matlab 7 instalado solo hay que descargar el paquete siguiente...

Código fuente:
http://www.4shared.com/file/56400578/a60a2723/piano_tuner_01.html

y en la línea de comandos teclean

>>guide

en la ventana abren el archivo piano_tuner.gui y le dan Play y la aplicación estará funcionando.


La única prueba que he hecho con el programa fue con el juego de zelda y usando la ocarina porque no tengo instrumentos musicales en mi casa y mucho menos sabría como usarlos, así que consideren esto como un release alpha. No me hago responsable de cualquier daño que el programa pueda tener.





miércoles, julio 23, 2008

Error Matlab 7 Runtime

Hace unas semanas estuve teniendo problemas al arrancar Matlab 7. Salía el mensaje...



Microsoft Visual C++ Runtime Library
Runtime Error!

Program: C:\MATLAB7\bin\win32\MATLAB.exe


This application has requested the Runtime to terminate it in an
unusual way. Please contact the application's support team for more information.

El error pasa cuando en Windows XP se instalan temas visuales como StyleXP o Zune. Para solucionarlo solo hay que poner un tema oficial de Windows XP en configuración de pantalla, puede ser "Estilo de Windows XP" o "Media Center Style" y Matlab correrá normalmente.

martes, marzo 11, 2008

Revista uControl

En el foro Todopic existe gente conocedora del mundo de la electrónica y de los microcontroladores PIC. Algunos de ellos se agruparon y tuvieron la idea de publicar una revista electrónica que tuviera pequeñas guías, cursos, inventos, etc., todos ellos relacionados a todos los temas que se tratan en el foro.

La revista se llama uControl. Es una publicación que se hace cada 64 días y su índice se expresa en código hexadecimal, justo como un fan de la programación ve los datos día a día.

Este es el primer número de la revista, publicado en Enero de 2008

http://www.4shared.com/file/40466508/ec1a2e3c/ucontrol_revista_0001.html

En él se trataron los siguientes temas:




* el relojito
* sistema de protección de altavoces
* fundamentos de la transmisión sincrónica
* construye tus propios PCB
* uso práctico del PIC12F675
* usando LCDs primera parte
* los herederos del LM386
* PIC BASIC
* control de volumen digital
* registros de desplazamiento
* CD4094 primera parte
* sensor de humo con LED y LDR
* temporizadores programables
* control de velocidad de motores con CC por PWM con NE555


Y ahora en marzo ya publicaron el segundo número. Lo puedes descargar de aquí:

http://www.4shared.com/file/40471470/cf54bf7/ucontrol_revista_0002.html

El contenido es el siguiente:



* llave accionada al tacto
* el Protocolo Wiegand
* PICs y LEDs: una pareja perfecta
* poniendo un poco de orden en C
* simulador de circuitos digitales
* el relojito. segunda parte
* PIC BASIC. CAP. II
* hablemos de antenas
* receptor para el protocolo DMX512
* monoestable con NE555
* el bus SPI
* el u-Scilador
* dado electrónico. versión 1
* dado electrónico con PIC 16
* el microprocesador INTEL 4004


Estaré siguiendo estas publicaciones ya que son de muy buena calidad, es importante comentar que los redactores no cobran por su trabajo.

La revista de marzo tiene el sorteo del libro "dsPIC - Diseño práctico de aplicaciones" escrito por varios autores, entre ellos José Mº. Angulo Usategui. Para concursar solo es necesario leer toda la revista y encontrar la sección en dónde se habla de la rifa.

Felicidades al Director de la revista Ariel Palazzesi y a su grupo de trabajo por su revista y su interés en compartir el conocimiento.

EDIT: Agrego la revista del mes de Mayo (año 1 número 3).

Descarga:
http://www.4shared.com/file/48236813/475d77ac/ucontrol_revista_0003.html

El contenido en esta ocasión es el siguiente:



* Pic BASIC III
* uso práctico del PIC12F675 II
* sensor de temperatura LM35
* retardador de la red electrica con el CI555
* matrices de LEDs
* matriz de LEDs de 8x8
* memorias I2C con Proton Lite
* módulo ICSP para PIC16F877 y Protoboard
* cálculo de disipadores
* decodificador de protocolo ABA Track2
* usando LCDs II
* detector de humo y gases microcontrolado
* el relojito III
* paleotrónica: SID6581


El link de descarga de la cuarta entrega de la revista es el siguiente:
http://www.4shared.com/file/71341932/fc123ab3/ucontrol_revista_0004.html

jueves, marzo 06, 2008

Disco duro virtual 4Shared

Hace mucho tiempo utilizaba servicios malos como Rapidshare o Megaupload para publicar archivos en internet y que otras personas los puedan ver.

¿Por qué son malos Rapidshare y Megaupload?

- Si nadie descarga el archivo en 30 días, lo borran.
- Si tienes una IP con ubicación en México, Megaupload simplemente no te deja bajar el archivo.
- Si quieres subir varios archivos vas a obtener varios URL confusos para la gente.

Pero también hace mucho tiempo conocí el servicio gratuito de 4Shared:

http://www.4shared.com/ref/972521/9

Join 4Shared Now!

¿Cuáles son las ventajas? En el servicio gratuito:

- Te dan una cuenta para almacenar todos los archivos que quieras, hasta 5GB en total.
- Los archivos que puedes subir deben tener como límite 100MB de tamaño.
- Puedes subir varios archivos al mismo tiempo, sin tener que esperar a que termine uno para empezar a subir otro.
- Puedes crear carpetas y subcarpetas para tener en orden tus archivos. Puedes tener una carpeta para tus tareas y otra para compartir tus MP3s.
- Puedes dar un link para que la gente descargue un archivo, para que vea el contenido de una carpeta o para que vea el contenido de todo tu disco duro virtual.
- Si quieres prohibir accesos, solo seleccionas Privado en las características de tu carpeta o mejor aún, le pones contraseña y solo la compartes con quien tú quieras.
- Te dan un URL gratuito, para acortar la dirección de una de tus carpetas. Por ejemplo, mi carpeta compartida es Todopic:

http://www.4shared.com/dir/1885308/5d0a2ec2/todopic.html


Pero su URL rápida es:

http://todopicsan.4shared.com

la cual es más fácil de memorizar.

Así se ven los contenidos de tu disco virtual, como un explorador de archivos de Windows, da click en la imagen:

Disco Duro Virtual 4Shared

Si no visitas tu cuenta en 30 días, el servicio te manda un aviso por email para que al menos abras y cierres tu cuenta, de lo contrario te borran tus archivos. El aviso llega como 7 días antes de la fecha límite.

Si deseas mejorar tu cuenta, por $39.95usd te dan el servicio por todo un año y tienes las siguientes ventajas:

- Ya no tienes límite para visitar tu cuenta cada 30 días.
- Tienes espacio de almacenamiento de 20GB.
- Tus usuarios podrán descargar archivos hasta 10GB por mes.
- Puedes subir archivos de hasta 1GB, puedes subir imágenes de un CD en ISO por ejemplo.
- No habrá comerciales en tus páginas.

Da click en la imagen para subscribirte gratis o para comprar una cuenta Premium:

Join 4Shared Now!

Es un servicio altamente recomendable, disfrútalo, y si te gusta cómpralo :D.