Teensy 3.0: Primeras Impresiones y Hola Mundo

Teensy 3.0 es un exitoso proyecto financiado a través de la página de crowdfunding kickstarter

Teensy

 

Es una plataforma de desarrollo basada en un procesador ARM Cortex M4 de 32bit. Esta implementado en forma de placa para su montaje en protoboards y se puede programar con el lenguaje Arduino y via C

Estuvimos probando el Teensy 3.0,  y estas son nuestras primeras impresiones

Seguir leyendo…

Materiales necesarios

  • Kit Teensy 3.0 disponible en Adafruit aquí 
  • Cable USB a MicroUSB
  • Notebook con Windows 7
  • Acceso a Internet

El kit contiene el Teensy propiamente tal, una tira de 32 pines para soldar y una hoja de referencia de los pines, donde podemos ver los detalles de frente y de reverso de esta tarjeta.

Llama la atención lo pequeño del Teensy, parece frágil pero no lo es.

Instalando Teensyduino Beta 10

Usaremos Teensyduino, un add-on para el software Arduino, lo que nos permite utilizar varias bibliotecas y codigo previo. Para comenzar el software lo bajamos de esta página, la instalación  para Windows se realiza en dos etapas

  1. Bajamos el programa Serial Installer, al hacer click da una una advertencia.
  2. Instalar el programa propiamente tal. Bajar este archivo, descomprimir con Winzip, por ejemplo, y hacer click en el archivo arduino.exe.

Conectando Teensy

La primera conexión de Teensy usamos el cable USB y veremos un LED naranja que esta parpadeando. Junto al LED hay un pequeño botón que al presionar y liberar entramos en el modo HalfKay que es para cargar los programas.

Debemos determinar cual es la puerta COM usada por Teensy

Al abrir el archivo ejecutable arduino.exe vamos a File->Examples->Teensy->tutorial1->Blink

El archivo es el siguiente

/* LED Blink, Teensyduino Tutorial #1
   http://www.pjrc.com/teensy/tutorial.html

   This example code is in the public domain.
*/

const int ledPin = 13;   // Teensy has LED on 11, Teensy++ on 6

// the setup() method runs once, when the sketch starts

void setup() {
  // initialize the digital pin as an output.
  pinMode(ledPin, OUTPUT);
}

// the loop() method runs over and over again,
// as long as the board has power

void loop() {
  digitalWrite(ledPin, HIGH);   // set the LED on
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // set the LED off
  delay(1000);                  // wait for a second
}

Notar que usamos PIN 13 para definir el LED, esto a diferencia de otras versiones de Teensy

Al presionar botón Verify y luego Upload se abrirá una ventana similar a esta donde se indican instrucciones adicionales, si es necesario

Figura 1. Teensy loader
Figura 1. Teensy loader

Con esto ya hemos cargado nuestro primer programa… pueden variar los ciclos de delay, que están en milisegundos,  y volver a cargar el programa para comprobar que funciona sin problemas.

Ahora bien, para conectar el Teensy con el mundo  exterior se deben soldar los pines que vienen en el kit. Tras esa labor, el Teensy se vera así

Se aprecia el Teensy con los pines. Para comparacion del tamaño hay un LED a su lado
Se aprecia el Teensy con los pines. Para comparación del tamaño hay un LED a su lado

Al conectar el Teensy a un protoboard queda muy firme, solo notar que no queda simétrico pues en un lado del protoboard quedaran menos pines disponibles aunque eso no es un gran problema.

Pasos siguientes

No sólo se trata de prender LEDs… estuvimos probando el Teensy conectado a un acelerómetro ADXL335 con el setup que se aprecia en la figura

Teensy conectado a un acelerometro los cables que destacan son los ejes X Y y Z.
Teensy conectado a un acelerómetro los cables que destacan son los ejes X Y y Z.

 

El código que usamos es el siguiente

/*

Purpose: Basic accelerometer measurement
Date   : 04/01/2013

Based on : Analog Input Example, Teensyduino Tutorial #4
   http://www.pjrc.com/teensy/tutorial4.html

Check output in serial monitor

*/

void setup()
{                
  Serial.begin(38400);
}

const int valx = 0;
const int valy = 1;
const int valz = 2;

void loop()                     
{
  Serial.print(analogRead(valx));
  Serial.print("\t");
  Serial.print(analogRead(valy));
  Serial.print("\t");
  Serial.print(analogRead(valz));
  Serial.println();
  delay(100);
}

Conclusiones

Lo positivo

Nos parece una gran plataforma una decida competencia con algunas versiones de Arduino.
La curva de aprendizaje es rápida si has probado Arduino antes.
Puedes utilizar varias de las librerías existentes para Arduino
Se puede programar directo en C si requieres mas control de los detalles de funcionamiento.
Puede conectarse como un dispositivo USB emulando un teclado, un mouse o un joystick

Lo negativo

La documentación esta incompleta
Falta una comunidad mas grande involucrada

Bibliografia

Página oficial de Teensy con mucha información todavía dispersa

Author: Manuel Carrasco

Ingeniero Eléctrico, Institutano, instructor certificado Cisco, en twitter @mcarrasco con comentarios y opiniones personales.

2 thoughts

  1. Como podria agregar una pantalla lcd a mi Teensy. Digamos mostrar una pantalla los digitos impresos por la funcion loop() en el ultimo ejemplo? Mostrarlos en una sola linea en un cristal lcd una a uno. Alguna ayuda?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *