Apresentação
A placa LightBlue Bean é uma placa compatível com Arduino que conta com um módulo Bluetooth Low Energy (de baixo consumo). A grande novidade e também diferencial dessa placa é que conseguimos programá-la utilizando o Bluetooth, ou seja, podemos fazer o upload do sketch desenvolvido no Ambiente Arduino via comunicação sem fio. Essa placa foi desenvolvida pela empresa californiana Punch Through e está fazendo sucesso por sua facilidade de programação wireless e por permitir que se trabalhe com bateria, com consumo reduzido por conta do módulo Bluetooth Low Energy.
Essa placa conta ao todo com 8 pinos digitais disponíveis para fácil interface. Entre esses pinos, dois deles podem fazer leitura de sinais analógicos (2 pinos de ADC). Também possui disponível nesses pinos comunicação serial SPI e I2C. Conta também com um acelerômetro de 3 eixos, X, Y e Z.
Hardware
O microcontrolador utilizado nessa placa é o Atmel ATMega328 de 28 pinos em um encapsulmento QFN28, conectado a um cristal externo de 8 MHz. O Acelerômetro utilizado é um BOSCH BMA250 e o módulo Bluetooth é um Texas Instruments CC2540. Além disso possui um conector de bateria CR2032 no lado de baixo da placa.
Todos os arquivos do projeto dessa placa estão disponíveis para download sob licença Creative Commons Attribution 4.0 International. Confira abaixo:
- Esquemático no EAGLE e arquivos gerber – link;
- Esquemático em PDF – link;
- Arquivo SVG – link;
- Modelos 3D – link;
- Esquemático do módulo Bluetooth que contêm o CI TI2540 – link.
Disponibilizei um Print do Esquemático abaixo. Para rápida e melhor visualização clique na imagem. Os direitos de todas as imagens e projeto são do fabricante.
Ambiente de desenvolvimento e exemplo
Para trabalhar com o Arduino IDE, basta utilizar a versão 1.0.6 ou mais nova. Para baixar essa versão, acesse o link a seguir para Windows. Deverá instalar também um add-on, que pode ser baixado no link. As imagens a seguir são da versão 1.0.6. Veja quantos exemplos existem para o LightBlue Bean.
A Punch Through também disponibiliza um aplicativo para o iPhone para que se possa testar rapidamente a placa. Pode-se verificar o estado de 6 entradas digitais, de duas entradas analógicas, controlar o led de três cores e verificar a posição da placa em X, Y e Z.
Para que o aplicativo funcione, é preciso fazer o download do sketch exemplo LightBlueDemo. Selecionei esse exemplo para ilustrar que o sketch não é complicado. O código está publicado como domínio público e também foi desenvolvido pelo time da Punch Through.
/*
LightBlue Demo Sketch
*/
static int d0 = 0;
static int d1 = 1;
static int d2 = 2;
static int d3 = 3;
static int d4 = 4;
static int d5 = 5;
void setup()
{
// initialize serial communication at 57600 bits per second:
Serial.begin(57600);
Serial.setTimeout(25);
// Digital pins
pinMode(d0, INPUT_PULLUP);
pinMode(d1, INPUT_PULLUP);
pinMode(d2, INPUT_PULLUP);
pinMode(d3, INPUT_PULLUP);
pinMode(d4, INPUT_PULLUP);
pinMode(d5, INPUT_PULLUP);
}
// the loop routine runs over and over again forever:
void loop()
{
char buffer[64];
size_t readLength = 64;
uint8_t length = 0;
length = Serial.readBytes(buffer, readLength);
// Return all the serial pins
if ( 0x02 == buffer[0] && 1 == length)
{
pinMode(d0, INPUT_PULLUP); //PD6
pinMode(d1, INPUT_PULLUP); //PB1
pinMode(d2, INPUT_PULLUP); //PB2
pinMode(d3, INPUT_PULLUP);
pinMode(d4, INPUT_PULLUP);
pinMode(d5, INPUT_PULLUP);
int digital0 = digitalRead(d0);
int digital1 = digitalRead(d1);
int digital2 = digitalRead(d2);
int digital3 = digitalRead(d3);
int digital4 = digitalRead(d4);
int digital5 = digitalRead(d5);
int analog1 = analogRead(A0);
int analog2 = analogRead(A1);
uint8_t digitalAll = digital0 | ( digital1 << 1 ) | ( digital2 << 2 ) | ( digital3 << 3);
digitalAll |= ( digital4 << 4 ) | ( digital5 << 5 );
buffer[0] = 0x82;
buffer[1] = digitalAll;
buffer[2] = analog1 & 0xFF;
buffer[3] = analog1 >> 8;
buffer[4] = analog2 & 0xFF;
buffer[5] = analog2 >> 8;
Serial.write((uint8_t*)buffer, 6);
}
Bean.sleep(1000000);
}
O que acharam dessa placa compatível com Arduino? Ela ainda não está disponível para compra no Brasil. Nos Estados Unidos seu preço é 30 dólares.













Thiago,
Já testou esta placa?
Sabe se já é possível a compra dela aqui no Brasil?
Obrigado
Eduardo