Sunday, November 28, 2010

my posts to the Tcl wiki

as said by Arjen Markus:

Dec 16, 2009
- Picking an HTML page apart and showing its structure ...
Again a tree: http://wiki.tcl.tk/25371 and what a nice
reuse of existing code.

Jul 19, 2010
- Displaying the structure of a document as a tree of objects ...
perhaps not simple, but well worth the effort. http://wiki.tcl.tk/25371 shows the result.

Monday, November 15, 2010

un post desde el iPad

Veamos que tal se puede crear una entrada desde el ipad, al parecer si se puede teclear bien.

Friday, September 10, 2010

El canvas de Tcl

TkSnake
Soccer
Balance Toy
Dot2Dots
Horse
Postcard
TheTwine

Wednesday, September 8, 2010

One Track Mind Web Server

Revisando esta aplicacion de Michael Cleverly en el wiki, descubrí lo siguiente:
- Corre solo en linux
- usando el command line, puedes definir el contenido a servir por el web server, ya sea un simple mensaje de texto, un archivo, una URL a donde redireccionar, etc

Tuve que usar los comandos kill y ps aux para poder detener el web server.
Funcionará con una estructura hecha por ejemplo con MajaMaja?

Saturday, September 4, 2010

PIC16F84 y PIC16F628

Programa: Entrenador-02

El siguiente programa activa los leds dependiendo del estado del switch A1 en el EduPIC:


El libro que tengo, trata del PIC16F84, sin embargo, el entrenador que me conseguí, trae el PIC16F628, cuando capturé el segundo programa de ejemplo, el programa no funcionó.
Tuve que revisar algunas de las diferencias basicas entre estos 2 microcontroladores y, de momento, encontré lo siguiente:
- el 628 tiene 4 bancos, contra los 2 bancos del 84.
- el 628 hace uso del puerto A, tambien para algunas funciones de comparador, por lo que hay que realizar algunas deshabilitaciones al principio del codigo para poder usar las lineas del puerto A como entradas/salidas digitales.

La siguiente imagen muestra el programa original para el 16F84 y las adecuaciones realizadas para que pueda ser usado en el EduPIC, con un 16F628:


Conclusiones: Los programas del 16F84 requieren algunas adecuaciones si los quieres usar en un 16F628.

Tuesday, August 31, 2010

Un programa en codigo maquina

Programa: Entrenador-01

Pues bien, en la sesion anterior hemos programado el PIC con un programa existente en formato hex. Aún no hemos hecho ningun programa en ensamblador ni hemos usado el MPLAB para nada.

Este programa es muy sencillo, enciende unicamente los 4 leds correspondientes a los bits de mayor peso, mientras que mantiene apagados a los de menor peso.(Enciende 4 y apaga 4).

Este programa , lo vamos a capturar en el editor del programador WinPic. Haremos la captura directa de los codigos hexadecimales que resultarían despues de ensamblar.

Primero, asegurese que la cejilla "Device, Config" del programa WinPic, tiene la siguiente configuracion:
OSC Oscillator: XT
WDT Watchdog Timer: Off
PUT: Disabled
MCLRE: Enabled
BODEN: Disabled
LVP: Disabled
CPD: Disabled
CP: Off
Si los ajustes son correctos, el parámetro Config word #1 será 3F29 y el parámetro Config word #2 será 3FFF

Este es el programa a grabar y ejecutar:
direccion contenido
0000       1683
0001       0186
0002       1283
0003       30F0
0004       0086
0005       2804

(Quizas sea necesario habilitar el editor a traves de la opcion "Enable HEX editor" del menu "Edit"

Usando el programa WinPic, capturé dichos contenidos en la pantalla de codigo. Quedó así:


Para transferir estos contenidos a nuestro PIC, basta seleccionar la opcion "PROGRAM (CODE+DATA+CONFIG)" desde el menú "Device", espere a que se lleve a cabo la transferencia de informacion desde la PC hasta nuestro EduPIC.

Para ejecutar el programa, seleccione la opcion "Reset/ Disconnect ICSP /Go" desde el menú "Device".
Al ejecutar el programa, se encienden únicamente los leds B4,B5,B6 y B7, tal como se esperaba.

En este punto, lo importante es saber editar los contenidos del editor hexadecimal del WinPic y saber como pasar (programar) dichos contenidos al PIC en el EduPIC.
De momento, no sabemos lo que significan los valores programados, eso lo veremos mas adelante...


Sunday, August 29, 2010

Programar el PIC

La tarea de hoy es cargarle un programa diferente al PIC16F628 del "edupic".

Desconecte el eliminador, desconecte el LCD y, siguiendo el manual que viene en el CD:
  • Puse el "jumper" S1 en la posicion "PROGRAMAR"
  • Volvi a conectar el eliminador, y conecte el cable serial desde la PC hasta el edupic.
  • Copie el folder que viene en el CD al escritorio
  • abri la carpeta "WINPIC" y corri el programa Winpic.exe
  • En la cejilla "Device,Config" puse el control "Part:" igual a "16F628A"
  • En la cejilla "Interface" puse el control "Interface Type" igual a "JDM programmer for serial port"
  • En la cejilla "Interface" puse el control "on port:" igual a "COM1"
  • Activé la cejilla "Code", hice click en el menu "File", luego "Load & Program Device (CODE+DATA+CONFIG)"
  • Seleccione el archivo "contadorF628.hex" localizado en el path:
    • archivos16F628
    • PROGRAMAS EN LENGUAJE ENSAMBLADOR
    • LEDS, MICROSWITCHES, RELEVADOR
  • hice click en el menu "device" y luego en "Reset/ Disconnect ICSP/ Go"
Como resultado, se observa que los leds parpadean en una secuencia de conteo binario, lo cual nos indica que todo salió bien.

Saturday, August 28, 2010

Aprender a programar PICs


Siempre quise aprender a programar microcontroladores y por alguna razón, nunca me dí el tiempo para ello. Hace ya bastantes años, hasta me hice del libro "Bebop BYTES Back" el cual incluía un simulador de un sistema microcontrolador para quienes quieren aprender a programar en ensamblador.
Dicho microprocesador virtual era llamado "la beboputer", el libro está en ingles en un tono muy ameno y divertido.

Al retomar este asunto de aprender a programar -ahora microcontroladores-, elejí los PIC's debido a la gran popularidad de la que gozan.
Ademas de aprender, trataré de involucrar a mi hijo para:
1) ver si despierto en él el interés por la programacion y la electronica, y
2) trabajar juntos en algo que nos quede para el recuerdo.

Pues bien, primero, me hice de un libro y compré en linea un tablerito llamado "edupic" a traves del proveedor http://www.puntoflotante.net/ (y no es comercial).
Una noche, me decidí a solicitarlo, y, menos de 48 hrs despues, ya tenía aquel tablerito en mis manos.

Esto es lo que venía como parte del paquete:


El micro que trae el kit es el PIC 16F628.

A conectarlo...
El sistema dice venir ya programado con un mensaje que se desliza en el LCD, por lo que me dispuse a conectarlo.
1) El LCD, en el conector cercano a la hilera de leds
2) El eliminador, en el conector cercano al regulador 7805.
Como se puede observar en la foto, el eliminador de baterias es del tipo "universal" por lo que hay que tener cuidado de conectar el cable que tiene los cuatro "plugs" alineando el simbolo "+" de un lado con "TIP" en el otro, de modo que la terminal central de salida sea positiva y el barril externo sea el negativo.



Enseguida, hice presion en el switch "RST" del edupic y...listo!
Observé el mensaje de prueba desplazandose en el LCD.

siguiente paso: Programar el pic

Saturday, August 14, 2010

Friday, May 21, 2010

XLtoHTML macro

From mvps web site

Tuesday, May 11, 2010

Tcl and home automation

X10 home automation
- scriptkitties link
http://wiki.tcl.tk/3889

- home automation portal appliance
http://www.hometoys.com/htinews/apr06/articles/appliance/part2.htm

- icanprogram website for a good tcl tutorial
http://www.icanprogram.com/09tk/main.html

- Clyf Flynt Tcl Tutorial
http://www.cwflynt.com/CS146GameLab/

Saturday, January 23, 2010

SQL para Access 2000

Fundamental Microsoft Jet SQL for Access 2000
http://msdn.microsoft.com/en-us/library/aa140011(office.10).aspx#acfundsql_dml

sintaxis SQL usada por Access 2000.

Tuesday, January 12, 2010

Sugar and OLPC

Probé el Sugar on a Stick (SoaS), del proyecto OLPC.

1.-A veces se queda inhibido el sistema, parece componerse entrando a la aplicacion
"moon" y del "edge menu" tratar de accesar a la aplicacion que se quedó colgada.

2.-Parece ser que, por default, el audio viene silenciado.
Hay que entrar al "edge menu" y activar la bocina.
(en la esquina inferior derecha)

3.-"F3" te lleva al menú principal.

Al "bootear" se muestra un mensaje de espera de 10 segundos, a lo cual se agregan

aproximadamente 20 segundos adicionales de espera en los que parece que nada esta sucediendo...