domingo, 24 de junio de 2012

Como programar un PICAXE

Los chips PICAXE se programan utilizando un lenguaje muy simple y fácil de aprender. Se trata del lenguaje de programación BASIC pero está orientado a los PICAXE

Este lenguaje está diseñado para permitir a los usuarios sin ninguna experiencia en programación formal, desarrollar programas de forma rápida y sencilla

PICAXE BASIC es mucho más sencillo de aprender (y de 'depurar') que los lenguajes de programación tradicionales como el ensamblador o 'C'. El software de programación BASIC es totalmente gratuito y está disponible para Windows, Mac y Linux.

El software Programming Editor también incluye una herramienta muy útil en la pantalla el modo de simulación, donde los programas pueden ser probados antes de descargarlos en el chip.

Se puede programar el chip PICAXE de dos formas:
  • Con un código fuente
  • Con diagramas de flujo
Para programar con código fuente directamente, ahora puedes utilizar el Picaxe Editor que tiene una interfaz más amigable y con un poco más de información. Además esta el Programming Editor o el AXEpad, para programar con diagramas de flujo puedes usar el Picaxe Editor, el Programming Editor o el Logicator for PICAXE. Además existen otros diferentes y útiles programas, que puedes revisar en la sección de software de la página de PICAXE.

Comandos Básicos


Como en todo lenguaje de programación, existen palabras reservadas que tienen una función definida, y una sintaxis predeterminada. Algunos comandos básicos se muestran en la siguiente lista, en la página de PICAXE está la lista completa de comandos básicos y una breve descripción de su función.

Entrada o Salida Digital
  • high    
  • low      
  • sound
  • play
  • if pin
  • count
  • input
  • output
Entrada o Salida Analógica
  • touch
  • readadc
  • readtemp
  • readdac
Tiempos de retardo
  • pause
  • sleep
  • wait
Programa de Control de Flujo
  • goto
  • for
  • next
  • do
  • if
  • else
  • select
  • case
  • exit
Variables
  • symbol
  • let
  • inc
  • dec
  • bcdtoascii
  • bintoascii
  • random

Sintaxis

Como en todos los lenguajes de programación, se debe escribir sin ninguna falta de ortografía, de lo contrario el compilador nos mostrará error y no se podrá descargar el programa al chip. Por otro lado también se debe tener cuidado con los errores lógicos por que a diferencia de los errores de sintaxis, éstos no pueden ser detectados por el compilador y por lo tanto se pueden descargar al chip y no podría hacer bien lo que le indicamos.

La sintaxis definida para cada comando la puedes consultar en los manuales así como información adicional.

Variables

Las variables byte son 14 (o más) y por motivos de memoria ya están definidas, están etiquetadas como sigue: b0, b1, b2,...,b13. Estás variables pueden tomar valores enteros del 0 al 255. Las variables byte no pueden tomar valores negativos o en fracciones. Si se toman valores fuera de este rango entonces el compilador los tomará de la siguiente manera: imagínate una recta numérica que va del 0 al 255 pero que están conectados estos dos extremos, como si fuera un círculo, es decir, después del 255 sigue el 0 y antes del 0 está el 255, por ejemplo si sumamos 254 mas 3 obtendremos el número 1, o si al número 2 le restamos el 3, obtendremos el número 255 y así sucesivamente.

También hay otras variables con un rango más amplio de valores, se llaman variables word, éstas se pueden formar a partir de dos variables byte. El rango de valores es de 0 a 65535 y también toma valores enteros.

Este lenguaje también admite el uso de punteros o apuntadores de memoria, que en pocas palabras son variables que guardan la dirección de memoria de otra variable.

Hay otros tipos de variable que se pueden utilizar para cosas más complejas, claro que las pueden consultar en los manuales.

Comentarios

Los comentarios en un programa son de suma importancia, porque si no le pones comentarios, muy probablemente después de algún tiempo, se revisas tu código no le vas a entender, a pesar de que tú mismo lo escribiste.

Bueno los comentarios se agregan después de una instrucción que agrupa más instrucciones. La forma de poner los comentarios es simplemente escribiendo un apostrofe ( ' ) o un punto y coma ( ; ) y a continuación escribir el comentario, cabe señalar que un sólo apostrofe o punto y coma sirve para un sólo renglón.

Operaciones matemáticas

En el caso de querer realizar operaciones matemáticas, se utilizan las variables word por su amplio rango de valores, recordando que van desde 0 hasta 65535.


Las operaciones matemáticas se lleva a cabo estrictamente de izquierda a derecha. A diferencia de algunos equipos y calculadoras, el PICAXE no da prioridad a la multiplicación o división por encima de la suma o resta. Por ejemplo en la operación 3+4*5 se lleva a cabo primero la suma y después la multiplicación, es decir, 3+4=7 y después 7*5=35.

El microcontrolador no es compatible con fracciones o números negativos. Sin embargo a veces es posible volver a escribir las ecuaciones utilizando números enteros en lugar de fracciones, si se puede, por ejemplo, w2 / 5.7 se puede escribir como w2 * 10 / 57 matemáticamente es igual y además es válido.

Las operaciones matemáticas binarias las aceptan todos los chips, algunas se muestran en la lista siguiente, recordando que las operaciones completas con sus descripciones correspondientes las encuentras en los manuales:

  • suma
  • resta
  • división
  • multiplicación
  • AND
  • OR
  • XOR
  • NAND
  • NOR
Las operaciones matemáticas unarias sólo están disponibles para las series X1 y X2 a excepción de NOT y minus ( - ) que se pueden usar en todos los chips.

Algunas de las operaciones matemáticas unarias son las siguientes:
  • sin
  • cos
  • sqr
  • inv
  • bintobcd
  • bcdtobin
Los comandos unarios deben ser los primeros que se escriben en una línea del programa. Sin embargo pueden ser seguidos por comandos binarios, por ejemplo, sin30 + 5 es válido, pero 5 + sin30 no es válido porque el operador unario no está al incio de la línea del programa.

Diagramas de flujo

Si te es más fácil realizar el diagrama de flujo que escribir el código completo, lo puedes hacer gracias a esta nueva forma de programar. Puedes utilizar varios software, entre ellos estan: Programming Editor, Logicator for PICAXE, Flowol y Yenka PICs.

Al igual que programando con un código fuente, con diagramas de flujo puedes usar los algunos de los comandos más populares, pero no puedes usar operaciones matemáticas, por lo que dependiendo del proyecto, tú sabrás que método de programación te conviene aplicar.

Si quieres cambiar el valor que viene por defecto en los comandos, sólo tienes que seleccionar el comando y en la parte inferior izquierda hay un recuadro donde se puede cambiar el valor manualmente.

Una vez que tengan completo el organigrama, simplemente ejecutas el programa desde PICAXE<Ejecutar o en el icono de "program" hacer clic para descargar el programa al chip.

A continuación te dejo un ejemplo sencillo donde se pueden ver la sintaxis te algunos comandos y para que sirven, escritos en código fuente y en diagrama de flujo para que notes la diferencia. Este programa está escrito para un PICAXE 18M, te recuerdo que este chip está descontinuado pero todos los programas que fueron hechos para los antiguos chips, se pueden ejecutar también en los nuevos chips, siempre y cuando tengan el mismo número de pines.




El ejemplo anterior no realiza una función en especial, sólo es para ejemplificar algunas intrucciones dentro de programación.

viernes, 22 de junio de 2012

Donde comprar un PICAXE

Existen por lo menos dos formas de adquirir un chip PICAXE, la primera es comprándolo por internet, desde la pagina de PICAXE o de alguna otra página comercial, y la segunda es comprándolo directamente con un distribuidor autorizado. 

Por lo menos en la ciudad de México, en el Distrito Federal, sólo conozco un distribuidor de chips PICAXE. La dirección es: Vizcaínas No. 48, local 18, colonia centro, México DF, el local se llama "centro japonés" y ahí pueden adquirir varios artículos como revistas, CDs multimedia, paquetes educativos, etc. a parte de los chips PICAXE, además en esa calle hay varios locales donde podrán encontrar todo lo relacionado con proyectos electrónicos y de audio. 

Los chips PICAXE cuestan desde 80 pesos hasta unos 350 pesos aproximadamente. No te espantes por el precio de un "insignificante" circuito integrado, como dice Robert Kiyosaky: "Si crees que la educación es cara, espera ver cuanto cuesta la ignorancia".

Les dejo el mapa para que no se pierdan :)

jueves, 21 de junio de 2012

Hardware y Software para programar un PICAXE


Para empezar a utilizar el sistema PICAXE se necesitan cuatro elementos principales:
  • Un equipo que ejecuta el software libre PICAXE
  • Un cable de descarga, para transferir sus programas en el chip PICAXE
  • Un chip PICAXE en un tablero de proyecto o en un protoboard
  • Una fuente de alimentación

Photobucket
La mayoría de usuarios nuevos compran un paquete de inicio, aunque también puedes comprar artículos individuales si así lo prefieres. 

El software de programación es totalmente gratuito y está disponible para Windows, Mac y Linux.
El software Programming Editor también incluye una herramienta muy útil en pantalla, el modo de simulación, donde los programas pueden ser probados antes de descargar en el chip.

Existen dos cables para descargar los programas al chip, estos son:
  • Cable de descarga Serial
  • Cable de descarga USB


El cable de descarga Serial se conecta al puerto DB9 de la computadora, el segundo se conecta a un puerto USB. Los dos tienen un conector stereo de 3.5mm o plug en el otro extremo. Para usar el cable de descarga USB se necesita adicionalmente un driver para que funcione.  

Si tienes una tarjeta entrenadora para PICAXE, basta con conectar el plug en el jack stereo de la placa y configurar el interruptor en la posición de descarga. Si no tienes una tarjeta entrenadora entonces puedes comprar un conector para el plug y adaptarlo al protoboard.




Por otro lado, si no puedes o no quieres comprar el cable de descarga serial, lo puedes hacer tu mismo, sólo compra un conector DB9 tipo hembra y cable telefónico. Vas a soldar tres cables al conector DB9 como se muestra en la imagen (te recomiendo ponerlos de diferentes colores para no confundirlos), y conecta directamente en la protoboard.


El cable naranja va soldado al pin 2 del conector DB9, y es el cable que va conectado al pin de serial out del chip, el cable rojo va soldado al pin 3 del conector DB9, y es el cable que va conectado al pin de serial in del chip, el cable café va conectado en el pin 5 del conector DB9, y es el cable que va conectado a GND o tierra en la protoboard.


Pero si tu equipo es portátil y/o no tiene un puerto DB9, pero sí tiene un puerto USB, entonces puedes comprar un cable adaptador de USB-Serial, igual que con el cable de descarga USB, se necesita un driver para usar este cable. En este caso tienes que conectar el conector DB9 que explique en el párrafo anterior en cable USB-Serial.

Ahora debes escoger un chip PICAXE de acuerdo al proyecto que quieras realizar. Como ya mencioné anteriormente, existen diferentes tamaños de chips PICAXE, cada uno con características particulares.

Finalmente la alimentación de los nuevos chips PICAXE va desde los 3V hasta los 5V, los chips anteriores sólo funcionaban con 5V. Para conseguir este voltaje puedes utilizar 2 o 3 pilas de 1.5 volts "AA" conectadas en serie, o simplemente colocadas en una caja para pilas "AA". Por otro lado puedes utilizar una fuente de voltaje de 9 volts o una pila de 9 volts (de las cuadradas) y un regulador de 5 volts, por ejemplo el 7805. Nunca alimentes el chip con un voltaje más alto porque lo puedes dañar. 



Recuerda siempre tener a la mano las herramientas necesarias para cualquier proyecto:
  • Un multímetro
  • Un protoboard
  • Unas pinzas de punta y corte
  • Cable telefónico
  • Un kit de desarmadores
  • Software de diseño
Opcionalmente:
  • Unas pinzas de corte
  • Cables banana-banana
  • Cables banana-caimán
  • Cables caimán-caimán
  • Cables para osciloscopio
  • Una fuente de voltaje variable
  • Un cautín
  • Soldadura de estaño
  • Pasta para soldadura
Además de contar con componentes electrónicos como resistores, leds, compuertas lógicas, etc.

¿Qué es PICAXE?


Un microcontrolador PICAXE está diseñado para ser el cerebro de tu proyecto electrónico. Originalmente diseñado como un sistema educativo para las escuelas, el sistema PICAXE ahora también ha sido ampliamente adoptado por cientos de miles de 'aficionados', debido a su facilidad de uso.

Los diferentes tamaños de chips PICAXE (8, 14, 18, 20, 28 y 40 pines) dan una gran flexibilidad en la forma en que el sistema se puede utilizar. En las partes PICAXE casi todos los pines pueden ser configurados por el usuario a ser una salida, una entrada digital (on / off), una entrada analógica o un sensor de toque. 

Un chip PICAXE es un estándar de microcontroladores PIC de Microchip que ha sido pre-programado con el código de arranque del firmware PICAXE. El código de arranque permite al microcontrolador PICAXE para ser re-programada "en la posición" directamente a través de la conexión "tres hilos" un simple cable de descarga. Esto elimina la necesidad de un programador PIC (caro) convencionales, haciendo que el sistema de descarga de programación de un cable de bajo costo. El mismo software y cable de descarga se utiliza para todos los tamaños de chips PICAXE y tablas de los proyectos.

Tamaños de chips PICAXE


Los chips PICAXE vienen en dos series - la serie M2 y X2 - y 6 tamaños físicos (8, 14, 18, 20, 28, 40 pines).

Los chips de la serie M2 son los dispositivos estándar que permiten hasta 1,800 líneas de código BASIC y  protocolos de interfaz común, tales como RS232 (serie), infrarrojos y I2C. También apoyan el procesamiento de tareas en paralelo. La serie X2 tiene una mayor capacidad de memoria para programas más largos y más variables (RAM). También tiene un protocolo de interconexión un poco más avanzada, como '1-wire "y" UNIO".

La principal diferencia entre los tamaños es que hay, como era de esperar, más de entrada / salida de pines de los chips más grandes. 

En todas partes las categorías M2 y X2, la mayoría de los pines puede ser configurado por el usuario a ser una salida, entrada, entrada analógica o de sensor de toque. Ve los diagramas de pinout para más detalles.

La siguiente tabla muestra un breve resumen de los chips PICAXE diferentes. Para una comparación más detallada, por favor consulta los manuales PICAXE.

Photobucket


El nombre grabado en la parte superior del chip PICAXE te dice que tipo de chip es. También se puede hacer un "chequeo de firmware" en el software PICAXE para identificar el tipo y la versión del chip conectado.

Los chips de la serie M2 están grabados con el nombre de PICAXE completa, mientras que otras partes simplemente se marcan con el logotipo de Microchip y la versión del 'PIC'.


En los últimos 15 años la tecnología de microcontrolador ha mejorado constantemente, y por lo que algunos de los chips PICAXE anteriores han sido sustituidos por los nuevos dispositivos más potentes.

La siguiente tabla muestra los chips más antiguos y su respectivo reemplazo. Cualquier tabla diseñada para su uso con la parte más antigua se puede utilizar con la parte nueva.

Photobucket