LightBlue Bean – Placa compatível com Arduino

lightblue bean

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.

pinout-diagram-1024x426
Figura 1: Esquema de pinagem. Crédito: Punch Through

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. 

bot
Figura 2: O outro lado 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.

Capture
Figura 3: Esquemático. Crédito: Punch Through

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.

sketch
Figura 4: Exemplos no sketch Arduino. Crédito: Punch Through

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. 

hand-holding-lightblue-ios7-Bean
Figura 5: Aplicativo para o iOS7. Crédito: Punch Through

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.

Referências 

https://www.atmel.com/devices/atmega328.aspx
https://ae-bst.resource.bosch.com/media/products/dokumente/bma250/bst-bma250-ds002-05.pdf
https://creativecommons.org/licenses/by/4.0/
https://punchthrough.com/files/bean/hardware/bean_hardware_rev_e.zip
https://punchthrough.com/docs/files/Bean/Bean_revE_board_export.pdf
https://punchthrough.com/bean/wp-content/uploads/2014/05/beanfritzing.svg
https://punchthrough.com/files/bean/hardware/BEAN_MODEL_REVE_1.1.0.zip
https://punchthrough.com/docs/files/LBM313/LBM313_Schematic.pdf
https://arduino.cc/download.php?f=/arduino-1.0.6-windows.exe
https://punchthrough.com/files/bean/loader/windows/WindowsBeanLoader_ArduinoIDEAddOn.zip
https://makezine.com/2014/06/19/hands-on-with-the-light-blue-bean/
https://blog.bluetooth.com/new-developer-tools-available/
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
9 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Eduardo C. Scherrer
Eduardo C. Scherrer
14/05/2015 14:48

Thiago,

Já testou esta placa?

Sabe se já é possível a compra dela aqui no Brasil?

Obrigado

Eduardo

Home » Hardware » Placas de desenvolvimento » LightBlue Bean – Placa compatível com Arduino

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: