Proseguimos con la historia y funciones de Intel Edison y de su Kit Xadow Wearable (Parte 2), hoy la última parte de la sección de componentes del kit móvil y todos sus detalles a todo color 😉
Xadow - Q Sensor táctil
La placa contiene tres botones táctiles, en la parte trasera, y se conecta vía I2C; la ruta es 0x1B.
Los botones son muy sensibles. Sienten los toques incluso a través de varias láminas de papel o film, por lo que puedes cubrir los botones con fotos.
El siguiente código de ejemplo cambia el número de botones presionados:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <Wire.h> #include "Seeed_QTouch.h" void setup() { Serial.begin(9600); Wire.begin(); } void loop() { int tn = QTouch.touchNum(); if(tn>=0) { Serial.print("KEY"); Serial.print(tn); Serial.println(" touched"); } delay(10); } |
Xadow - NFC
El lector NFC soporta conexiones I2C, SPI, y UART. La frecuencia de funcionamiento es 13.56 MHz. Soporta operaciones de lectura y escritura, ISO14443 protocolos Tipo A y Tipo B y P2P. Hay una antena con conexión por cable. Ver más en Xadow_-_NFC
El kit incluye tres etiquetas NFC.
Este módulo requiere librerías NDEF, PN532, PN532_HSU, PN532_I2C y PN532_SPI. Instala estas librerías de la librería de muestras compartida de Seeed.
Para probar las etiquetas y el lector, puedes utilizar el programa de muestra readTag en la librería NDEF. Lee los datos de la etiqueta y los muestra en la consola.
Las etiquetas del kit tienen números de serie. Como aún no están formateadas, devuelven el siguiente resultado cuando son consultados:
1 2 3 |
1 Tag is not NDEF formatted. 2 NFC Tag - Mifare Classic 3 UID 6E A5 0B 01 |
Para escribir datos en las etiquetas, tienen que ser formateadas con la muestra FormatTag en la librería NDEF.
Para escribir datos en una etiqueta puedes usar la muestra WriteTag en la librería NDEF.
Este es un resultado de lectura de datos de una etiqueta:
1 2 3 4 5 6 7 8 9 10 11 |
NFC Tag - Mifare Classic UID 5E B1 FB 01 NDEF Message 1 record, 28 bytes NDEF Record TNF 0x1 Well Known Type Length 0x1 1 Payload Length 0x18 24 Type 55 U Payload 00 49 6E 74 65 6C 20 45 64 69 73 6F 6E 20 77 69 74 68 20 58 61 64 6F 77 .Intel® Edison with Xadow Record is 28 bytes |
Xadow - Acelerómetro 3 ejes
Este es un sensor de aceleración de tres ejes. El rango de medida es de ±16 G. Está conectado vía I2C y la ruta es 0x53. El sensor está instalado en el chip ADXL345. Para utilizarlo, instala la librería DigitalAccelerometer_ADXL345 del kit.
Hay cuatro rangos de medida, con diferentes índices de precisión y ratios de conversión: ±2 g, ±4 g, ±8 g, ±16 g.
El chip datasheet puede encontrarse aquí: datasheet
Los datos se devuelven como números 16-bit. La librería devuelve números como variables int, por lo que tendrás que modificarlas como sigue:
1 2 3 4 5 |
void correct(int &a) { if( a > 32767 ) a = -(65536 - a); } |
Si utilizas el rango ±2g, los valores devueltos serán divididos por 256, de acuerdo con el datasheet. Como he mencionado, encontré algunos problemas con el acelerómetro. En ocasiones puede no detectarse que la consola Linux devuelve errores I2C. En cualquier caso, la operación era estable cuando conecté la pantalla al módulo principal y el acelerómetro a la pantalla. Puede que este sensor no tenga resistencias de terminación.
Xadow - Barómetro BMP 180
Esta placa contiene un barómetro y termómetro. El rango de medida de la presión es de 300–1100 hPa (ej., -500m a +9000m sobre el nivel del mar). Se conecta vía I2C utilizando la ruta 0x77.
Lamentablemente, no pude hacerlo funcionar, probablemente por algunos errores en la interfaz I2C. Posiblemente es el mismo problema para el acelerómetro. He probado otro kit Xadow y tampoco funciona.
Xadow - Breakout
Esta es una placa para conectar sensores estándar. Tiene las siguientes clavijas: 3.3 V, SCL, SDA, TX0, GND, SCK, MOS1, MOS0, A5. Tiene también dos paneles para el conector en los que los módulos estándar "Seeed" pueden enchufarse. Uno de ellos está marcado como "Serial", el otro "I2C". Puedes conectar la banda LED.
Banda flexible digital RGB LED
Es una banda con 5 RGB WS2812B LEDs. Los LEDs se controlan a través de un único cable.
Necesitas soldarlos para una conexión correcta, como se ilustra en la siguiente imagen. Utiliza la placa Xadow-Breakout.
Los datos se envían con software así que, a veces, hay errores de transmisión de datos y los LEDs pueden parpadear aleatoriamente.
Este es el programa "Running light":
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 |
#include <Wire.h> #include "Seeed_ws2812.h" #define SIG_PIN 12 #define LEN_NUM 5 WS2812 strip = WS2812(LEN_NUM, SIG_PIN); void setup() { strip.begin(); //Serial.begin(115200); } int pos = 0; void loop() { strip.WS2812SetRGB(pos,255,0,0); strip.WS2812Send(); delay(100); strip.WS2812SetRGB(pos,0,0,0); strip.WS2812Send(); delay(100); pos = (pos+1)%LEN_NUM; } |
Y en el próximo capitulo y último capitulo de este recopilatorio sobre Game On: Intel Edison con el Kit Xadow Wearable [4 de 4] veremos como programar un juego!