40
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO MAURÍCIO MAROSTICA Sistema Interativo de Controle do Humanóide i-SOBOT Trabalho de Conclusão de Curso. Prof. Ederson Cichaczewski Orientador Curitiba, Setembro de 2010.

Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

  • Upload
    vanlien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

MAURÍCIO MAROSTICA

Sistema Interativo de Controle do Humanóide

i-SOBOT

Trabalho de Conclusão de Curso. Prof. Ederson Cichaczewski Orientador

Curitiba, Setembro de 2010.

Page 2: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

2

UNIVERSIDADE POSITIVO Reitor: Prof. José Pio Martins Vice-Reitor: Arno Antonio Gnoatto Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor Acadêmico do Núcleo de Ciências Exatas: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

Page 3: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

3

Agradecimentos

Agradeço ao meu orientador Professor Ederson Cichaczewski pela cobrança, motivação e incentivo que com certeza foram determinantes para a conclusão desse projeto.

À EdutechKits e ao Prof. Hamilton Pereira da Silva pelo excelente curso de PIC prestado e troca de experiências, sem essa equipe esse projeto também não teria sido realizado satisfatoriamente.

À banca examinadora por acreditar no projeto e promover incentivo a continuação do mesmo em momentos de crise.

Por último, mas não menos importante, a Deus pelo privilégio da vida, saúde e condições financeiras suficientes para cursar essa graduação tão interessante numa das melhores universidades do país.

Page 4: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

4

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS ....................................................... 6

LISTA DE FIGURAS ..................................................................................... 7

LISTA DE TABELAS .................................................................................... 8

RESUMO ...................................................................................................... 9

ABSTRACT ................................................................................................ 10

1. INTRODUÇÃO ................................................................................... 11

2. ESPECIFICAÇÃO DO PROJETO ..................................................... 12

2.1 Características do Projeto .................................................................................................... 12

2.1.1 Requisitos .......................................................................................................................... 12

2.2 Arquitetura ............................................................................................................................ 13

2.2.1 Acelerômetros ................................................................................................................... 13

2.2.2 Microcontroladores PIC .................................................................................................. 15

2.2.3 XBEEs ................................................................................................................................ 16

2.2.4 LED Infravermelho .......................................................................................................... 16

2.3 Testes de validação do sistema ............................................................................................. 17

2.4 Planejamento do projeto ....................................................................................................... 17

3. PROJETO .......................................................................................... 18

3.1 Projeto do Hardware ............................................................................................................. 18

3.1.1 Microcontroladores PIC .................................................................................................. 18

3.1.2 Acelerômetros ................................................................................................................... 20

3.1.3 XBEEs ................................................................................................................................ 22

3.1.4 LED Infravermelho .......................................................................................................... 26

3.2 Projeto do Firmware ............................................................................................................. 28

4. RESULTADOS .................................................................................. 30

Page 5: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

5

4.1 Acelerômetros ........................................................................................................................ 30

4.2 Radiofreqüência .................................................................................................................... 30

4.3 Infravermelho ........................................................................................................................ 30

4.4 Módulo transmissor e módulo receptor ............................................................................... 30

5. CONCLUSÕES .................................................................................. 32

REFERÊNCIAS........................................................................................... 33

APÊNDICE A – ARTIGO CIENTÍFICO DO PROJETO ............................... 35

Page 6: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

6

LISTA DE ABREVIATURAS E SIGLAS

i-SOBOT Smallest Humanoid Robot in Production

LED Diodo emissor de luz

m Metros

s Segundos

V Volts

mV Mili Volts

MHz Mega Hertz

kHz Quilo Hertz

pF Pico Faraday

PIC Programmable Interface Controller

Firmware Representa o programa gravado em um equipamento eletrônico

RC Circuito resistivo capacitivo

GND Ground (conexão terra de um dispositivo eletrônico)

PC Computador pessoal

PWM Pulse Width Modulation

g Medida de aceleração de um acelerômetro

RS232 Padrão de troca serial de dados binários

X-CTU Aplicativo de configuração do Xbee

Download O processo de salvar dados da internet

UART Universal Asynchronous Receiver/Transmitter

Ω Ohm

(A/D) Analógico para digital

Cristal Dispositivo eletrônico de oscilação de frequência

C Representa a linguagem C de programação

PICC Software de programação de PIC em linguagem C

Page 7: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

7

LISTA DE FIGURAS

Figura 1: Diagrama em blocos do projeto ................................................................................................. 13 Figura 2: Placas dos Acelerômetros .......................................................................................................... 14 Figura 3: Diagrama esquemático das placas dos acelerômetros .............................................................. 15 Figura 4: Microcontrolador PIC16F877A ................................................................................................. 15 Figura 5: Microcontrolador PIC16F628A ................................................................................................. 16 Figura 6: Xbee series 2 .............................................................................................................................. 16 Figura 7: LED Infravermelho .................................................................................................................... 17 Figura 8: Cronograma do projeto.............................................................................................................. 17 Figura 9: Diagrama esquemático do PIC16F877A ................................................................................... 18 Figura 10: Diagrama esquemático do PIC16F628A ................................................................................. 19 Figura 11: Diagrama esquemático das placas dos acelerômetros com o PIC16F877A............................ 21 Figura 12: Diagrama esquemático do Xbee series 2 com o PIC16F877A ................................................ 22 Figura 13: Diagrama esquemático do Xbee series 2 com o PIC16F628A ................................................ 23 Figura 14: Diagrama esquemático do dispositivo MAX232 com a porta serial do PC ............................. 23 Figura 15: Configuração do Xbee series 2 do módulo transmissor ........................................................... 24 Figura 16: Configuração do Xbee series 2 do módulo receptor ................................................................ 25 Figura 17: Diagrama esquemático do LED infravermelho ....................................................................... 26 Figura 18: Conexões do dispositivo receptor de sinal infravermelho PHSC38 ......................................... 27 Figura 19: Fluxograma do firmware do módulo transmissor do projeto .................................................. 28 Figura 20: Fluxograma lógico do módulo receptor do projeto ................................................................. 29 Figura 21: Foto do projeto concluído ........................................................................................................ 31

Page 8: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

8

LISTA DE TABELAS

Tabela 1: Seleção da sensibilidade dos acelerômetros .............................................................................. 14 Tabela 2: Legenda de sinais das conexões utilizadas no PIC16F877A ..................................................... 19 Tabela 3: Legenda de sinais das conexões utilizadas no PIC16F628A ..................................................... 20 Tabela 4: Legenda de sinais das placas dos acelerômetros ....................................................................... 20 Tabela 5: Legenda de sinais das conexões utilizadas nos XBEEs .............................................................. 25 Tabela 6: Códigos seriais utilizados pelo sistema ..................................................................................... 26 Tabela 7: Códigos infravermelhos dos movimentos do robô ..................................................................... 27

Page 9: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

9

RESUMO

O desenvolvimento tecnológico tem redefinido constantemente o conceito de interatividade no entretenimento. A indústria de vídeo-games tem transferido o meio de interação dos jogos de um controle acionado pelos dedos para controles acionados por movimentos do corpo. Neste contexto, este projeto consiste na criação de um controle remoto interativo para o humanóide i-SOBOT, por meio da utilização de dispositivos eletrônicos sensores denominados acelerômetros.

Esse controle remoto interativo identifica os movimentos de braços e pernas do usuário, para frente e para trás (eixo Y), para a esquerda e para a direita (eixo X), e envia um sinal indicativo desses movimentos por radiofreqüência a um dispositivo acoplado ao referido robô. Esse último transformará o sinal recebido em sinal infravermelho reconhecido pelo robô, promovendo assim a movimentação do i-SOBOT. Preocupa-se ainda em manter a utilização dos acelerômetros adaptáveis a crianças deficientes, promovendo assim inclusão social e possibilitando que uma criança normal possa brincar com uma criança deficiente, ambas utilizando acelerômetros para controle de humanóides i-SOBOT.

Palavras-Chave: acelerômetros, robô, i-SOBOT, interatividade, entretenimento.

Page 10: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

10

i-SOBOT Humanoid Control Interactive System

ABSTRACT

Technological development has constantly redefined the concept of interactivity in entertainment. The video games industry has moved the interaction environment of games from finger controls to body movement controls. In this context, this project is to create an interactive remote control for the humanoid i-SOBOT through the use of electronic devices called accelerometers sensors.

This interactive remote control identifies the movements of arms and legs of the user, forward and backward (Y axis), left and right (X axis), and sends an indicative signal of such movements by radio frequency to a device attached to the robot. This last device transforms the received signal into infrared signal recognized by the robot, thereby promoting the movement of the i-SOBOT. Worries still remain on keeping the use of accelerometers adaptable to disabled children, promoting social inclusion and allowing a normal child to be able to play with a disabled child, both using accelerometers to control the humanoid i-SOBOT.

Keywords: accelerometer, robot, i-SOBOT, interactivity, entertainment.

Page 11: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

11

11

1. INTRODUÇÃO

Por décadas a indústria de vídeo-games explora a interação do usuário através de controles acionados pelos dedos. Atualmente essa interação vem cedendo a um novo conceito, os movimentos do corpo (NETO, 2010). Esse projeto consiste em desenvolver um dispositivo micro-controlado com interface de radiofreqüência que irá enviar e receber comandos entendidos pelo robô i-SOBOT (TOMY, 2010), para que um indivíduo interaja com o mesmo, por meio da realização de movimentos do corpo.

A captação de movimentos do usuário será feita através da utilização de dispositivos denominados acelerômetros. Estes são sensores simples e de baixo custo, porém sua utilização vem revolucionando a indústria do entretenimento (FUJIKI, 2010). Sua presença em telefones celulares como o Iphone (MORIMOTO, 2010), identificando o posicionamento do aparelho para movimentação da imagem, ou em controles remotos para console de jogos como o Nintendo Wii (PERANI, 2007), mudou a perspectiva da interatividade no entretenimento. Aliado a essa revolução, este projeto vem proporcionar interatividade com o humanóide i-SOBOT através da utilização de acelerômetros para controle do mesmo, preocupando-se ainda em manter o uso dos acelerômetros adaptáveis a crianças deficientes, promovendo assim inclusão social (SMITH, 1995) e a possibilidade de uma criança normal brincar com uma criança deficiente, ambas utilizando acelerômetros para controle de humanóides i-SOBOT.

Os acelerômetros são conectados a um microcontrolador para recepção dos movimentos do usuário. Este dispositivo envia os dados recebidos dos acelerômetros por radiofreqüência a uma freqüência de 2,4GHz a outro microcontrolador acoplado ao robô. Este último interpretará as informações recebidas e as transformará em sinais infravermelhos de 38kHz de frequência protocolados com o padrão de sinal infravermelho não comercial específico do i-SOBOT, enviando esses sinais ao robô para que o robô realize o movimento correspondente.

Page 12: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

12

12

2. ESPECIFICAÇÃO DO PROJETO

O sistema interativo de controle do i-SOBOT funciona como um controle remoto acoplado ao usuário que envia comandos em função da movimentação de acelerômetros de duas dimensões. Estes dispositivos possuem uma saída de tensão de referência para cada um de seus eixos, sendo essa tensão alterada de maneira proporcional à aceleração aplicada, sempre que ocorre movimento. A análise dessas alterações de sinais permite identificar qual movimento foi realizado pelo usuário (eixo e direção). Essa análise é feita pelo microcontrolador que identifica o movimento e envia um código serial correspondente ao mesmo através de um dispositivo de radiofreqüência. Esses componentes conectados representam o módulo transmissor do projeto.

O módulo receptor, que está acoplado ao robô, é composto de outro dispositivo de radiofreqüência que receber o sinal serial enviado e disponibiliza-o a outro microcontrolador para análise. Esse sinal recebido é associado ao comando escolhido a ser realizado pelo robô. Uma vez que o robô compreende apenas sinais infravermelhos, o microcontrolador codifica o sinal recebido em um sinal infravermelho correspondente, enviando ao robô através de um LED infravermelho, para que o i-SOBOT produza o movimento correspondente.

2.1 Características do Projeto

a) Alimentação do módulo transmissor: 18V;

b) Alimentação do módulo receptor: 12V;

c) Sensibilidade utilizada nos acelerômetros: 1,5g;

d) Cristal utilizado nos microcontroladores: 20MHz;

e) Protocolo de comunicação radiofrequência: Zigbee;

f) Distância máxima de captura de sinal de radiofreqüência em ambiente fechado: 30m;

g) Distância máxima de captura de sinal de radiofreqüência em ambiente aberto: 100m;

h) Frequência de comunicação radiofrequência: 2,4GHz;

i) Frequência do sinal infravermelho: 38kHz;

j) Protocolo de comunicação infravermelho: específico do i-SOBOT.

2.1.1 Requisitos

• Alimentação do módulo transmissor: duas baterias de 9V;

• Alimentação do módulo receptor: uma pilha de 12V.

Page 13: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

13

13

2.2 Arquitetura

A figura 1 demonstra os componentes dos módulos transmissor e receptor do projeto em um diagrama em blocos. O módulo transmissor compõe-se de quatro acelerômetros, um microcontrolador e um dispositivo de radiofreqüência. O módulo receptor compõe-se de um dispositivo de radiofreqüência, um microcontrolador e um LED infravermelho.

Figura 1: Diagrama em blocos do projeto

2.2.1 Acelerômetros

O modelo dos acelerômetros utilizados foi o MMA7260Q (FREESCALE, 2005). O

encapsulamento de cada acelerômetro é de 6 milimetros quadrados, possuindo 16 pontos de solda de 0,55 milimetros por 0,50 milímetros cada. Devido à grande dificuldade de solda desse dispositivo, eles foram adquiridos já em placas prontas de circuito impresso. Essas já possuindo filtros RC conectados as saídas dos eixos dos acelerômetros e um capacitor conectado entre a alimentação e o terra do dispositivo. A figura 2 mostra como são as placas dos acelerômetros.

Page 14: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

14

14

Figura 2: Placas dos Acelerômetros

Estes acelerômetros possuem quatro opções para seleção de sensibilidade de resposta ao movimento, mostradas na tabela 1.

Tabela 1: Seleção da sensibilidade dos acelerômetros

g-Select2 g-Select1 g-Range Sensibilidade

0 0 1.5g 800mV/g

0 1 2g 600mV/g

1 0 4g 300mV/g

1 1 6g 200mV/g

A seleção de 1.5g consiste em uma maior alteração de sinal em função da aceleração em g’s (sendo que 1g = 9.8m/s²) que representa o movimento. A seleção de 6g consiste em uma menor alteração de sinal em função do g. Assim a opção 1.5g é utilizada para reconhecimento de movimentos menores, mais sensíveis, já a opção 6g é utilizada para reconhecimento de movimentos mais bruscos, mais acentuados.

O diagrama esquemático de cada placa é representado na figura 3.

Page 15: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

15

15

Figura 3: Diagrama esquemático das placas dos acelerômetros

2.2.2 Microcontroladores PIC

Dois modelos diferentes de microcontroladores foram escolhidos ao projeto, o

modelo do módulo transmissor PIC16F877A (MICROCHIP, 2003) e o modelo do módulo receptor PIC16F628A (MICROCHIP, 2009).

O microcontrolador do módulo transmissor foi escolhido em função das suas 8 portas de conversão de sinal analógico para digital, facilitando a conexão dos acelerômetros. A figura 4 mostra uma foto ilustrativa do dispositivo.

Figura 4: Microcontrolador PIC16F877A

O microcontrolador do módulo receptor foi escolhido em função da sua porta PWM utilizada a 38kHz para enviar sinal infravermelho ao robô. A figura 5 mostra uma foto ilustrativa do dispositivo.

Page 16: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

16

16

Figura 5: Microcontrolador PIC16F628A

2.2.3 XBEEs

O modelo dos XBEEs utilizados foi o Xbee series 2 (DIGI, 2005). Este modelo foi

escolhido para ser o dispositivo de radiofreqüência deste sistema visando projetos futuros. A possibilidade de criação de redes com vários destes dispositivos abre portas para outras aplicações utilizando o robô i-SOBOT ou até mesmo outras aplicações em outras áreas de atuação. A figura 6 mostra o Xbee series 2 conectado a uma placa auxiliar como exemplo.

Figura 6: Xbee series 2

Os XBEEs foram programados através do software X-CTU disponível gratuitamente para download na página de internet do fabricante (DIGI, 2008). O dispositivo utiliza o protocolo de comunicação Zigbee (ZIGBEE, 2010) para radiofreqüência. Seu alcance de transmissão de sinal esta especificado em 30m para ambientes fechados e 100m para ambientes abertos. Sua freqüência de operação de transmissão de dados é de 2.4GHz.

2.2.4 LED Infravermelho

A figura 7 mostra uma foto ilustrativa do LED infravermelho (FAIRCHILD, 2001).

Sua conexão é feita através de um resistor de 330Ω na extremidade positiva do LED (ânodo), e o terra conectado a extremidade negativa do mesmo.

Page 17: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

17

17

Figura 7: LED Infravermelho

2.3 Testes de validação do sistema

1) Identificação correta de sinal dos eixos dos acelerômetros;

2) Envio de sinal serial por radiofreqüência;

3) Movimentações do i-SOBOT em função dos sinais infravermelhos enviados.

2.4 Planejamento do projeto

Figura 8: Cronograma do projeto

Page 18: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

18

18

3. PROJETO Segue a descrição dos módulos de hardware e firmware do projeto, bem como seus

diagramas esquemáticos, fluxogramas e legenda de sinais.

3.1 Projeto do Hardware

O projeto de hardware constitui-se dos seguintes dispositivos:

- Dois microcontroladores, um PIC16F877A e um PIC16F628A;

- Quatro acelerômetros MMA7260Q;

- Dois Xbee series 2;

- Um LED infravermelho.

3.1.1 Microcontroladores PIC

Dois microcontroladores PIC foram necessários ao projeto. O PIC utilizado para

conectar os acelerômetros foi o PIC16F877A. Suas 8 portas conversoras de sinal analógico para digital (A/D) foram essenciais para a conexão dos 8 eixos X e Y dos acelerômetros. Quatro portas digitais foram utilizadas para a conexão das 4 portas sleep dos acelerômetros. A porta de envio de sinal serial foi conectada ao Xbee series 2. Um oscilador de sinal externo de 20MHz foi conectado ao PIC em conjunto com 2 capacitores de 33pF. A figura 9 representa o diagrama esquemático das conexões do PIC16F877A.

Figura 9: Diagrama esquemático do PIC16F877A

Page 19: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

19

19

O PIC utilizado para conexão do LED infravermelho foi o PIC16F628A. Sua porta PWM foi essencial para o envio de sinal infravermelho ao robô. O LED infravermelho foi conectado à porta PWM através de um resistor de 330Ω. A porta de entrada de sinal serial foi conectada ao Xbee series 2. Um oscilador de sinal externo de 20MHz foi conectado ao PIC em conjunto com 2 capacitores de 33pF. A figura 10 representa o diagrama esquemático das conexões do PIC16F628A.

Figura 10: Diagrama esquemático do PIC16F628A

Como todos os componentes do projeto estão incluídos nestes diagramas, eles representam o diagrama esquemático completo das conexões do projeto. Os pinos de alimentação e terra dos PICs não estão demonstrados no diagrama esquemático. A tabela 2 mostra a legenda de sinais das conexões utilizadas pelo PIC16F877A incluindo alimentação e terra.

Tabela 2: Legenda de sinais das conexões utilizadas no PIC16F877A

Legenda Pinagem Sinal

RA0 2 Entrada Analógica

RA1 3 Entrada Analógica

RA2 4 Entrada Analógica

RA3 5 Entrada Analógica

RA5 7 Entrada Analógica

RE0 8 Entrada Analógica

RE1 9 Entrada Analógica

RE2 10 Entrada Analógica

VDD 11 Alimentação

VSS 12 GND

CLKI 13 Entrada do cristal

CLKO 14 Saída do cristal

TX 25 Saída serial UART

Page 20: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

20

20

RB1 34 Entrada/Saída digital

RB2 35 Entrada/Saída digital

RB4 37 Entrada/Saída digital

RB5 38 Entrada/Saída digital

A alimentação dos PICs é dada em 5V. A tabela 3 mostra a legenda de sinais das conexões utilizadas pelo PIC16F628A.

Tabela 3: Legenda de sinais das conexões utilizadas no PIC16F628A

Legenda Pinagem Sinal

VSS 5 GND

RX 7 Entrada serial UART

CCP1 9 PWM

VDD 14 Alimentação

CLKO 15 Saída do cristal

CLKI 16 Entrada do cristal

3.1.2 Acelerômetros

Dois eixos foram utilizados de cada MMA7260Q para compor a lógica do sistema, eixos X e Y. O eixo Z disponível nos acelerômetros não foi utilizado uma vez que os movimentos necessários à lógica do projeto foram definidos com os outros eixos. Os pinos correspondentes aos eixos X e Y foram conectados às portas de entrada analógica do PIC, permitindo assim uma leitura direta da tensão fornecida pelos eixos, proporcionando a análise dos seus valores por parte do PIC.

Os pinos de seleção de sensibilidade não foram conectados, uma vez que sem conexão, a escolha da sensibilidade de trabalho do acelerômetro dá-se em 1.5g. Essa é a configuração que mantém o dispositivo na sua maior sensibilidade disponível, o que facilita a leitura de movimentos curtos e sensíveis, auxiliando assim na adaptação desse dispositivo a crianças deficientes.

Devido ao benefício do uso do pino sleep, para menor consumo de corrente quando não utilizadas às saídas dos eixos dos acelerômetros, conectou-se esse pino a uma porta de entrada digital do PIC para acionamento e desligamento do dispositivo quando pertinente à lógica de trabalho do sistema.

A tabela 4 mostra a legenda de sinais das conexões utilizadas dos acelerômetros.

Tabela 4: Legenda de sinais das placas dos acelerômetros

Page 21: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

21

21

Legenda Pinagem Sinal

VCC 1 Alimentação

GND 2 Terra

X 3 Eixo X

Y 4 Eixo Y

Z 5 Eixo Z

GS1 6 Seleção da sensibilidade

GS2 7 Seleção da sensibilidade

SLP 8 Modo de hibernação

A figura 11 mostra o diagrama esquemático das conexões das placas dos acelerômetros com o PIC.

Figura 11: Diagrama esquemático das placas dos acelerômetros com o PIC16F877A

Page 22: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

22

22

3.1.3 XBEEs

A forma de comunicação utilizada nos Xbee series 2 foi a serial RS232 (TIA, 2010).

Conectou-se o pino de entrada de sinal serial (pino 3), e o pino de saída de sinal serial (pino 2), diretamente às portas seriais correspondentes dos PICs. A figura 12 mostra o diagrama esquemático de conexão do Xbee series 2 ao PIC16F877A do módulo transmissor. O pino de entrada de sinal serial do Xbee series 2 (pino 3) é conectado ao pino de saída de sinal serial do PIC16F877A (pino 25).

Figura 12: Diagrama esquemático do Xbee series 2 com o PIC16F877A

O outro Xbee series 2, conectado ao PIC16F628A do módulo receptor, tem a sua saída de sinal serial (pino 2) conectada à entrada de sinal serial do PIC16F628A. A figura 13 mostra o diagrama esquemático de conexão do Xbee series 2 ao PIC16F628A do módulo receptor.

Page 23: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

23

23

Figura 13: Diagrama esquemático do Xbee series 2 com o PIC16F628A

Para configuração dos XBEEs através do PC, estabeleceu-se conexões dos pinos seriais com uma interface serial para computador intermediada pelo dispositivo MAX232 (TI, 2004) para ajustes de tensão necessários a comunicação. A figura 14 mostra o diagrama esquemático de conexão do dispositivo MAX232 com a porta serial do computador.

Figura 14: Diagrama esquemático do dispositivo MAX232 com a porta serial do PC

Estabelecida a conexão entre o PC e o Xbee series 2 através do MAX232, configura-se o Xbee series 2 do módulo transmissor, através do aplicativo X-CTU, acessando o menu Modem Configuration do aplicativo e selecionando ZIGBEE END

DEVICE AT para a opção Funcion Set. Alterou-se o campo PAN ID incluindo o número hexadecimal 0xFAB para que esse número seja o ID da rede impedindo o acesso de outros dispositivos de radiofreqüência, externos ao sistema, a rede. Os campos DH e DL foram setados em zero. Essa configuração pode ser vista na figura 15.

Page 24: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

24

24

Figura 15: Configuração do Xbee series 2 do módulo transmissor

Para o Xbee series 2 do módulo receptor, a configuração do Funtion Set no menu Modem Configuration é ZIGBEE COORDINATOR AT. O PAN ID é o mesmo número hexadecimal 0xFAB, DH é setado em zero e DL com o número hexadecimal 0xFFFF. Essa configuração pode ser vista na figura 16. A escolha do número hexadecimal 0xFAB para o PAN ID dos XBEEs foi aleatória, poderia ter sido qualquer outro número desde que o mesmo código fosse configurado para os dois dispositivos.

O Xbee series 2 trabalha a uma tensão de 3,3V. O alcance do seu sinal é definido em 30 metros para ambientes fechados e 100 metros para ambientes abertos, sendo assim características suficientes para a aplicação.

Page 25: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

25

25

Figura 16: Configuração do Xbee series 2 do módulo receptor

A tabela 5 mostra a legenda de sinais das conexões utilizadas dos XBEEs.

Tabela 5: Legenda de sinais das conexões utilizadas nos XBEEs

Legenda Pinagem Sinal

VCC 1 Alimentação

DOUT 2 Saída serial UART

DIN 3 Entrada serial UART

GND 10 Terra

Page 26: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

26

26

Oito códigos seriais foram necessários ao funcionamento do sistema. Cada código correspondente a um eixo dos acelerômetros, e consequentemente, cada código correspondente a um comando infravermelho utilizado para o movimento do robô. A tabela 6 mostra os códigos seriais utilizados e os movimentos correspondentes do robô.

Tabela 6: Códigos seriais utilizados pelo sistema

Código Serial Movimento do Robô

0 Soco para frente com a mão esquerda

1 Soco para frente coma mão direita

2 Soco aberto com a mão esquerda

3 Soco aberto com a mão direita

4 Chute aberto com a perna esquerda

5 Chute aberto com a perna direita

6 Chute para frente com a perna esquerda

7 Chute para frente com a perna direita

O código serial 9 também foi utilizado mas esse não corresponde a nenhum movimento do robô. Sempre que os acelerômetros não produzem movimento o código serial 9 é enviado para manter a conexão dos XBEEs ativa, impedindo assim que os XBEEs entrem em estado sleep prevenindo atrasos de envio de sinal.

3.1.4 LED Infravermelho

O LED infravermelho foi utilizado para enviar comandos ao robô i-SOBOT,

fazendo assim à mesma função do controle remoto do robô. Sua conexão é feita através de um resistor de 330Ω na porta PWM do PIC. A figura 17 mostra o diagrama esquemático de conexão do LED infravermelho.

Figura 17: Diagrama esquemático do LED infravermelho

Page 27: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

27

27

A utilização do LED infravermelho é simples, porém a detecção dos sinais infravermelhos do controle remoto do robô foi complexa. Esse mapeamento foi realizado utilizando o dispositivo receptor de sinal infravermelho PHSC38 (PHOTONIC, 2001) e um osciloscópio. A figura 18 mostra as conexões do PHSC38.

Figura 18: Conexões do dispositivo receptor de sinal infravermelho PHSC38

O número 38 do nome do dispositivo receptor de sinal infravermelho corresponde aos 38kHz de freqüência de sua operação. Freqüência essa compatível com a utilizada pelo controle remoto do robô.

A tabela 7 mostra a codificação dos comandos infravermelhos identificados e utilizados para produzir os movimentos do robô.

Tabela 7: Códigos infravermelhos dos movimentos do robô

Ação Código

Soco para frente com a mão esquerda 0011100001001100000000

Soco para frente coma mão direita 0011110001010000000000

Soco aberto com a mão esquerda 0010000001010100000000

Soco aberto com a mão direita 0010010001011000000000

Chute aberto com a perna esquerda 0011110010001000000000

Chute aberto com a perna direita 0010000010001100000000

Chute para frente com a perna esquerda 0010010010010000000000

Chute para frente com a perna direita 0010100010010100000000

Os códigos zero correspondem a 440µs de sinal em nível baixo mais 540µs de sinal em nível alto. Os códigos um correspondem a 920µs de sinal em nível baixo mais 540µs de sinal em nível alto. Os códigos da tabela 7 são precedidos de um cabeçalho que corresponde a 2540µs de sinal em nível baixo. Ao final do envio de um código, o sinal infravermelho é mantido em nível baixo. Assim define-se o protocolo de comunicação infravermelho do i-SOBOT.

Page 28: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

28

28

3.2 Projeto do Firmware

O software utilizado nos microcontroladores foi desenvolvido em linguagem C no aplicativo PICC. A figura 19 corresponde ao fluxograma de funcionamento do firmware gravado no PIC16F877A do módulo transmissor do projeto.

Figura 19: Fluxograma do firmware do módulo transmissor do projeto

A lógica do software utilizado no PIC16F877A inicia com um atraso de dois segundos para fazer a primeira leitura dos acelerômetros. Essa primeira leitura é feita nos eixos X e Y de cada MMA7260Q e os dados são armazenados para referência. Esse processo é chamado de calibração. Depois da calibração uma nova leitura é feita nos acelerômetros, esses novos valores são comparados aos valores de referência. Se a maior diferença de leitura de algum eixo ultrapassar 150mV, o software seleciona o eixo de maior variação e envia um código serial correspondente a esse eixo para o Xbee series 2. Esse por sua vez envia o código serial por radiofreqüência ao módulo acoplado ao robô. Nesse momento o modo sleep dos MMA7260Q é acionado para economia de consumo de corrente. Um atraso é efetuado para aguardar o robô executar o movimento.

Page 29: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

29

29

Depois do atraso os acelerômetros são reativados e uma nova calibração é efetuada. Após a nova calibração o software volta ao seu ciclo normal de operação lendo e comparando os movimentos dos acelerômetros. Todas as vezes que as posições dos acelerômetros são comparadas com a referência e nenhum eixo ultrapassa a diferença de 150mV, o software envia um sinal serial (código 9) desconhecido ao sistema através do Xbee series 2. Esse sinal serial é enviado somente para que o canal de comunicação entre os XBEEs esteja sempre em atividade, evitando assim que o dispositivo entre em modo sleep, comprometendo a comunicação do projeto.

A figura 20 representa o fluxograma lógico do módulo receptor do projeto.

Figura 20: Fluxograma lógico do módulo receptor do projeto

A lógica do firmware gravado no PIC16F628A do módulo receptor é baseada na leitura da entrada serial do processador. Sempre que a leitura é efetuada, o valor lido é comparado aos valores conhecidos pelo sistema. Caso o valor lido seja desconhecido nenhuma ação é produzida. Uma vez que o sinal recebido é conhecido pelo sistema identifica-se o código infravermelho associado ao sinal recebido, esse por sua vez é enviado ao LED infravermelho para que o robô realize o movimento correspondente. Depois de enviado o sinal o sistema volta a aguardar e a comparar os sinais seriais recebidos indefinidamente.

Page 30: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

30

30

4. RESULTADOS

4.1 Acelerômetros

Identificou-se que o valor de tensão inicial de cada eixo em cada MMA7260Q é variável em função do posicionamento inicial do dispositivo. Uma lógica embasada nos seus valores teóricos não seria bem sucedida ao funcionamento do projeto. Com isso identificado, desenvolveu-se um processo de calibração dos acelerômetros em que a posição inicial dos eixos dos acelerômetros é salva e posteriormente comparada às novas leituras dos eixos, trabalhando assim com os valores reais e atuais do dispositivo, garantindo eficácia na leitura e identificação dos movimentos.

4.2 Radiofreqüência

A transmissão de dados por radiofreqüência é transparente à lógica do sistema. Uma vez enviado um sinal serial a entrada de um Xbee series 2 emissor, o Xbee series 2 receptor disponibiliza o mesmo sinal serial em sua saída. A configuração dos XBEEs é determinante para que a funcionalidade dos dispositivos seja de fácil utilização. O uso de ID de rede nos dispositivos garante que os XBEEs trabalhem numa rede fechada, impedindo a interferência de sinal de outros dispositivos XBEEs externos ao projeto. Durante a configuração dos XBEEs através do PC atentou-se para a utilização de um modulador de sinal para conexão. Essa modulação foi retirada quando reintegrando os dispositivos ao projeto.

4.3 Infravermelho

Para identificar os códigos infravermelhos do controle remoto oficial do i-SOBOT utilizou-se o dispositivo receptor de sinal infravermelho PHSC38. Bons conhecimentos de manuseio de um osciloscópio digital foram determinantes para encontrar as ondas exatas utilizadas nos comandos do robô. Os sinais infravermelhos, representantes dos movimentos do robô pertinentes ao projeto, foram identificados e reproduzidos com sucesso através da conexão de um LED emissor infravermelho à porta PWM do PIC16F628A utilizando a freqüência de 38kHz.

4.4 Módulo transmissor e módulo receptor

A figura 21 mostra uma foto do projeto concluído, módulo transmissor representado pela caixa e o módulo receptor acoplado as costas do robô.

Page 31: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

31

31

Figura 21: Foto do projeto concluído

Page 32: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

32

32

5. CONCLUSÕES Como proposto inicialmente, este projeto criou um controle remoto interativo para o

humanóide i-SOBOT. Este controle remoto criado foi referenciado durante esta documentação como módulo transmissor. Para funcionamento deste controle remoto criado também foi necessário o desenvolvimento de um módulo receptor. O módulo transmissor então é conectado ao usuário e o módulo receptor é conectado ao robô.

A identificação de braços e pernas do usuário foi concluída satisfatoriamente através do reconhecimento dos eixos de cada acelerômetro utilizado. Uma rotina de calibração, desenvolvida no firmware do módulo transmissor, demonstrou-se chave para a exatidão na definição do movimento realizado pelo usuário, para frente ou para traz (eixo Y), para a esquerda ou para a direita (eixo X), em cada acelerômetro.

Os sinais transmitidos por radiofreqüência trafegaram corretamente. A configuração correta dos dispositivos em rede privada foi importante para evitar interferências na comunicação. A transmissão serial de dados demonstrou-se de fácil utilização nos dispositivos e atendeu as necessidades do projeto.

A transmissão de sinal infravermelho foi o maior desafio deste projeto. Como o padrão de transmissão de sinal infravermelho do i-SOBOT não é comercial, foi necessária a utilização de um receptor de sinal infravermelho para identificação do sinal utilizado pelo controle remoto original do i-SOBOT. Feita a decodificação de sinal, programaram-se rotinas de envio de sinal infravermelho para utilização no firmware do módulo receptor do projeto. A porta PWM do microcontrolador do módulo receptor utilizada a freqüência de 38kHz, foi determinante para o sucesso da comunicação de sinal infravermelho com o robô. Outra configuração importante foi o cristal de 20MHz utilizado no microcontrolador do módulo receptor. A comunicação de sinal infravermelho não foi possível utilizando cristal de outra freqüência.

Pensando-se em adaptar o controle remoto desenvolvido ao uso de crianças deficientes, consegui-se configurar os acelerômetros de maneira que o controle reconhece movimentos sensíveis, permitindo assim a adaptação do mesmo para movimentos dos dedos da mão, ou movimentos de inclinação da cabeça. Com isso, conclui-se satisfatoriamente o desenvolvimento do projeto atendendo as propostas iniciais com êxito.

Page 33: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

33

33

REFERÊNCIAS

DIGI. XBee™/XBee-PRO™ OEM RF Modules Datasheet. Rev. M100232, 2005. Disponível em: www.digi.com. Acessado em Maio de 2010.

DIGI. X-CTU Configuration & Test Utility Software Datasheet. Rev. 90001003, 2008. Disponível em: www.digi.com. Acessado em Maio de 2010.

FAIRCHILD. PLASTIC INFRARED LIGHT EMITTING DIODE. Rev. DS300338, 2001. Disponível em www.fairchildsemi.com. Acessado em Julho de 2010.

FREESCALE. MMA7260Q Datasheet. Rev. MMA7260QFS, 2005. Disponível em: www.freescale.com. Acessado em Junho de 2010.

FUJIKI, Yuichi; TSIAMYRTZIS, Panagiotis; PAVLIDIS, Ioannis. Making sense of accelerometer measurements in pervasive physical activity applications. Disponível na World Wide Web: http://portal.acm.org/citation.cfm?id=1520497. Acessado em Setembro de 2010.

MICROCHIP. PIC16F627A/628A/648A Datasheet. Rev. DS40044G, 2009. Disponível em: www.microchip.com. Acessado em Maio de 2010.

MICROCHIP. PIC16F87XA Datasheet. Rev. DS39582B, 2003. Disponível em: www.microchip.com. Acessado em Maio de 2010.

MORIMOTO, Carlos E. Smartphones, Guia Prático [online]. GDH Press e Sul Editores. Tópico de demonstração do livro. Disponível na World Wide Web: http://www.gdhpress.com.br/smartphones/leia/index.php?p=cap2-9. Acessado em Abril de 2010.

NETO, Pedro; PIRES, Norberto J; MOREIRA, Paulo A. High-level programming and control for industrial robotics: using a hand-held accelerometer-based input device

for gesture and posture recognition. Disponível na World Wide Web: http://www.emeraldinsight.com/journals.htm?articleid=1840316&show=abstract. Acessado em Setembro de 2010.

PERANI, Letícia; BRESSAN, Renato Teixeira. Wii will rock you: Nintendo Wii e as relações entre interatividade e corpo nos videogames. Anais do VI Simpósio Brasileiro de Jogos para Computador e Entretenimento Digital – SBGames. São Leopoldo: Unisinos, 2007.

Page 34: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

34

34

PHOTONIC. PHSC38 SENSOR PARA CONTROLE REMOTO. Rev. Especificação Técnica phsc38, 2001. Disponível em: http://www.photonic-products.com. Acessado em Junho de 2010.

SMITH, Sally L. No easy answers: The learning disabled child at home and at school. New York: Bantam Books, 1995.

TI. MAX232, MAX232I. Rev. SLLS047L, 2004. Disponível em www.ti.com. Acessado em Maio de 2010.

TIA. RS232. Disponível na World Wide Web: www.tiaonline.org. Acessado em Maio de 2010.

TOMY. i-SOBOT. Disponível na World Wide Web: http://www.isobotrobot.com/. Acessado em Março de 2010.

ZIGBEE. ZIGBEE ALLIANCE. Disponível na World Wide Web: http://www.zigbee.org/. Acessado em Maio de 2010.

Page 35: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

35

35

APÊNDICE A – ARTIGO CIENTÍFICO DO PROJETO

Sistema Interativo de Controle do Humanóide i-SOBOT

Maurício Marostica, graduando em Engenharia da Computação

Ederson Cichaczewski, Professor Orientador

Departamento de Engenharia da Computação / Universidade Positivo

e-mail: [email protected]

Resumo: O desenvolvimento tecnológico tem redefinido constantemente o conceito de interatividade no entretenimento. A indústria de vídeo-games tem transferido o meio de interação dos jogos de um controle acionado pelos dedos para controles acionados por movimentos do corpo. Neste contexto, este projeto consiste na criação de um controle remoto interativo para o humanóide i-SOBOT, por meio da utilização de dispositivos eletrônicos sensores denominados acelerômetros. Esse controle remoto interativo identifica os movimentos de braços e pernas do usuário, para frente e para trás (eixo Y), para a esquerda e para a direita (eixo X), e envia um sinal indicativo desses movimentos por radiofreqüência a um dispositivo acoplado ao referido robô. Esse último transforma o sinal recebido em sinal infravermelho reconhecido pelo robô, promovendo assim a movimentação do i-SOBOT. Os acelerômetros são adaptáveis a crianças deficientes, promovendo assim inclusão social e possibilitando que uma criança normal possa brincar com uma criança deficiente, ambas utilizando acelerômetros para controle de humanóides i-SOBOT. Palavras-Chave: acelerômetros, robô, i-SOBOT, interatividade, entretenimento. Introdução

Por décadas a indústria de vídeo-games explora a interação do usuário através de controles acionados pelos dedos. Atualmente essa interação vem cedendo a um novo conceito, os movimentos do corpo (NETO, 2010). Esse projeto desenvolveu um dispositivo micro-controlado com interface de radiofreqüência que envia e recebe comandos entendidos pelo robô i-SOBOT (TOMY, 2010), para que um indivíduo interaja com o mesmo, por meio da realização de movimentos do corpo.

A captação de movimentos do usuário é feita através da utilização de dispositivos denominados acelerômetros. Estes são sensores simples e de baixo custo, porém sua utilização vem revolucionando a indústria do entretenimento (FUJIKI, 2010). Sua presença em telefones celulares como o Iphone (MORIMOTO, 2010), identificando o posicionamento do aparelho para movimentação da imagem, ou em controles remotos para console de jogos como o Nintendo Wii (PERANI, 2007), mudou a perspectiva da interatividade no entretenimento. Aliado a essa revolução, este projeto vem proporcionar interatividade com o humanóide i-SOBOT através da utilização de acelerômetros para controle do mesmo, preocupando-se ainda em manter o uso dos acelerômetros adaptáveis a crianças deficientes, promovendo assim inclusão social (SMITH, 1995) e a possibilidade de uma criança normal brincar com uma criança deficiente, ambas utilizando acelerômetros para controle de humanóides i-SOBOT.

Os acelerômetros foram conectados a um microcontrolador para recepção dos movimentos do usuário. Este dispositivo envia os dados recebidos dos acelerômetros por radiofreqüência a uma freqüência de 2,4GHz a outro microcontrolador acoplado ao robô. Este último interpreta as informações recebidas e as transforma em sinais infravermelhos de 38kHz de freqüência protocolados com o padrão de sinal infravermelho específico do i-SOBOT, que não é comercial, enviando esses sinais ao robô produzindo assim o movimento.

Materiais e Métodos

Page 36: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

36

36

O modelo de acelerômetro utilizado foi o MMA7260Q (FREESCALE, 2005), este possui quatro

opções para seleção de sensibilidade de resposta ao movimento. A menor delas, 1.5g, corresponde a uma maior alteração de sinal em função da aceleração em g’s (sendo que 1g = 9.8m/s²) que representa o movimento. Essa opção foi escolhida ao projeto com a intenção de reconhecer movimentos menores, mais sensíveis. Dois modelos diferentes de microcontroladores foram escolhidos para o projeto. O PIC16F877A (MICROCHIP, 2003) do módulo transmissor foi escolhido em função das suas 8 portas de conversão de sinal analógico para digital, facilitando a conexão dos acelerômetros. Já o PIC16F628A (MICROCHIP, 2009) do módulo receptor foi escolhido em função da sua porta PWM utilizada a 38kHz para enviar sinais infravermelhos ao robô.

O dispositivo de radiofreqüência utilizado foi o Xbee series 2 (DIGI, 2005), este foi programado através do software X-CTU (DIGI, 2008) disponível gratuitamente para download na página de internet do fabricante. O dispositivo utiliza o protocolo de comunicação Zigbee (ZIGBEE, 2010) para radiofreqüência. Seu alcance de transmissão de sinal esta especificado em 30m para ambientes fechados e 100m para ambientes abertos. Sua freqüência de operação de transmissão de dados é de 2.4GHz. O LED infravermelho foi utilizado a uma freqüência de 38kHz para reproduzir o protocolo de comunicação infravermelho específico do i-SOBOT.

O sistema interativo de controle do i-SOBOT funciona como um controle remoto acoplado ao usuário que envia comandos em função da movimentação de acelerômetros de duas dimensões. Estes dispositivos possuem uma saída analógica de tensão contínua de referência para cada um de seus eixos, sendo essa tensão alterada, de maneira proporcional à aceleração aplicada, sempre que ocorre movimento. A análise dessas alterações de sinais permite identificar qual movimento foi realizado pelo usuário (eixo e direção). Essa análise é feita pelo PIC16F877A que identifica o movimento e envia um código serial correspondente ao mesmo através do Xbee series 2. Esses componentes conectados representam o módulo transmissor do projeto.

O módulo receptor, que está acoplado ao robô, é composto de outro Xbee series 2 que recebe o sinal serial enviado e disponibiliza-o ao PIC16F628A para análise. Esse sinal recebido é associado ao comando escolhido a ser realizado pelo robô. Uma vez que o robô compreende apenas sinais infravermelhos, o PIC16F628A codifica o sinal recebido em um sinal infravermelho correspondente, enviando ao robô através de um LED infravermelho produzindo assim o movimento do i-SOBOT. A figura 1 apresenta o diagrama em blocos do projeto.

Figura 22: Diagrama em blocos do projeto

O software utilizado nos microcontroladores foi desenvolvido em linguagem C no aplicativo PICC. A

figura 2 corresponde ao fluxograma de funcionamento do firmware gravado no PIC16F877A do módulo transmissor do projeto.

Page 37: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

37

37

Figura 23: Firmware do módulo transmissor do projeto

A lógica do software utilizado no PIC16F877A inicia com um atraso de dois segundos para fazer a

primeira leitura dos acelerômetros. Essa primeira leitura é feita nos eixos X e Y de cada MMA7260Q e os dados são armazenados para referência. Esse processo é chamado de calibração. Depois da calibração uma nova leitura é feita nos acelerômetros, esses novos valores são comparados aos valores de referência. Se a maior diferença de leitura de algum eixo ultrapassar 150mV, o software seleciona o eixo de maior variação e envia um código serial correspondente a esse eixo para o Xbee series 2. Esse por sua vez envia o código serial por ao módulo acoplado ao robô. Nesse momento o modo SLP dos acelerômetros é acionado para economia de consumo de corrente. Um atraso é efetuado para aguardar o robô executar o movimento. Depois do atraso os acelerômetros são reativados e uma nova calibração é efetuada. Após a nova calibração o software volta ao seu ciclo normal de operação lendo e comparando os movimentos dos acelerômetros. Todas as vezes que as posições dos acelerômetros são comparadas com a referência e nenhum eixo ultrapassa a diferença de 150mV, o software envia um sinal serial desconhecido ao sistema. Esse sinal serial é enviado somente para que o canal de comunicação radiofreqüência esteja sempre em atividade, evitando assim que o Xbee series 2 entre em modo sleep, comprometendo a comunicação do projeto.

A figura 3 representa o fluxograma lógico do módulo receptor do projeto.

Figura 24: Firmware do módulo receptor do projeto

Page 38: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

38

38

A lógica do firmware gravado no PIC16F628A do módulo receptor é baseada na leitura da entrada serial do mesmo. Sempre que a leitura é efetuada, o valor lido é comparado aos valores conhecidos pelo sistema. Caso o valor lido seja desconhecido nenhuma ação é produzida. Uma vez que o sinal recebido é conhecido pelo sistema identifica-se o código infravermelho associado ao sinal recebido, esse por sua vez é enviado ao LED infravermelho, provocando assim o movimento do robô. Depois de enviado o sinal, o sistema volta a aguardar e a comparar os sinais seriais recebidos indefinidamente.

Resultados

Identificou-se que o valor de tensão inicial de cada eixo em cada MMA7260Q é variável em função do posicionamento inicial do dispositivo. Uma lógica embasada nos seus valores teóricos não seria bem sucedida ao funcionamento do projeto. Com isso identificado, desenvolveu-se um processo de calibração dos acelerômetros em que a posição inicial dos eixos dos acelerômetros é salva e posteriormente comparada às novas leituras dos eixos, trabalhando assim com os valores reais e atuais do dispositivo, garantindo eficácia na leitura e identificação dos movimentos.

A transmissão de dados por radiofreqüência é transparente à lógica do sistema. Uma vez enviado um sinal serial a entrada do Xbee series 2 emissor, o Xbee series 2 receptor disponibiliza o mesmo sinal serial em sua saída. A configuração dos Xbee series 2 é determinante para que sua funcionalidade seja de fácil utilização. O uso de ID de rede nos dispositivos garante que eles trabalhem numa rede fechada, impedindo a interferência de sinal de outros dispositivos de radiofreqüência externos ao projeto. Durante a configuração dos Xbee series 2 através do PC atentou-se para a utilização de um modulador de sinal para conexão. Essa modulação foi retirada quando reintegrando os dispositivos ao projeto.

Para identificar os códigos infravermelhos do controle remoto oficial do i-SOBOT utilizou-se o dispositivo receptor de sinal infravermelho PHSC38 (PHOTONIC, 2001). Conhecimentos de manuseio e utilização da função trigger de um osciloscópio digital, foram determinantes para encontrar as ondas exatas utilizadas nos comandos do robô. Os sinais infravermelhos, representantes dos movimentos do robô pertinentes ao projeto, foram identificados e reproduzidos com sucesso através da conexão de um LED emissor infravermelho a porta PWM do PIC16F628A utilizando a freqüência de 38kHz.

A figura 4 mostra uma foto do projeto concluído, módulo transmissor representado pela caixa e o módulo receptor acoplado as costas do robô.

Figura 25: Foto do projeto concluído

Conclusões

Como proposto inicialmente, este projeto criou um controle remoto interativo para o humanóide i-SOBOT. Este controle remoto criado foi referenciado durante esta documentação como módulo transmissor. Para funcionamento deste controle remoto criado também foi necessário o desenvolvimento de um módulo receptor. O módulo transmissor então é conectado ao usuário e o módulo receptor é conectado ao robô.

A identificação de braços e pernas do usuário foi concluída satisfatoriamente através do reconhecimento dos eixos de cada acelerômetro utilizado. Uma rotina de calibração, desenvolvida no firmware do módulo transmissor, demonstrou-se chave para a exatidão na definição do movimento

Page 39: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

39

39

realizado pelo usuário, para frente ou para traz (eixo Y), para a esquerda ou para a direita (eixo X), em cada acelerômetro.

Os sinais transmitidos por radiofreqüência trafegaram corretamente. A configuração correta dos dispositivos em rede privada foi importante para evitar interferências na comunicação. A transmissão serial de dados demonstrou-se de fácil utilização nos dispositivos e atendeu as necessidades do projeto.

A transmissão de sinal infravermelho foi o maior desafio deste projeto. Como o padrão de transmissão de sinal infravermelho do i-SOBOT não é comercial, foi necessária a utilização de um receptor de sinal infravermelho para identificação do sinal utilizado pelo controle remoto original do i-SOBOT. Feita a decodificação de sinal, programaram-se rotinas de envio de sinal infravermelho para utilização no firmware do módulo receptor do projeto. A porta PWM do microcontrolador do módulo receptor utilizada a freqüência de 38kHz, foi determinante para o sucesso da comunicação de sinal infravermelho com o robô. Outra configuração importante foi o cristal de 20MHz utilizado no microcontrolador do módulo receptor. A comunicação de sinal infravermelho não foi possível utilizando cristal de outra freqüência.

Pensando-se em adaptar o controle remoto desenvolvido ao uso de crianças deficientes, consegui-se configurar os acelerômetros de maneira que o controle reconhece movimentos sensíveis, permitindo assim a adaptação do mesmo para movimentos dos dedos da mão, ou movimentos de inclinação da cabeça. Com isso, conclui-se satisfatoriamente o desenvolvimento do projeto atendendo as propostas iniciais com êxito. Referências

DIGI. XBee™/XBee-PRO™ OEM RF Modules Datasheet. Rev. M100232, 2005. Disponível em: www.digi.com. Acessado em maio de 2010

DIGI. X-CTU Configuration & Test Utility Software Datasheet. Rev. 90001003, 2008. Disponível em: www.digi.com. Acessado em Maio de 2010.

FREESCALE. MMA7260Q Datasheet. Rev. MMA7260QFS, 2005. Disponível em: www.freescale.com. Acessado em Junho de 2010.

FUJIKI, Yuichi; TSIAMYRTZIS, Panagiotis; PAVLIDIS, Ioannis. Making sense of accelerometer

measurements in pervasive physical activity applications. Disponível na World Wide Web: http://portal.acm.org/citation.cfm?id=1520497. Acessado em Setembro de 2010.

MICROCHIP. PIC16F627A/628A/648A Datasheet. Rev. DS40044G, 2009. Disponível em: www.microchip.com. Acessado em Maio de 2010.

MICROCHIP. PIC16F87XA Datasheet. Rev. DS39582B, 2003. Disponível em: www.microchip.com. Acessado em Maio de 2010.

MORIMOTO, Carlos E. Smartphones, Guia Prático [online]. GDH Press e Sul Editores. Tópico de demonstração do livro. Disponível na World Wide Web: http://www.gdhpress.com.br/smartphones/leia/index.php?p=cap2-9. Acessado em: Abril de 2010.

NETO, Pedro; PIRES, Norberto J; MOREIRA, Paulo A. High-level programming and control for industrial robotics: using a hand-held accelerometer-based input device for gesture and posture

recognition. Disponível na World Wide Web: http://www.emeraldinsight.com/journals.htm?articleid=1840316&show=abstract. Acessado em: Setembro de 2010.

Page 40: Sistema Interativo de Controle do Humanóide i-SOBOT · PICC Software de programação de PIC em linguagem C . 7 LISTA DE FIGURAS ... um microcontrolador e um LED infravermelho. Figura

40

40

PERANI, Letícia; BRESSAN, Renato Teixeira. Wii will rock you: Nintendo Wii e as relações entre interatividade e corpo nos videogames. Anais do VI Simpósio Brasileiro de Jogos para Computador e Entretenimento Digital – SBGames. São Leopoldo: Unisinos, 2007.

PHOTONIC. PHSC38 SENSOR PARA CONTROLE REMOTO. Rev. Especificação Técnica phsc38, 2001. Disponível em: http://www.photonic-products.com. Acessado em Junho de 2010.

SMITH, Sally L. No easy answers: The learning disabled child at home and at school. New York: Bantam Books, 1995.

TOMY. i-SOBOT. Disponível na World Wide Web: http://www.isobotrobot.com/. Acessado em Março de 2010.

ZIGBEE. ZIGBEE ALLIANCE. Disponível na World Wide Web: http://www.zigbee.org/. Acessado em Maio de 2010.