Bluetooth e sensores no controle do LEGO Mindstorms NXT

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

O foco deste artigo é o desenvolvimento de um aplicativo para a plataforma Android que controle remotamente um LEGO Mindstorms. Para a comunicação foi optada pela tecnologia bluetooth.

Artigo do tipo Tutorial
Autores:Robison Cris Brito, Igor Gustavo Hoelscher, Caciano Dangui Mattielo e Rogério Corrêa Medeiros
Bluetooth e sensores no controle do LEGO Mindstorms NXT
Os celulares modernos, mais conhecidos como smartphones, já vêm equipados com inúmeros sensores, entre acelerômetros, giroscópios, bússola, sensores de proximidade e luz, entre outros. O uso de sensores associados a plataformas mobile em código aberto, como a plataforma Android, têm proporcionado aos desenvolvedores construírem aplicativos e tecnologias que integrem hardware e software, proporcionando inúmeros avanços no uso da computação e robótica.

Uma prova da grande revolução da robótica nos dias de hoje está nos brinquedos “robotizados”, sendo um deles o LEGO Mindstorms, uma plataforma voltada para a educação tecnológica na qual é possível montar robôs sem grandes conhecimentos sobre eletrônica. Entretanto, há casos em que os robôs são incapazes de desenvolver determinadas tarefas de forma independente. Uma alternativa para resolver esse tipo de limitação é utilizar um controle remoto.

A comunicação entre smartphones e dispositivos remotos aumenta consideravelmente as possibilidades de aplicações para sistemas móveis, em especial quando se necessita recursos alheios aos smartphones como utilização de impressoras, leitores de códigos de barras ou o controle remoto de dispositivos.

Assim, o foco deste artigo é o desenvolvimento de um aplicativo para a plataforma Android que controle remotamente um LEGO Mindstorms. Para a comunicação foi optada pela tecnologia bluetooth, já para o controle será utilizado o sensor de movimento presente nos smartphones modernos, assim, de acordo com a movimentação do smartphone é esperada uma determinada ação do robô.

Em que situação o tema é útil
Este artigo é útil para programadores que não possuem conhecimentos técnicos sobre a utilização das classes e métodos da API do Android responsáveis por acessar os sensores de um smartphone ou tablet, e aos que desejam aprender sobre o protoloco de comunicação bluetooth e o protocolo específico utilizado pelo LEGO Mindstorms para comunicação com outros dispositivos.

Bluetooth é uma tecnologia sem fio usada para conectar e transmitir dados entre dispositivos em rede pessoais (chamadas de Personal Area Networks - PANs). Com velocidades de transmissão que podem se aproximar de 24 Mb/s, o bluetooth é um o padrão em comunicação de curta distância.

Celulares, smartphones, câmeras digitais, teclados, mouses e outros dispositivos adotaram a tecnologia por ser robusta, economizar energia e ter uma fácil implementação. Um dispositivo operando bluetooth pode se conectar com até oito outros dispositivos, que o torna uma ótima opção para uma rede de dispositivos móveis. O bluetooth surgiu como resposta para a necessidade de conectar dispositivos sem a utilização de cabos, visando a econômica de energia, a fácil operação e a comodidade. São utilizadas ondas de rádio de baixa potência, operando em frequências que vão de 2.4Ghz a 2.5 Ghz, na faixa de frequência conhecida como ISM (Industrial, Scientific, Medical). O uso da baixa potência aumenta a economia de energia das baterias e limita o alcance a um máximo de 100m.

Android e Bluetooth

Android é um sistema operacional com código aberto baseado nonúcleo do Linuxpara dispositivos móveis. A primeira versão do Android com suporte a bluetooth foi anunciada em 2009 pela Google, este possuindo nome Eclair. A versão é a 2.0 e conta com suporte ao bluetooth 2.1.

É possível utilizar as classes nativas no Android e suas funções para criar aplicativos que utilizem o bluetooth. Aplicações Android que tem suporte ao bluetooth podem descobrir e se conectar a dispositivos, estabelecer conexões ponto-a-ponto e ponto-multiponto e utilizar conexões RFCOMM para transferir dados.

Através de APIs, os aplicativos desenvolvidos para Android podem configurar conexões, buscar, conectar e transferir dados entre os dispositivos.

As principais classes usadas para configurar conexões bluetooth no Android são:

· BluetoothAdapter: Representa o adaptador bluetooth local, o hardware de bluetooth. Utilizado para instanciar dispositivos bluetooth usando macs conhecidos e criar soketsbluetooth para receber conexões de outros dispositivos;

· BluetoothDevice: Usado para requisitar informações e conexões a dispositivos remotos;

· BluetoothSocket: Representa a interface da conexão;

· BluetoothServeSocket: Habilita o servidor a receber pedidos de conexão;

· BluetoothClass: Propriedades de somente leitura que definem as características e os serviços do dispositivo bluetooth;

· BluetoothProfile: Representa um perfil bluetooth. Existem vários perfis pré-definidos de configuração que podem ser escolhidos para se trabalhar como headset profile e o hands-free profile;

· BluetoothHeadset: Suporte para headsets utilizando a tecnologia bluetooth;

· BluetoothA2p: Define a qualidade do áudio que pode ser transmitido em conexões entre dispositivos;

· BluetoothProfile.ServiceListener: Avisa clientes bluetooth quando são desconectados ou conectados.

Agora que conhecemos algumas definições importantes sobre o bluetooth, vamos entender um pouco mais sobre o uso de sensores no Android.

Sensores

Os smartphones e tablets de última geração possuem uma vasta rede de sensores para controlar algumas funções do dispositivo.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?