Continuamos hablando de Intel Edison y de su Kit Xadow Wearable (Parte 1), hoy seguimos con los componentes del kit móvil y todos sus detalles a todo color 😉
Cada parte del kit, como está descrito al principio de este documento, puede utilizarse para crear diferentes tipos de tecnología móvil, dependiendo de cómo se combinen entre ellos y se programen.
Batería
La batería para este sistema es una batería estándar 3.7 V, 500 mAh Li-Ion.
Xadow - Edison
Esta es la placa principal para conectar el módulo Edison y es ligeramente más ancha que el módulo en sí mismo. Si enchufas el módulo Edison en su conector se mantendrá firme pero, para una mayor seguridad, puedes fijarlo con tornillos del módulo Arduino*.
La placa tiene un conector para la batería y cuatro conectores para placas de expansión en los laterales. El conector superior es para la placa programadora Edison, los conectores laterales son para las placas de sensor y accionador y la de abajo es para el módulo de tarjeta SD.
Hay dos botones, PWR y FW_RCVR. Presiona y mantén el botón PWR para encender y apagar el dispositivo mantén 9 segundos para apagar y 2 segundos para encender.
Un pequeño LED verde cerca del conector de la batería indica el estado de energía. Si está intermitente, la energía se está suministrando vía USB. Si está estable, la batería está cargando. Si está apagada, la batería está cargada.
Esta placa y la batería son todo lo que necesitas para hacer un trabajo Edison.
El funcionamiento de este dispositivo compacto me causó una gran impresión: esta pequeña placa con una batería es un mini-PC con Linux* OS real y accesible mediante WiFi*.
Programador Xadow - Edison
Esta es una placa para conexión con PC. Puedes utilizarla para depurar y proporcionar energía desde el PC. Contiene dos conectores Micro USB:
Xadow - Edison SD
Esta placa contiene un conector para enchufar en una tarjeta de memoria SD. Está conectado a la toma de abajo en la placa principal, con el cable más ancho.
Puedes encontrar la tarjeta SD en el directorio del dispositivo en /dev/mmcblk1.
Para montarla sigue el procedimiento estándar. Crear una carpeta vacía, ej.
1 |
mkdir /home/data |
Entonces, introduce la tarjeta en esta carpeta:
1 |
mount /dev/mmcblk1 /home/data |
Para montar automáticamente la tarjeta cuando se inicie Linux, añade la secuencia siguiente al fichero /etc/fstab:
1 |
/dev/mmcblk1 /home/data auto auto 0 0 |
Xadow - OLED 12864
La pantalla incluida en el kit es 128x64 OLED.
Ver las especificaciones en la página web Seeed.
La pantalla está conectada mediante la interfaz I2C. La ruta del dispositivo es 0x3C.
El siguiente código es una visualización de pantalla de muestra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <Wire.h> #include <SeeedOLED.h> void setup() { Wire.begin(); SeeedOled.init(); //initialze SEEED OLED display SeeedOled.clearDisplay(); //clear the screen and set start position to top left corner SeeedOled.setBrightness(255); SeeedOled.setNormalDisplay(); //Set display to normal mode (i.e non-inverse mode) SeeedOled.setPageMode(); //Set addressing mode to Page Mode SeeedOled.setTextXY(0,0); //Set the cursor to Xth Page, Yth Column SeeedOled.putString("Xadow and Edison"); //Print the String SeeedOled.setTextXY(7,0); //Set the cursor to Xth Page, Yth Column for(int k = 0; k < 128; k++) { SeeedOled.sendData(k); } } void loop() { } |
Utilizamos las siguientes funciones:
Puedes encontrar otras funciones y más información en www.seeedstudio.com/wiki/OLED_Frame y en el fichero SeeedOLED.h
Xadow - Timbre
El timbre está conectado a las clavijas 11 y 13. Tienes que encenderlos y apagarlos simultáneamente. Para que suene debes enviar 0 o 1 a ambas clavijas.
He aprendido, por experiencia, que el método más sencillo es programar una de las clavijas en 1 y después cambiar el estado de la otra clavija para hacer sonido.
El código siguiente es una salida de sonido de muestra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
void buzzerInit() { pinMode(11,OUTPUT); pinMode(13,OUTPUT); } void buzzerOn() { digitalWrite(11,HIGH); digitalWrite(13,HIGH); } void buzzerOff() { digitalWrite(11,LOW); digitalWrite(13,LOW); } void buzzerSignal(int t_ms) { unsigned long cur = millis(); while((millis()-cur) < t_ms ) { buzzerOn(); delayMicroseconds(150); buzzerOff(); delayMicroseconds(150); } } void setup() { buzzerInit(); buzzerSignal(1000); } void loop() { } |
Xadow - Motor de vibración
Puedes controlar el motor de vibración del mismo modo que el timbre: encendiendo y apagando y estableciendo las clavijas 10 y 11 en el mismo valor. Este código de ejemplo muestra un método:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// Xadow - Vibro void vibroInit() { pinMode(11,OUTPUT); pinMode(10,OUTPUT); } void vibroOn() { digitalWrite(11,HIGH); digitalWrite(10,HIGH); } void vibroOff() { digitalWrite(11,LOW); digitalWrite(10,LOW); } void setup() { vibroInit(); vibroOn(); delay(500); vibroOff(); } void loop() { } |
Tal y como con el timbre, necesitas controlar sólo una clavija, tras haber fijado el uno en la otra.
Continuamos en: Game On: Intel Edison con el Kit Xadow Wearable [3 de 4]