Você está na página 1de 81

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

Faculdade de Engenharia
Departamento de Engenharia Eletrnica e de
Telecomunicaes

Projeto de Graduao

INDICADOR DE QUEDA E PEDMETRO COM MONITORAMENTO


EM COMPUTADOR PESSOAL

Jonas Cardoso da Silva

Orientador: Lisandro Loviloso


Coordenador: Paulo Srgio Rodrigues Alonso

Agosto de 2013

Ficha Catalogrfica
Silva, Jonas Cardoso da
Indicador de Queda e Pedmetro com Monitoramento em Computador Pessoal
x, 89pp, 29,7cm (UERJ, Engenharia Eletrnica, 2013)
Projeto de Graduao Universidade do Estado do Rio de Janeiro.
1. Queda
2. Acelermetro
I. UERJ/FEN II. Ttulo (srie)

ii

AGRADECIMENTOS

Agradeo especialmente a meus pais, Joo Rodrigues da Silva e Eunice Cardoso da


silva, por serem pais maravilhosos, por me criarem da melhor maneira possvel e por servirem
como espelho do qual sinto prazer em dizer que tudo que eu fiz at hoje foi me baseando em
vocs se no fosse por vocs jamais teria chegado aonde cheguei. A minha amada irm Janice
Cardoso da Silva pelo seu constante incentivo.
Agradeo ao corpo docente da FEN pelo empenho e dedicao que demostraram durante
esses anos, e digo que sem vocs nada disso seria possvel.
Agradeo ao meu orientador professor Lisandro Lovisolo pela pacincia e dedicao
que ele teve no s comigo, mas com todos os seus alunos.
Agradeo principalmente a Deus por sempre me abenoar, por ter colocado pessoas
maravilhosas na minha vida e principalmente por ter me dando a oportunidade de realizar um
sonho que terminar essa graduao.

iii

RESUMO

Este trabalho tem por objetivo desenvolver um prottipo de circuito que seja capaz
de verificar a condio de equilbrio da pessoa, ou seja, consiga determinar se a pessoa sofreu
uma queda ou no e possa tambm contar a quantidade de passos que a pessoa dar. Ser usado
nesse prottipo um acelermetro da Freescale MMA 7260 que far as medidas necessrias para
o funcionamento do projeto. Este circuito ser conectado a um computador pessoal, de forma a
permitir o monitoramento remoto. As medidas feitas pelo sensor acelermetro sero
interpretadas pelo microcontrolador da ATmega328 que responsvel por controlar e monitorar
todo o sistema. Esse microcontrolador faz parte do kit Arduino Duemilanove que contm todos
os componentes necessrios para suportar o microcontrolador. Esse projeto teve como base o
alto ndice de queda em pessoas idosas e as consequncias que essas por sua vez ocasionam.
Devido a isso esperamos que com esse prottipo caso uma queda venha a ocorrer as medidas
necessrias para o socorro do idoso possam ser acionadas o mais rpido possvel.

Palavras chaves: Acelermetro, Microcontrolador, Arduino Duemilanove.

iv

ABSTRACT

This work aims to develop a prototype circuit that is able to check the equilibrium
condition of the person, or be able to determine if the person has been dropped or not, and can
also count the steps that the person will. This prototype will be used an accelerometer from
Freescale MMA 7260 that will make the arrangements for the operation of the project.
Measurements made by the accelerometer sensor will be interpreted by the ATmega328
microcontroller which is responsible for controlling and monitoring the entire system. This part
of the microcontroller Arduino Duemilanove kit that contains all components necessary to
support the microcontroller. This project was based on the high rate of falls in older people and
the consequences that these in turn cause. Because of this we hope that with this prototype case
a fall should occur the necessary measures to rescue the elderly can be triggered as soon as
possible.
Keywords: accelerometer, microcontroller, Arduino Duemilanove.

NDICE
Introduo e Objetivo ....................................................................................... 11
1. Motivao: As quedas e suas consequncias ............................................. 13
1.2 Envelhecimento Fisiolgico do Idoso .......................................................................... 14
1.3 Acuidade Visual ............................................................................................................ 14
1.4 Instabilidade Postural................................................................................................... 14
1.5 Alteraes Emocionais .................................................................................................. 15
1.6 Quedas no Idoso ............................................................................................................ 15
1.8 Nmero de Quedas que Resultam em Fraturas ......................................................... 16
1.9 Preveno de Quedas .................................................................................................... 17

2. Sedentarismo.................................................................................................. 17
3. Tecnologias Usadas: Matrias e Mtodos ................................................... 18
3.1 Acelermetro ............................................................................................... 18
3.1.1 Acelerao da gravidade ......................................................................................... 19
3.1.2 Construo de um Acelermetro ............................................................................ 19
3.1.3 Caractersticas de Acelermetros ............................................................................. 22
3.1.3.1 Sensibilidade de um acelermetro ......................................................................... 22
3.1.3.2 Eixos de um acelermetro ...................................................................................... 22
3.1.3.3 Sinais de sada de um acelermetro ...................................................................... 23
3.1.3.4 Frequncia de operao de um acelermetro....................................................... 24
3.1.3.5 Funcionamento do acelermetro ........................................................................... 24
3.1.4 Acelermetro MMA 7361 .......................................................................................... 27
3.1.4.1 Caractersticas de operao ............................................................................... 27
3.1.4.2 g-Select .................................................................................................................. 28
3.1.4.3 Self Test ................................................................................................................ 30
3.1.4.4 Sleep Mode............................................................................................................ 30
3.1.4.5 Filtragem .............................................................................................................. 30
3.1.4.6 Conexes bsicas ................................................................................................. 30
3.1.4.7 Acelerao esttica .............................................................................................. 31

3.2 Arduino Duemilanove ................................................................................. 33


3.2.1 Caractersticas do Ardunio Duemilanove................................................................ 34
vi

3.2.1.1 Microcontrolador ATmega328 .............................................................................. 34


3.2.1.2 Alimentao ............................................................................................................. 35
3.2.1.3 Memria ................................................................................................................... 36
3.2.1.4 Pinos de entrada e sada ......................................................................................... 36
3.2.1.5 Comunicao ........................................................................................................... 38
3.2.1.6 Programao ........................................................................................................... 39
3.2.1.7 Proteo contra sobre corrente na USB ............................................................... 39

4. Montagem e implementao ........................................................................ 39


4.1 Ligao da placa e software ......................................................................................... 41
4.2 Calibrao do acelermetro ......................................................................................... 43
4.4 Clculo da velocidade e posio por meio de integrao........................................... 57
4.5 Deteco de queda ......................................................................................................... 61

5. Concluses ...................................................................................................... 68
Bibliografia ........................................................................................................ 69
ANEXO I ............................................................................................................ 71
Faixas de medida para algumas aplicaes do uso de acelermetro .............................. 71

Anexo II .............................................................................................................. 72
Cdigo implementado para o projeto ............................................................................... 72

vii

NDICE DE FIGURAS

1. Figura 1- Diagrama de blocos detalhado................................................................12


2. Figura 3.1- ngulo formado pelo deslocamento do liquido...................................19
3. Figura 3.2- Construo de acelermetro baseado na variao de capacitncia......20
4. Figura 3.3- Estrutura MEMS de um acelermetro .................................................21
5. Figura 3.4- Acelermetro MMA 7361....................................................................21
6. Figura 3.5- Representao dos trs eixos acelermetro..........................................22
7. Figura 3.6- Forma de onda de um acelermetro analgico e digital......................23
8. Figura 3.7- Tenso de sada conforme acelerao..................................................25
9. Figura 3.8- Direes das aceleraes......................................................................26
10. Figura 3.9- Acelermetro em um ngulo de 45.....................................................26
11. Figura 3.10- Bloco diagrama simplificado.............................................................27
12. Figura 3.11- Princpio da estrutura das g-cell.........................................................28
13. Figura 3.12- Encapsulamento MMA7361..............................................................29
14. Figura 3.13- Diagrama de conexes recomendadas................................................31
15. Figura 3.14- Posio e sentido dos eixos................................................................31
16. Figura 3.15- Valores de calibrao dos eixos.........................................................32
17. Figura 3.16- Placa Arduino Duemilanove..............................................................33
18. Figura 3.17- Pinos digitais de entrada e sada.........................................................36
19. Figura 3.18- Pinos analgicos.................................................................................38
20. Figura 4.1- Ligao entre Arduino e acelermetro.................................................40
21. Figura 4.2- Esquema eltrico da ligao entre Arduino e acelermetro.................40
22. Figura 4.3- Janela principal do software IDE Arduino...........................................41
23. Figura 4.4- Configuraes iniciais do IDE.............................................................42
24. Figura 4.5- Monitor serial.......................................................................................43
25. Figura 4.6- Valores lidos sem serem convertidos em tenso..................................44
26. Figura 4.7- Processo de calibrao.........................................................................45
27. Figura 4.8- Valores de tenso calibrados................................................................46
28. Figura 4.9- Valores dos eixos X, Y e Z antes do filtro de mdia............................47
29. Figura 4.10- Valores dos eixos X, Y e Z depois do filtro de mdia........................48
30. Figura 4.11- Orientao de referncia para os clculos..........................................49
viii

31. Figura 4.12- Rotao de um vetor da posio (x,y) para a posio (x, y) segundo
um ngulo relativo origem do sistema de coordenadas......................................50
32. Figura 4.13- Rotao dos eixos y e z em torno do eixo x.......................................50
33. Figura 4.14- Rotao dos eixos x e z em torno do eixo y.......................................51
34. Figura 4.15 - Rotao dos eixos x e y em torno do eixo z......................................53
35. Figura 4.16- ngulo de Euler.................................................................................54
36. Figura 4.17- Fluxo de rotao para ngulos retos...................................................56
37. Figura 4.18- Curva formada com amostras de dados do acelermetro...................58
38. Figura 4.19- Erro acumulativo................................................................................59
39. Figura 4.20- Interpolao pelo mtodo do trapzio................................................59
40. Figura 4.21- Fluxo de Integrao............................................................................60
41. Figura 4.22- Diagrama de fluxo de deteco de queda...........................................61
42. Figura 4.23- Testes de queda mostrado no monitor seria.......................................62
43. Figura 4.24- Grfico de movimentos simples........................................................63
44. Figura 4.25- Queda frontal teste 1...........................................................................63
45. Figura 4.26- Queda frontal teste 2...........................................................................63
46. Figura 4.27 Queda de lado...................................................................................64
47. Figura 4.28 Queda sentado de costa.....................................................................64
48. Figura 4.29- Cinto e acelermetro com cabo flat de 5 vias.....................................65
49. Figura 4.30- Cinto e acelermetro com cabo flat de 5 vias e capinha para fixao
do acelermetro ao cinto..........................................................................................66
50. Figura 4.31- Desenho de fixao do acelermetro ao corpo da pessoa..................66
51. Figura 4.32- Ligao do acelermetro ao corpo......................................................67
52. Figura 4.33- Ligao do acelermetro ao corpo......................................................67

ix

NDICE DE TABELAS

1. Tabela 1.1- Nmero de quedas e a ocorrncia ou no de fratura..................................16


2. Tabela 2.1- Classificao de atividades dirias por gasto de calorias............................18
3. Tabela 3.1- Seleo do valor de sensibilidade...............................................................29
4. Tabela 3.2- Caractersticas do Arduino.........................................................................34

Introduo e Objetivo
O bem estar fsico e a qualidade de vida dos idosos so de vital importncia. O
aumento da populao idosa em todo o mundo, chama por cuidados fsicos, suporte social,
higiene, alimentao adequada e atendimento sade, tanto para problemas crnicos quanto
para emergenciais. Estes fatos colocam em evidncia a necessidade de considerar uma viso
integral do paciente idoso e de estudos aprofundados com finalidade teraputica e de promoo
da sade visando melhora da qualidade de vida dessa populao [5].
O Ministrio da Sade relata que um dos problemas que mais afetam os idosos so as
quedas, que podem causar desde fraturas at a morte. de vital importncia identificar o incio
da ocorrncia de quedas, pois nas primeiras quedas comum a ausncia de fraturas ou caso
ocorra uma fratura no to grave como as que so ocasionadas depois de sucessivas quedas.
Portanto, se conseguirmos identificar a ocorrncia de quedas, mais fcil ser tomar medidas de
preveno para evitar futuras quedas, pois a medida que a pessoa envelhece o nmero de quedas
aumenta e as fraturas so inevitveis [5].
Com isso em mente teve-se a ideia de montar um equipamento que pudesse fazer o
monitoramento de uma pessoa idosa a fim de detectar uma possvel queda e caso isso ocorra
disparar as medidas necessrias para que o idoso seja socorrido de forma rpida e bem sucedida.
Existem muitas definies para quedas como veremos mais a frente, mas elas s
ocorrem devido a um fenmeno fsico chamado atrao gravitacional. responsvel por atrair
os corpos em direo ao centro da terra somando isso a um possvel desequilbrio teremos uma
queda.
As quedas podem ser identificadas de diversas maneiras. Neste projeto sugerido o uso
de um acelermetro que um sensor capaz de medir a acelerao sofrida por um corpo. A
escolha do acelermetro como sensor de deteco importante porque apesar do foco do projeto
ser na deteco de quedas esse mesmo dispositivo pode permitir contagem de passos do idoso,
a fim de monitorar sua atividade, porque caminhar de grande importncia para a manuteno
do bem estar fsico. Essa contagem de passos ser feita por meio de integraes da acelerao,
a integral da acelerao a velocidade; se integrarmos a velocidade teremos o deslocamento
11

que o idoso fez, com esses dados e uma estimativa do tamanho de um passo do idoso,
poderemos calcular a quantidade de passos que ele realizou.
Os valores de acelerao sero coletados por meio do sensor acelermetro, que ser
ligado a uma plataforma fsica de computao de cdigo aberto baseado numa simples placa
microcontroladora, essa placa conhecida como Arduino. Esse conjunto ser conectado a um
cinto que ficar preso na cintura do usurio. O dispositivo ser conectados a um computador a
fim de analisar remotamente as informaes que sero coletadas e tratadas pelo conjunto
acelermetro e Arduino.
O Arduino receber os dados analgicos dos sensores e converter os mesmos em
informaes digitais, atravs de seus conversores A/D, realizando o processamento das
informaes e enviando-os para um computador pessoal de monitoramento.
O digrama de blocos da Figura 1 Ilustra essa ideia mostra as etapas percorridas desde a
medio feita pelo acelermetro at a chegada ao computador pessoal.

Acelermetro

Arduino

ConversoresA/D

Computador
pessoal

Figura 1- Diagrama de blocos detalhado

Nos prximos captulos iremos detalhar os componentes que usaremos no projeto.

12

1. Motivao: As quedas e suas consequncias

EstudosfeitospeloMinistriodaSademostraqueasquedasesuasconsequncias
paraaspessoasidosasnoBrasiltmassumidodimensodeepidemia[5].Oscustosparaa
pessoa idosa que cai e sofre uma fratura so altssimos. E o pior, os problemas derivados
atingem toda a famlia, na medida em que a pessoa idosa que fratura um osso acaba
hospitalizadaefrequentementesubmetidaatratamentocirrgico.Oscustosparaosistema
desadetambmsoaltos[5].
Acadaano,oSistemanicodeSade(SUS)temgastoscrescentescomtratamentos
de fraturas em pessoas idosas. Em 2009, foram R$ 57,61 milhes com internaes (at
outubro)eR$24,77milhescommedicamentosparatratamentodaosteoporose.Em2006,
foramR$49milheseR$20milhesrespectivamente[5].
Aquantidadedeinternaesaumentaacadaanoeasmulheressoasmaisatingidas.
Entreasmulheresforam20.778milinternaesem2009eentreoshomens10.020mil(dados
at outubro). Por causa da osteoporose, as mulheres so mais vulnerveis s fraturas. Os
homenscaem,masnosofremtantasfraturasquantoasmulheres.Em2001,essesnmeros
erambemmenores,15milinternaesdosexofemininoe7mildosexomasculino[5].
Entreaslesesfsicas,asmaistemidassoasfraturas,sendoqueafraturadocolodo
fmur representa a principal causa de hospitalizao aguda por queda. Cerca de 50% dos
idosos que sofrem este tipo de fratura falecem dentro de um ano e a metade dos que
sobrevivem fica totalmente dependente dos cuidados de outras pessoas. Essas fraturas
ocorremmaisemmulheres,principalmente,devidoosteoporosesermaispronunciadano
sexofeminino[8].
A queda em idosos pode causar srios prejuzos qualidade de vida desse grupo
populacional,podendoacarretaremimobilidade,dependnciadosfamiliares,semfalarno
ndicedemortalidadepscirrgico[5],ouseja,oscasosmaisgravespodemacarretarmorte.

13

Considerandotodoopas,somenteem2005,foram1.304bitosporfraturasdefmur.Eem
2009essenmerosubiupara1.478[5].

1.2 Envelhecimento Fisiolgico do Idoso

O termo envelhecimento usado para referir um processo ou conjunto de processos que


ocorrem em organismos vivos e que, com o passar do tempo, levam a perda de adaptabilidade,
deficincia funcional, e, fatalmente a morte. Estes processos so diferentes dos ritmos
biolgicos dirios ou de qualquer outra mudana temporria [16].
As mudanas naturais que ocorrem nos indivduos que envelhecem podem ser
responsveis por limitaes funcionais que, frente ao aparecimento de afeces agudas ou
crnicas ou mesmo riscos ambientais, podem levar o idoso a sofrer queda. A maneira normal
de um indivduo caminhar e sua estabilidade postural dependem do funcionamento adequado
dos sistemas neuromuscular, sensorial e musculoesqueltico, e do processo integrativo do
sistema nervoso central [1] [14].

1.3 Acuidade Visual

Com o envelhecimento, o tamanho e resposta das pupilas diminuem. Ao entrar em um


recinto escuro ou sair noite, o indivduo idoso tem risco de queda aumentado, pois o tempo
necessrio para que o olho atinja um nvel de sensibilidade luz igual a de uma pessoa jovem
maior. Por consequncia indivduos mais velhos precisam de uma iluminao adequada para
andar com maior segurana [18].

1.4 Instabilidade Postural

A instabilidade postural aumenta com o envelhecimento e se manifesta por uma perda


de reflexos de correo e um aumento na oscilao do corpo. A manuteno da instabilidade
postural uma funo complexa, e sofre declnio funcional com o envelhecimento. O tempo da
14

reao tambm aumenta, aumentando o intervalo entre a percepo do perigo e a ao para


evit-lo [14].

1.5 Alteraes Emocionais

As alteraes da memria observadas frequentemente nos indivduos idosos, a


depresso e a ansiedade, ligada ao medo de cair podem aumentar o risco de quedas por
influenciar o controle postural, assim como pela desorientao viso-espacial e pelos distrbios
do comportamento associados [1]. As doenas afetivas e a ansiedade, alterando o controle
postural, podem reduzir a capacidade do idoso para identificar os perigos no seu ambiente dirio
e levar a quedas [1].

1.6 Quedas no Idoso

A queda pode ser definida como evento descrito pela vtima ou pela testemunha, em
que uma pessoa inadvertidamente vai ter ao solo ou outro local em nvel mais baixo do que o
anteriormente ocupado, com ou sem perda de conscincia ou leso [1]; ou pode ser descrita
ainda como a falta de capacidade para corrigir o deslocamento do corpo durante o movimento
no espao. Determinados tipos de quedas como aquelas que esto associadas com perda de
conscincia ou um ataque convulsivo sbito, decorrentes de um evento cerebrovascular agudo,
de doena epiltica, de grave acidente automobilstico, de atividade recreacional exagerada ou
atos de violncia fsica, geralmente so excludos da definio de quedas nos indivduos idosos
[12].
Nos idosos as quedas recorrentes so sinais evidentes de uma situao clnica de
fragilidade, imobilidade, instabilidade e, muitas vezes, de doenas agudas, ou crnicas no
corretamente diagnosticadas. Alm disso, as quedas frequentemente contribuem para o declnio
funcional em decorrncia das leses sseas e musculares resultantes, da limitao da atividade
fsica diria, do receio que o indivduo tem de sofrer novas quedas e da perda de mobilidade e
independncia para a realizao das tarefas habituais e bsicas da vida diria [4].
15

As quedas so causas importantes de morbidade entre os idosos e podem ter


consequncias desastrosas. Alm do risco de fraturas, h a perda de confiana para caminhar
devido ao temor de novas quedas, fazendo o idoso diminuir sua mobilidade, formando-se um
crculo vicioso; pois a diminuio de mobilidade restringe a fora muscular enfraquece as
pernas, levando condio de dependncia, ao isolamento social e consequentemente
institucionalizao [17].

1.8 Nmero de Quedas que Resultam em Fraturas

O nmero de quedas e a ocorrncia ou no de fraturas mostram que idosos com uma ou


duas quedas apresentam tendncia ausncia de fraturas, enquanto que, os idosos com quatro,
cinco, seis ou mais quedas apresentam tendncia presena de fraturas [10]. A Tabela 1.1
apresenta os dados de uma pesquisa feita por Mller [10], comparando o nmero de quedas a
presena ou no de fraturas.

Tabela 1.1 Nmero de quedas e a ocorrncia ou no de fratura [10].

Verifica-se que a tendncia a fraturas est associada a quantidades maiores de quedas.


A ocorrncia de queda prvia como fator de risco para quedas com fratura foi descrita em outros
estudos [10]. Esses destacam a histria de queda no ano anterior, como uma das variveis mais
importante para prever queda com fratura [10].
16

1.9 Preveno de Quedas

O passo fundamental para a preveno das quedas o reconhecimento e a correo dos


fatores de risco envolvidos na sua ocorrncia [10]. De acordo com a pesquisa realizada por [10],
idosos com uma e duas quedas apresentam tendncia ausncia de fraturas, portanto,
importante identificar quando e com que idade comeam as quedas a fim de evitar mais
problemas, pois normalmente as pessoas no costumam comentar sobre uma queda, se sentem
envergonhadas. Identificar a ocorrncia de quedas fundamental para tomar medidas de
preveno.

2. Sedentarismo

O sedentarismo pode ser definido como a falta de atividade fsica. Trata-se de um


comportamento induzido por hbitos decorrentes dos confortos da vida contempornea. Com a
evoluo tecnolgica e a tendncia de substituir as atividades de pessoas que demandam gastos
energticos por facilidades automatizadas, o ser humano reduz o consumo energtico de seu
corpo.
O sedentarismo a principal causa do aumento da incidncia de vrias doenas.
Hipertenso arterial, diabetes, obesidade, ansiedade, aumento do colesterol, infarto do
miocrdio so alguns dos exemplos das doenas s quais o indivduo sedentrio se expe. O
sedentarismo considerado o principal fator de risco para a morte sbita, estando na maioria
das vezes associado direta ou indiretamente s causas ou ao agravamento da grande maioria das
doenas [11] [9].
Em um estudo feito por Tudor-Locke C, Bassett DR Jr.[9] criou-se uma classificao
do nvel de atividade fsica de uma pessoa, pela somatria da quantidade de passos que ela d
durante um dia inteiro, como pode ser vista na tabela abaixo. Para uma pessoa idosa a
quantidade passos recomendada em torno de 7000 passos/dia [9]. Isso ajudar o seu
fortalecimento tornando-o capaz de se movimentar sem quedas.
17

Tabela 2.1 Classificao de atividades dirias por gasto de calorias [9].

3. Tecnologias Usadas: Matrias e Mtodos


3.1 Acelermetro

Acelermetro o componente capaz de medir a acelerao sofrida. Existem diversos


tipos de acelermetros com uma grande variao de mtodos de construo. Porm os mais
usados so aqueles baseados em dispositivo eletromecnicos denominados Micro Electro
Mechanical Systems [13].
Partindo da segunda lei de Newton, possvel construir vrios tipos de acelermetros.
Podemos visualizar seu princpio de funcionamento imaginando um copo com gua at a sua
metade. Se colocarmos o copo sobre uma superfcie plana e o empurrarmos, notamos que a
gua se move, conforme podemos ver na Figura 3.1. Quanto mais rpido for o movimento,
mais a gua oscila. O que o acelermetro faz medir esses movimentos por meio do ngulo
que o lquido forma em relao ao seu estado original e atravs dele fornece-se a acelerao
que deve ter sido aplicada ao copo. Este um exemplo rudimentar de acelermetro. Modelos
mais sofisticados so produzidos atualmente. Sua aplicao em larga escala na indstria
automotiva promoveu a reduo do preo e a popularizao da tecnologia, que pode ser
encontrada at em relgios de pulso, aparelhos de telefonia mvel e videogames.

18

Figura 3.1 ngulo formado pelo deslocamento do liquido.

3.1.1 Acelerao da gravidade


O acelermetro que utilizaremos usa a acelerao da gravidade como referncia. A
acelerao gravitacional a resultante da fora sofrida por um corpo de massa devido a algum
outro corpo de massa extremamente maior, como um planeta, lua ou estrela. Sendo assim, a
acelerao da gravidade pode ser definida como o aumento gradativo da velocidade, a cada
instante de tempo, que um corpo sofre caso estivesse em queda livre e sem atrito. A acelerao
da gravidade ao nvel do mar aproximadamente 9,8 / .

3.1.2 Construo de um Acelermetro


Existem diversos mtodos para construir um acelermetro. Se utiliza como estrutura
Cristais Piezoeltricos (materiais que quando submetidos a uma presso, geram um campo
eltrico, em um eixo transversal quele no qual aplicada a presso, que pode ser coletado
como tenso) que podem ser utilizados nos sensores de vibrao. Eles contm cristais
microscpicos que, ao serem comprimidos por foras de acelerao, geram tenso eltrica [19].
Outro mtodo muito comum para a construo de acelermetros monitorar variaes
de capacitncia, princpio semelhante ao funcionamento de alguns tipos de microfone. Nesses
modelos so colocadas trs placas, formando dois capacitores, sendo que uma dessas placas
mvel. A figura 3.2 ilustra este tipo de acelermetro [13].

19

Figura 3.2 Construo de acelermetro baseado na variao de capacitncia. [13].

Conforme a acelerao, a distncia entre as placas varia alterando a capacitncia do


conjunto. Um pequeno mdulo de processamento monitora constantemente os capacitores, de
modo a calcular a acelerao atravs da diferena de capacitncia entre esses capacitores[13].
Tais acelermetros foram desenvolvidos recentemente, utilizando a tecnologia MEMS
(Microelectromechanical systems)[13], que possibilita construir estruturas mecnicas e
eletrnicas em escalas muito pequenas, possibilitando a integrao dessas estruturas a um
circuito integrado (CI) e a construo de componentes pequenos, baratos, de alto desempenho
e baixo custo. A Figura 3.3 ilustra o interior do acelermetro usando a tecnologia MEMS [19].

20

Figura 3.3 Estrutura MEMS de um acelermetro [13].

A Figura 3.4 Mostra o acelermetro MMA7361 da Freescale Semiconductor, de trs


eixos X, Y e Z.

Figura 3.4 Acelermetro MMA 7361.

21

O MMA 7361 pode ser alimentado com 2,2 at 3,6 volts. O pino de auto teste pode ser
utilizado para verificar as condies de operao do sensor. Cada eixo possui sua sada
analgica independente [6].

3.1.3 Caractersticas de Acelermetros


3.1.3.1 Sensibilidade de um acelermetro
A sensibilidade do acelermetro indica o quanto o sinal de sada varia de acordo com a
acelerao, quanto mais sensvel, melhor, pois variaes maiores do sinal podem ser lidas mais
facilmente, dando maior preciso medida [2].

3.1.3.2 Eixos de um acelermetro


O modo de construo do acelermetro permite que ele fornea informaes em at trs
eixos simultaneamente. Modelos disponveis no mercado podem medir aceleraes em um eixo
(apenas X ou Z), dois eixos (XY ou XZ) ou trs eixos (XYZ) [13]. A Figura 3.5 ilustra um
acelermetro de trs eixos.

Figura 3.5 Representao dos trs eixos acelermetro [13].

22

3.1.3.3 Sinais de sada de um acelermetro

Os acelermetros so classificados de acordo com a forma do sinal de sada, que pode


ser analgico, digital ou Pulse Width Modulation (PWM) [2]. Nos acelermetros de sada
analgica, o valor de tenso fornecido proporcional acelerao sofrida pelo componente.
Caso a acelerao se mantenha constante, a tenso na sada do acelermetro tambm
constante. Os de sada digital fazem internamente a converso do sinal analgico para um sinal
digital, ou seja, o sinal presente na sada de cada eixo do acelermetro passa a ser um sinal
digital que proporcional a acelerao sofrida pelo componente. Os de sada PWM variam a
largura do pulso presente na sada de acordo com a acelerao do sensor [13].
A Figura 3.6 ilustra as formas de onda associadas a acelermetros analgicos e digitais.
Os acelermetros mais utilizados so os analgicos, devido maior disponibilidade no mercado
e facilidade de se trabalhar com esse modelo [13].

Figura 3.6 Forma de onda de um acelermetro analgico e digital [13].

23

3.1.3.4 Frequncia de operao de um acelermetro

A frequncia de trabalho a quantidade de vezes que o sinal de sada do acelermetro


atualizado por segundo. Para a maioria das aplicaes, dez leituras por segundo (10 Hz) so
suficientes [2]. Porm algumas aplicaes exigem acelermetros que respondam muito mais
rapidamente, com larguras de banda da ordem de centenas de Hz [2].

3.1.3.5 Funcionamento do acelermetro

Em um acelermetro analgico, o nvel de tenso da sada est em funo da acelerao


sofrida pelo componente. Caso o componente no esteja sofrendo nenhuma acelerao em
determinado eixo, o nvel de sada correspondente a esse eixo ser constante em um valor que,
geralmente, a metade da tenso de alimentao do acelermetro [13]. Ao sofrer uma
acelerao no sentido positivo do eixo, pode-se verificar que a tenso de sada aumenta, at um
valor prximo da alimentao do componente que geralmente 3.3v. Se ele sofrer uma
acelerao no sentido negativo do eixo, ento a tenso da sada diminuir at um valor prximo
de zero, mas, se a acelerao for perpendicular ao eixo, ela no ser detectada conforme mostra
a Figura 3.7[13].

24

Figura 3.7 Tenso de sada conforme acelerao [13].

importante destacar que o acelermetro no fica sujeito apenas a aceleraes


dinmicas, mas tambm acelerao da gravidade da Terra. Ao sofrer uma acelerao no
sentido positivo do eixo do acelermetro a tenso sobe. Ao sofrer uma acelerao no sentido
negativo, a tenso cai. Quando a posio est perpendicular ao eixo, ela no detectada e se
estiver no sentido do eixo, a tenso de sada ser correspondente a uma acelerao de 9,8 m/s,
que a acelerao da gravidade [13]. A Figura 3.8 ilustra isso usando o eixo Z como exemplo.
O acelermetro paralelo ao solo, o eixo Z mede plenamente a acelerao gravitacional. Quando
o acelermetro se encontra perpendicular ao solo, o eixo Z no sofre nenhuma acelerao e
quando o acelermetro est inclinado em relao ao solo, o eixo Z sofre parte da acelerao
gravitacional.

25

Figura 3.8 Direes das aceleraes [13].

Se o acelermetro for posicionado num ngulo de, por exemplo, 45 graus, a acelerao
sofrida pelo eixo Z pode ser calculado por trigonometria, conforme mostra a Figura 3.9.

Figura 3.9 Acelermetro em um ngulo de 45[13].

. cos

(1)
26

3.1.4 Acelermetro MMA 7361


O acelermetro utilizado no projeto o MMA7361 da Freescale Semiconductor, de
baixa potncia, com trs eixos X, Y e Z, fornece condicionamento de sinal, filtro passa baixas,
compensao de temperatura, self-test e g-Select. A compensao e a sensibilidade de Zero-g
so fixadas de fbrica e no requer nenhum dispositivo externo [3]. Figura 3.10 ilustra o bloco
diagrama simplificado do interior do acelermetro.

Figura 3.10 Bloco diagrama simplificado [3].

3.1.4.1 Caractersticas de operao


O dispositivo consiste de pequenas e sensveis micromquinas capacitivas chamadas de
g-cell. As g-cell so estruturas mecnicas formadas por materiais semicondutores (Polysilicon).
Consiste basicamente em uma barra central que pode se mover entre duas barras fixas de acordo
com a acelerao sofrida. A Figura 3.11 ilustra o conjunto [3].
27

Figura 3.11 Princpio da estrutura das g-cell [3].

As duas barras fixas esto mesma distncia da barra mvel, essa distncia varia de um
lado na mesma proporo que a barra mvel se afasta da outra barra, indicando que houve
acelerao. Conforme a distncia entre as barras varia o valor da capacitncia muda [5],
podendo ser calculada pela equao.

(2)

Onde:
A = rea da barra
= Valor da constante do dieltrico
D = Distncia entre as barras

3.1.4.2 g-Select

A funo g-Select permite a seleo entre duas sensibilidades. Essa seleo pode ser
definida pelo usurio atravs da lgica de entrada no pino 10 do sensor conforme podemos ver
28

na Figura 3.12, que modifica sua configurao interna para uma sensibilidade de 1.5 g ou 6
g [3]. Conforme podemos ver na Tabela 3.1.

Figura 3.12 Encapsulamento MMA7361.

Tabela 3.1 Seleo do valor de sensibilidade.

29

3.1.4.3 Self Test

O sensor oferece a funo de self test, que verifica a integridade da parte mecnica e
eltrica do acelermetro antes e depois da instalao. Essa funo muito importante em
aplicaes como, por exemplo, para proteo de Discos Rgidos, onde a integridade do sistema
de proteo precisa ser garantida por toda vida til do produto. Os usurios tambm podem usar
o self test para verificar e confirmar se o sensor e demais dispositivos foram soldados e
montados corretamente [3].
Quando a funo inicializada, uma fora eletrosttica aplicada em todos os eixos
causando um desvio dos mesmos. Os eixos X e Y sofrem um desvio pequeno enquanto que Z
fica sujeito a 1g. Se isso acontecer tudo indica que o sensor est funcionando corretamente [3].

3.1.4.4 Sleep Mode


A funo de sleep ideal para aplicaes que operam com bateria, pois quando ativada,
as sadas do sensor so desligadas, o que reduz significativamente o consumo de corrente. A
funo ativada mantendo o pino 7 em nvel baixo, reduzindo o consumo tpico de corrente
para 3 A. Para se ter esse aproveitamento recomendado usar apenas a sensibilidade de 1.5 g,
colocando o pino 7 em nvel alto o dispositivo volta a funcionar normalmente [3].

3.1.4.5 Filtragem
O MMA7341LC possui internamente um filtro capacitivo. Devido a esse filtro usar uma
tcnica de chaveamento de capacitores, no h a necessidade de serem usados componentes
externos (resistores e capacitores) para setar a frequncia de corte [3].

3.1.4.6 Conexes bsicas


Algumas conexes so necessrias para ter um rendimento melhor e no danificar o chip
como, por exemplo, o desacoplamento da fonte e o uso de capacitores nas sadas para diminuir
o rudo [3]. A Figura 3.13 apresenta as conexes recomendadas pelo fabricante.

30

Figura 3.13 Diagrama de conexes recomendadas [3].

3.1.4.7 Acelerao esttica

Conforme citado, o acelermetro usa como referncia a acelerao da gravidade,


portanto deve ser calibrado. A calibrao foi realizada conforme instrues no Datasheet do
fabricante. A Figura 3.14 apresenta a direo dos trs eixos do acelermetro.

Figura 3.14 Posio e sentido dos eixos [3].

31

Para a calibrao necessrio colocar o acelermetro com um dos eixos no sentido da


acelerao da gravidade, a fim de obter os valores ilustrados na Figura 3.15. Esses valores so
determinados para a acelerao esttica, ou seja, com o acelermetro parado que corresponde a
1.65v para 0g e 2.45v para 1g.

Figura 3.15 Valores de calibrao dos eixos [3].

Dependendo do sentido da acelerao da gravidade, os seu valores de tenso


correspondente aos eixos variam. Logo necessrio fazer uma calibrao. Essa calibrao
feita via software, no programa que faz a leitura dos eixos pelo microcontrolador e ser
apresentada no Captulo 4.

32

3.2 Arduino Duemilanove

O Arduino Duemilanove ("2009") uma placa de microcontrolador baseada no


ATmega328. Ele possui 14 pinos de entrada/sada digital (dos quais 6 podem ser usados como
sadas analgicas PWM), 6 entradas analgicas, um cristal oscilador de 16 MHz, uma conexo
USB e um boto de reset. Ele contm os componentes necessrios para suportar o
microcontrolador e a conexo com um computador [7]. A Figura 3.16 ilustra o kit Arduino.

Figura 3.16 Placa Arduino Duemilanove.

33

3.2.1 Caractersticas do Ardunio Duemilanove

A Tabela 3.2 Apresenta as principais caractersticas do Arduino Duemilanove.


Algumas dessas caractersticas sero discutidas a seguir.

Tabela 3.2 Caractersticas do Arduino.


Microcontrolador

ATmega328

Tenso de operao

5v

Tenso de entrada (recomendada)

7-12v

Tenso de entrada (limites)

6-20v

Pinos E/S digitais

14 (dos quais 6 podem ser sadas PWM)

Pinos de entrada analgica

Corrente CC por pino E/S

40 mA

Corrente CC para o pino 3,3V

50 mA

Flash Memory

32 KB (dos quais 2KB so usados pelo


bootloader)

SRAM

2 KB

EEPROM

1 KB

Velocidade de Clock

16 MHz

3.2.1.1 Microcontrolador ATmega328


Fabricado pela Atmel Corporation, que uma manufaturadora de semicondutores
fundada em 1984. O microcontrolador ATmega328 um microcontrolador de 8 bits, com
Arquitetura Harvard modificada e pertence famlia AVR da Atmel. Todos os modelos desta
famlia compartilham uma arquitetura e conjunto de instrues bsicas [15].

34

3.2.1.2 Alimentao

O Arduino Duemilanove pode ser alimentado pela conexo USB ou por qualquer fonte
de alimentao externa. A fonte de alimentao selecionada automaticamente [7].
Alimentao externa (no-USB) pode ser tanto de uma fonte ou de uma bateria. A fonte pode
ser conectada com um plug de 2,1mm (centro positivo) no conector de alimentao. Cabos
vindos de uma bateria podem ser inseridos nos pinos Gnd (terra) e Vin (entrada de voltagem)
do conector de alimentao [7].
A placa pode operar com uma alimentao externa de 6 a 20 volts. Entretanto, se a
alimentao for inferior a 7 volts o pino 5V que fica do lado do pino de 3,3v e do Gnd pode
fornecer menos de 5 volts e a placa pode tornar-se instvel. Se a alimentao for superior a 12
volts o regulador de voltagem pode superaquecer e avariar a placa. Assim a alimentao
recomendada de 7 a 12 volts [7]. Os pinos de alimentao so:

VIN. Entrada de alimentao para a placa Arduino quando uma fonte externa for utilizada.
Pode-se fornecer alimentao por este pino ou usar o conector de alimentao.

5V. Fornece alimentao para o microcontrolador e para outros componentes da placa. Pode
ser proveniente do pino Vin atravs de um regulador on-board ou ser fornecida pelo USB
ou outra fonte de 5 volts.

3V3. Alimentao de 3,3 volts fornecida pelo chip FTDI (Future Technology Devices
International), que um controlador USB. A corrente mxima de 50 mA.

GND. Pino terra.

35

3.2.1.3 Memria

O ATmega328 tem 32 KB de memria flash para armazenar cdigo dos quais 2 KB so


utilizados pelo bootloader, alm de 2 KB de SRAM e 1 KB of EEPROM, que pode ser lida e
escrita atravs da biblioteca EEPROM [10]. A memria SRAM uma memria de alta
velocidade e voltil, ou seja, ela s retm o que est escrito nela enquanto ela estiver energizada.
J a memria EEPROM uma memria no voltil, ou seja, mesmo que ela no estiver
energizada ela mantem o que est escrito nela. A EEPROM uma ROM programvel que pode
ser apagada e reprogramada repetidamente atravs da aplicao de uma tenso mais elevada
que a tenso normal de operao. Sendo assim os programas que so escritos so armazenados
na EEPROM do ATmega328.

3.2.1.4 Pinos de entrada e sada

Cada um dos 14 pinos digitais do Duemilanove Figura 3.17 pode ser usado como
entrada ou sada usando as funes de pinMode(), digitalWrite(), e digitalRead(). Eles operam
com 5 volts. Cada pino pode fornecer ou receber um mximo de 40 mA e tem um resistor pullup interno de 20-50 kohms que servem para evitar flutuao em pinos configurados como
entrada [7].

Figura 3.17 Pinos digitais de entrada e sada.

Pinos 0 (RX) e 1 (TX) Serial: Usados para receber (RX) e transmitir (TX) dados seriais
TTL. Estes pinos so conectados aos pinos correspondentes do chip serial FTDI que um
Controlador USB. Esse chip faz a converso de USB para Serial.
36

Pinos 2 e 3: Estes pinos podem ser configurados para chama uma ISR (Interrupt Service
Routine) para tratar uma interrupo com a funo attachInterrupt( ) nesses pinos.

Pinos 3, 5, 6, 9, 10, e 11 (PWM): Fornecem uma sada analgica PWM de 8-bit com a
funo analogWrite ( ) utilizando a tcnica de Modulao por Largura de Pulso (PWM).

Pinos AREF e GND: O pina AREF a entrada de tenso de referncia para o conversor
A/D do Arduino; o pino GND o terra comum a todos os outros pinos.

Funes aplicada aos pinos digitais:

pinMode ( pino, modo ) Serve para estabelecer a direo do fluxo de informao em qualquer
dos 14 pinos digitais. Dois parmetros devem ser passados funo: o primeiro indica qual
pino vai ser usado; o segundo indica se esse pino vai ser entrada ou sada de informaes.

digitalRead (pino) uma funo de leitura, ou seja, serve para ler as informaes presentes
em um determinado pino.

digitalWrite (pino, valor) Essa funo serve para enviar um nvel logico para qualquer pino
digital do Arduino. Dois parmetros devem ser passados a funo: o nmero do pino; e o nvel
lgico (HIGH/LOW) em que esse pino deve permanecer.

attachInterrupt (pino, funo, modo) Essa funo uma rotina de servio de interrupo. Toda
vez que ocorre uma interrupo por hardware no pino digital 2 ou 3 do Arduino uma outra
funo vai ser chamada. O terceiro parmetro, modo, informa como a interrupo vai disparar
se por nvel lgico baixo ou nvel lgico alto ou na mudana de um nvel para o outro.

Os pinos analgicos so 6 localizados numa barra com o nome analog in Figura 3.18,
localizada no lado oposto s barras dos pinos digitais. So numeradas de 0 at 5 da esquerda
para a direita. Esses pinos so usados para leitura de sinais analgicos proveniente de sensores
37

conectados ao Arduino, e podem ser de qualquer valor entre 0 e 5v. Os pinos de entrada
analgica no precisam ser configurados previamente com a funo pinMode( ).

Figura 3.18 Pinos analgicos.

Funes analgicas:

analogRead (pino) Essa funo permite ler o nvel analgico presente no pino indicado.

3.2.1.5 Comunicao

Com o Arduino Duemilanove a comunicao com um computador, com outro Arduino


ou com outros microcontroladores simples. O ATmega328 permite comunicao serial no
padro UART TTL (5V) (Logica Transitor-Transitor uma classe de circuitos digitais
construdos de transistores de juno bipolar e resistores), que est disponvel nos pinos digitais
0 (RX) e 1 (TX). Um chip FTDI FT232RL na placa encaminha esta comunicao serial atravs
do USB e o drive FTDI, includo no software do Arduino, fornece uma porta COM virtual. O
software Arduino inclui um monitor serial que permite que dados simples de texto sejam
enviados placa Arduino. Os LEDs RX e TX da placa piscam quando os dados esto sendo
transferidos ao computador pelo chip FTDI e pela conexo USB, mas no quando h
comunicao serial pelos pinos 0 e 1 [7]. A biblioteca Software Serial permite comunicao
serial por quaisquer dos pinos digitais do Duemilanove [7].

38

3.2.1.6 Programao
O ambiente de programao mais indicado o do software do Arduino o IDE
(Integrated Development Envionment). O IDE escrito em java e se baseia no ambiente de
desenvolvimento Processing que uma linguagem de programao de cdigo aberto para criar
imagens, animaes e interaes.

3.2.1.7 Proteo contra sobre corrente na USB


O Arduino Duemilanove tem um poli fusvel que protege a porta USB do seu
computador contra curto-circuito e sobrecorrente. Apesar da maioria dos computadores
possurem proteo interna prpria, o fusvel proporciona uma proteo extra. Se mais de
500mA forem aplicados na porta USB, o fusvel ir automaticamente interromper a conexo
at que o curto ou a sobrecarga seja removida [7].

4. Montagem e implementao

Para o desenvolvimento do projeto, a primeira coisa a ser feita foi a ligao do


acelermetro MMA 7361 ao Arduino Duemilanove.
Foram utilizadas as entradas analgicas 0, 1 e 2 do Arduino. Nelas foram ligadas
respectivamente os pinos do acelermetro referentes aos eixos X, Y e Z. Com esse
procedimento pode-se fazer as leituras dos eixos do acelermetro. Para o acelermetro
funcionar ele precisa ser alimentado com uma tenso de 3.3v conforme indicado no datasheet
do acelermetro. Para isso o pino correspondente ao vcc do acelermetro foi ligado ao pino
Power de 3.3v do Arduino. O pino Gnd do acelermetro foi ligado ao pino Gnd do Arduino.
Para o acelermetro funcionar corretamente, o pino GSel e o ST tambm foram ligados ao Gnd
(terra) do Arduino e o pino SL foi ligado ao pino 3.3v do Arduino. A Figura 4.1 mostra como
ficou a ligao.

39

Figura 4.1 Ligao entre Arduino e acelermetro.

A Figura 4.2 mostra o esquema eltrico da ligao do acelermetro MMA 7361 com
o Arduino.

Figura 4.2 Esquema eltrico da ligao entre Arduino e acelermetro.


40

4.1 Ligao da placa e software

A conexo do Arduino ao computador simples, bastando lig-lo a uma entrada USB.


Para a instalao do software IDE, que pode ser baixado do site do Arduino, basta descompactar
e rodar o arquivo executvel. A janela principal do programa est representada na Figura 4.3.

Figura 4.3 Janela principal do software IDE Arduino.

Antes de comear preciso definir algumas configuraes, como a escolha do modelo


do kit usado e a porta serial onde est ligado o kit. No caso desse trabalho o kit o Arduino
41

Duemilanove e a porta serial a COM3 (a escolha dessa porta pode mudar de um computador
para outro). A Figura 4.4 ilustra as configuraes.

Figura 4.4 Configuraes iniciais do IDE.

Contamos tambm com uma ferramenta muito til, utilizada no desenvolvimento desse
trabalho. Trata-se do Monitor Serial atravs do qual se visualiza a transmisso e recepo de
42

dados entre o computador e o kit. Os resultados que so apresentados no Monitor Serial, so


obtidos atravs do IDE do Arduino que o seu Ambiente de Desenvolvimento Integrado do
ingls Integrated Development Environment. Com o IDE do Arduino podemos compilar e
carregar programas para a placa e os resultados podem ser visto no Monitor Serial. A Figura
4.5 ilustra o monitor serial.

Figura 4.5 Monitor serial.

4.2 Calibrao do acelermetro

O acelermetro foi calibrado conforme recomenda o Datasheet do fabricante. Para isso


se desenvolveu um cdigo teste que faz a leitura do valor de tenso dos eixos X, Y e Z do
acelermetro, e multiplica-se esse valor de tenso por um valor constante, at obter os valores
prximos aos indicados no Datasheet. O procedimento foi fazer a leitura dos valores dos eixos
sem converter os valores lidos para tenso. Conforme mostra a Figura 4.6.

43

Figura 4.6 Valores lidos sem serem convertidos em tenso.

Com esses valores obtidos, pegamos um mdia deles e dividimos pelo valor ao qual
queremos calibrar. Para converter esses valores para tenso, basta multiplicarmos o resultado
da diviso pelo valor lido no eixo do acelermetro.
A mdia dos valores pode ser calculada conforme as equaes abaixo.

(3)

(4)

(5)
Onde:
Os valores de X,Y e Z obtidos da leitura dos eixos do acelermetro de maneira esttica,

ou seja, parado.
44

Para a calibrao de cada eixo do acelermetro usamos as seguintes equaes.

.
.
.

(6)

(7)

(8)

Onde X,Y e Z so os valores lidos dos eixos do acelermetro. Com isso passamos a ter
os valores dos eixos do acelermetro calibrador e convertidos para valores de tenso.
O fluxo grama da Figura 4.7 mostra as etapa do processo de calibrao.

Figura 4.7 Processo de calibrao.

Na Figura 4.8 podemos ver os valores de sada convertidos para valores de tenso e
calibrados para valores bem prximos aos que o Datasheet indica como desejados. Esses valores
correspondem a 1.65v que corresponde a 0g e 2.45v que corresponde a 1g.

45

0
1

(9)
0.8

(10)

Onde:
Vcc = Tenso de alimentao do acelermetro que corresponde a 3.3v
0.8 = Sensibilidade do acelermetro a cada 1g.

Figura 4.8 Valores de tenso calibrados.


Porm, notamos que existe uma variao de valores na sada. Essa variao ou rudo
ruim para o desenvolvimento do projeto, porque apesar de pequena gera um erro na leitura dos
valores que poder acarretar um erro de clculo.
Uma soluo para melhorar esse rudo, a criao de um filtro de mdia. O filtro de
mdias a mdia de N medidas que tem por objetivo suavizar o rudo. O filtro de mdia pode
ser representado pela equao a seguir.
46

(11)

Onde:

= Sinal filtrado.
= Conjunto dos valores a serem somados.
N = Nmero de amostras utilizadas para a filtragem.
n = ndice que representa cada amostra.

Na Figura 4.9 e Figura 4.10 veremos os grficos dos eixos X, Y e Z antes e depois da
passagem pelo filtro de mdia.

Figura 4.9 Valores dos eixos X, Y e Z antes do filtro de mdia.

47

Figura 4.10 Valores dos eixos X, Y e Z depois do filtro de mdia.

Aps a filtragem o resultado obtido foi satisfatrio, porm o rudo no parou. Como a
deteco de queda vai trabalhar com grandes variaes de acelerao, este pequeno rudo no
atrapalhara na deteco de queda.
Com essas etapas ficamos com o acelermetro calibrado de maneira correta e com os
valores bem prximos aos determinados no Datasheet que so 1.65v para os eixos do
acelermetro que estaro em 0g, esses eixos do acelermetro so os que esto perpendicular ao
sentido da gravidade, e 2.45v para o eixo do acelermetro que est no sentido da gravidade.

4.3 Rotao dos eixos do acelermetro

Foi

proposto

para

projeto

possibilidade

do

acelermetro

funcionar

independentemente de que maneira ele esteja posicionado na pessoa. Porm os clculos sero
feitos a partir de uma referncia de eixos adotados. Por exemplo, se os eixos adotados como
referncia para os clculos forem eixo Z orientado para cima, na direo da gravidade, ou seja,
48

o eixo Z inicialmente marcaria um valor de 2.45v que referente a 1g e os eixos X e Y


perpendiculares ao eixo Z marcariam 1.65v que o correspondente a 0g conforme podemos ver
na Figura 4.11.

Figura 4.11 Orientao de referncia para os clculos.

A ideia que qualquer posio que esteja diferente dessa venha ser reajustada por meio
de uma rotao de vetores, de maneira que possamos ter os valores de referncia estipulados
inicialmente. Uma breve explicao sobre matriz de rotao de vetores ser feita a seguir.
Rotacionar um vetor significa mudar sua direo segundo algum eixo de rotao. Para
um vetor bidimensional, ou seja, paralelo ao plano xy, significa reposicion-lo sobre um
caminho circular, como ocorre com o movimento dos ponteiros de um relgio. O eixo de
rotao um vetor perpendicular ao plano xy e passa pelo centro de rotao. A rotao
especificada por um ngulo . Valores positivos de geram uma rotao no sentido anti-horrio.
Neste exemplo, considera-se que o centro de rotao a origem do sistema de coordenadas. As
relaes angulares e de coordenadas do ponto original e do ponto transformado so mostrados
na Figura 4.12.

49

Figura 4.12 - Rotao de um vetor da posio (x,y) para a posio (x, y) segundo
um ngulo relativo origem do sistema de coordenadas.

A Figura 4.13 mostra a rotao dos eixos y e z em torno do eixo x.

Figura 4.13 Rotao dos eixos y e z em torno do eixo x.

Os vetores unitrios so representados por , e

conforme mostrado logo a baixo.

50

0
j cos x

sin x

1
i 0
0

0
k sin x
cos x

(12)

Como a rotao ocorre em torno do eixo x, o vetor unitrio no sofre variao tendo
somente componente no eixo x, ou seja, suas componentes no eixo y e z so nulas. J o vetor
unitrio possui componente nula no eixo x, no eixo y sua componente varia em funo de
cos

e no eixo z sua componente varia em funo de sin

. O vetor unitrio

possui

sin

e sua

componente nula no eixo x, no eixo y sua componente varia em funo de


componente no eixo z varia em funo de cos

. Assim podemos montar a matriz de rotao

em torno do eixo x.

0
x 1
y 0 cos
x

z 0 sin x

0
1 0

0
sin x
cos x
0

0 x
0 y
0 z

1 1

(13)

A Figura 4.14 mostra a rotao dos eixos x e z em torno do eixo y.

Figura 4.14 Rotao dos eixos x e z em torno do eixo y.


51

Os vetores unitrios so representados por , e

cos y
i 0
sin y

conforme mostrado logo a baixo.

sin y
k 0
cos y

0
j 1

0

(14)

Como a rotao ocorre em torno do eixo y, o vetor unitrio no sofre variao tendo
somente componente no eixo y, ou seja, suas componentes no eixo x e z so nulas. J o vetor
unitrio possui componente nula no eixo y, no eixo x sua componente varia em funo de
cos

e no eixo z sua componente varia em funo de

sin

. O vetor unitrio

possui

componente nula no eixo y, no eixo x sua componente varia em funo de sin

e sua

componente no eixo z varia em funo de cos

. Assim podemos montar a matriz de rotao

em torno do eixo y.

x cos y
y 0

z sin y

1 0

0 sin y
1

0 cos y
0
0

0 x
0 y
0 z

1 1

(15)

52

A Figura 4.15 mostra a rotao dos eixos x e y em torno do eixo z.

Figura 4.15 Rotao dos eixos x e y em torno do eixo z.

Os vetores unitrios so representados por , e

cos z
i sin z
0

sin z
j cos z

conforme mostrado logo a baixo.

0
k 0
1

Como a rotao ocorre em torno do eixo z, o vetor unitrio

(16)

no sofre variao tendo

somente componente no eixo z, ou seja, suas componentes no eixo x e y so nulas. J o vetor


unitrio possui componente nula no eixo z, no eixo x sua componente varia em funo de
cos

e no eixo y sua componente varia em funo de sin

. O vetor unitrio possui

componente nula no eixo z, no eixo x sua componente varia em funo de


componente no eixo y varia em funo de cos

sin

e sua

. Assim podemos montar a matriz de rotao

em torno do eixo z.

53

x' cos z
y ' sin
z

z' 0

1 0

sin z
cos z
0
0

0 0 x
0 0 y
1 0 z

0 1 1

(17)

Como as rotaes no comutam devemos adotar uma ordem especifica, a ordem que foi
adotada foi, rotao em x, rotao em y e por fim rotao em z. Essa maneira de representar
orientaes denominada ngulo de Euler conforme mostra a Figura 4.16.

Figura 4.16 ngulo de Euler.

Se multiplicarmos as matrizes de rotao x, y e z na sequncia adotada, encontraremos


uma nica matriz de rotao com a qual poderemos determinar um ponto qualquer de x, y e
z em funo dos pontos x, y e z. Vale lembrar que se as matrizes forem multiplicadas em uma
sequncia diferente da adotada a matriz encontrada ser diferente.

cos( y ) cos( z )
cos( y ) sin( z )
sin( y )

sin( ) sin( ) cos( ) cos( ) sin( ) sin( ) sin( ) sin( ) cos( ) cos( ) sin( ) cos( )
x
y
z
x
z
x
y
z
x
z
x
y
R ( x , y , z )
cos( x ) sin( y ) cos( z ) sin( x ) sin( z ) cos( x ) sin( y ) sin( z ) sin( x ) cos( z ) cos( x ) cos( y )

0
0
0

0
0
0

(18)
54

cos( y ) cos( z )
cos( y ) sin( z )
sin( y )
x'
'

x ) cos( y )
sin(
)
sin(
)
cos(
)
cos(
)
sin(
)
sin(
)
sin(
)
sin(
)
cos(
)
cos(
)
sin(

x
y
z
x
z
x
y
z
x
z
y
'
z cos( x ) sin( y ) cos( z ) sin( x ) sin( z ) cos( x ) sin( y ) sin( z ) sin( x ) cos( z ) cos( x ) cos( y )

0
0
0
1

0 x
0 y

0 z

1 1

(19)

Podemos desmembrar a matriz de rotao e escrever equaes individuais para x, y e


z.

cos

cos

cos

sin

sin

cos

sin

cos

sin

cos

cos

cos

cos

cos
sin

cos

cos

sin

cos

sin

sin

(20)

sin

sin

sin
(21)

sin

sin

cos

sin

sin
(22)

importante destacar que os valores medidos com o acelermetro parado so diferentes


de acordo com a orientao dos eixos, ou seja, os valores medidos para o eixo Z orientado no
sentido da gravidade 1g e os eixos X e Y em 0g so diferentes para se o eixo X estiver orientado
no sentido da gravidade 1g e os eixos Z e Y estiverem em 0g. O motivo disso acontecer pode
ser devido a fabricao ou mesmo o fato do acelermetro usado para o projeto ser de uso
comum, ou seja, de baixo custo isso implica diretamente na qualidade do mesmo.
O fluxo grama da Figura 4.17 mostra as rotaes para ngulos retos, 90, 180 e 270
em torno de um eixo do acelermetro, ou seja, se o acelermetro se encontrar posicionado a
90, 180 ou 270 do valor desejado os valores sofrero uma rotao posicionando eles nos
eixos de referncia adotado.
55

Figura 4.17 Fluxo de rotao para ngulos retos.

Para uma rotao de um ngulo que seja diferente de um ngulo de 90 ou mltiplos


dele, necessrio achar o ngulo inicial que o acelermetro se encontra inicialmente a fim de
56

usarmos esse ngulo nas equaes de rotao que foram obtidas atravs da matriz de rotao.
Esse ngulo que desejamos foi obtido a partir da seguinte equao.

1 sin

(23)

Onde:

= Tenso de sada do acelermetro.


= Tenso do acelermetro em 0g.

= Sensibilidade do acelermetro.

1g

= Acelerao da gravidade.

= ngulo de inclinao.

Podemos calcular o ngulo de inclinao calculando o arc sin da seguinte maneira.

sin

sin

.
.

(24)

(25)

4.4 Clculo da velocidade e posio por meio de integrao

Para o projeto foi proposto a possibilidade de se determinar a quantidade de passos dada


pelo idoso. A ideia geral foi descobrir a posio, e a partir da posio obtida dividir esse
resultado por uma estimativa do tamanho do passo do idoso. Para isso utilizamos os valores de
57

acelerao obtidos do acelermetro e por meio do mtodo de integrao denominado


aproximao trapezoidal, calculamos a velocidade e depois integramos novamente a fim de
obtermos a posio.
A acelerao a taxa de mudana de velocidade de um objeto. E a velocidade a taxa
de mudana de posio do mesmo objeto. Em outras palavras, a velocidade a derivada da
posio e a acelerao a derivada da velocidade.

(26)

Assim como para ter o valor da velocidade, possvel atravs da integrao.

(27)

Neste caso, a integrao pode ser vista como o clculo da rea da curva, criada a partir
da amostragem dos dados do acelermetro conforme podemos ver na Figura 4.18.

Figura 4.18 Curva formada com amostras de dados do acelermetro.

58

lim

(28)

A amostragem pode criar intervalos em pequenas reas. Para que a coerncia entre os
dados seja adequada, a taxa de amostragem deve ser a mesma. O tempo da amostragem a base
de cada rea enquanto o valor do acelermetro a altura. Contudo, devido a amostragem
discreta, existe um erro acumulativo no clculo da integral conforme mostra a Figura 4.19.

Figura 4.19 Erro acumulativo.

Esse erro devido a amostragem, como mostrado na Figura 4.19. Uma maneira de lidar
com ele usando o mtodo de aproximao de primeira ordem. Considerando que o resultado
da integrao composto de duas reas, rea 1 e rea 2 conforme mostra a Figura 4.20.

Figura 4.20 Interpolao pelo mtodo do trapzio.

59

A primeira rea associada o valor da amostragem (um quadrado). A segunda rea


um tringulo, formado pelo valor da amostragem anterior (n-1) e a atual (n) dividida por dois.
Com isso a rea pode ser calculada em cada intervalo com a equao.

(29)

Onde T o tempo da amostragem. Com esta aproximao o erro menor. No fluxo


grama da Figura 4.21 veremos as etapas de integrao.

Figura 4.21 Fluxo de Integrao.

60

4.5 Deteco de queda

A deteco de queda o foco principal do projeto, ela consiste em determinar se o idoso


sofreu ou no uma queda. A queda consiste numa variao brusca de acelerao, vale lembrar
que o objetivo desse sistema de deteco para pessoas idosas, ou seja, pessoas que tem
limitaes nas suas movimentaes, no fazem movimentos bruscos como por exemplo sarem
correndo. Caso o sistema seja ligado em uma pessoa que no tem limitaes nos seus
movimentos e venha a ocorrer uma variao muita brusca o sistema de deteco pode se acionar
e dizer que ocorreu uma queda sem a mesma ter ocorrido. Esse sistema tem como objetivo os
idoso que tem seus movimentos limitados por diversos fatores, tais como doena, idade, etc.
Com o acelermetro devidamente ligado ao corpo, foi feito alguns testes de queda para
obteno dos valores de acelerao nos eixos X, Y e Z. Aps vrios testes de movimentao
como caminhar, sentar, abaixar, cair para frente, cair para trs, cair para os lados, cair sentado.
Podemos assim determinar os valores de referncia para a implementao do cdigo para
deteco da queda. A implementao do cdigo de deteco de queda foi feito de maneira
simples e objetiva. Foram usados como referncia os valores de acelerao maiores que os
obtidos nos testes com movimentos simples, e menores que os valores mximos de acelerao
obtidos numa queda. Com isso implementamos uma rotina de comparao que fica
constantemente comparando os valores de acelerao nos eixos X,Y e Z do acelermetro com
os valores de referncia para a deteco da queda. Caso algum valor seja maior que o de
referncia um led vermelho ir se acender determinando assim que houve uma queda. A Figura
4.22 mostra o diagrama de fluxo que ilustra essa etapa de deteco de queda.

Figura 4.22 Diagrama de fluxo de deteco de queda


61

Na figura 4.23 vemos alguns testes de queda feito, e com seus resultados mostrados no
monitor serial.

Figura 4.23 Testes de queda mostrado no monitor seria.

62

A figura 4.24 mostra o grfico feito da captao de acelerao de movimentos simples


como andar, sentar e se abaixar.

Figura 4.24 Grfico de movimentos simples.


A Figuras 4.25 e Figura 4.26 mostras o resultado grfico para a uma queda frontal.

Figura 4.25 Queda frontal teste 1.

Figura 4.26 Queda frontal teste 2.


63

A figura 4.27 mostra o resultado da captao de acelerao para uma queda de lado.

Figura 4.27 Queda de lado.

A figura 4.28 mostra o resultado para uma queda sentado de costa.

Figura 4.28 Queda sentado de costa.

Analisando os resultados grficos, podemos observar que para os movimentos simples


o pico de acelerao no passou de 8m/s e para todos os outros testes de quedas o pico de
acelerao passou de 10m/s. Com isso tomamos como referncia o valor de acelerao de
9m/s, ou seja, quando qualquer valor maior ou igual a 9m/s for detectado um led vermelho ira
acender indicando assim que ocorreu uma queda.

64

4.6 Resultados para ligao do acelermetro ao corpo da pessoa

Como referncia de eixos, adotamos o eixo Y estando na orientao da gravidade 1g e


os eixos Z e X estando em 0g, ou seja, perpendicular a orientao da gravidade. Isso foi feito
de maneira a possibilitar uma melhor acomodao do acelermetro ao corpo do idoso.

Para a ligao do sistema ao corpo da pessoa, algumas mudanas foram feitas, como a
elaborao de um cinto onde o acelermetro possa ser fixado e o cabo flat de 5 vias que
possibilita a fixao somente do acelermetro ao corpo da pessoa, mantendo o Arduino a uma
distncia razovel. Na figura 4.29 e figura 4.30 veremos essas mudanas.

Figura 4.29 Cinto e acelermetro com cabo flat de 5 vias.

65

Figura 4.30 Cinto e acelermetro com cabo flat de 5 vias e capinha para fixao do
acelermetro ao cinto.

O acelermetro ser preso ao corpo da pessoa conforme mostra a figura 4.31

Figura 4.31 Desenho de fixao do acelermetro ao corpo da pessoa.

66

A figura 4.32 e figura 4.33 mostra como ficou a ligao ao corpo por meio do cinto.

Figura 4.32 Ligao do acelermetro ao corpo.

Figura 4.33 Ligao do acelermetro ao corpo.


67

5. Concluses

A proposta para este projeto foi a realizao de um sistema capaz de detectar quedas e
estimar a quantidade de passos dado atuando como um pedmetro, usando um acelermetro
modelo MMA 7361 da freescale, Arduino Duemilanove e um computador pessoal para a
visualizao dos resultados. A deteco de queda que a parte principal do projeto foi realizada
com sucesso, porm melhorias futuras tero que ser feitas no sistema de rotao, visto que uma
das ideias era que o acelermetro independente de como estivesse ligado na pessoa, seus eixos
sofreriam uma rotao at a referncia de eixos adotados. S conseguimos fazer o acelermetro
rotacionar em ngulos de 90 ou mltiplos do mesmo. Para uma inclinao qualquer em relao
aos eixos de referncia o clculo de rotao apresenta erros que precisaro ser revistos
futuramente. Uma maneira de se evitar isso prender o acelermetro no corpo na posio dos
eixos de referncia adotados ou em posies que ele s precisa ser rotacionado em ngulos
retos. Para o uso do acelermetro como pedmetro no tivemos xito mas isso devido ao MMA
7361 ter uma sensibilidade muito baixa apenas de 1.5g - 6g para o uso de um acelermetro
como pedmetro necessrio se ter uma alta sensibilidade conforme mostra a tabela no anexo
III. Os clculos necessrios para se determinar a posio foram feitas de maneira correta por
meio de integrao, sendo assim para termos o sistema funcionando tambm como um
pedmetro basta trocarmos o MMA 7361 para outro acelermetro com a sensibilidade adequada
para isso.
O tempo de implementao do projeto teve seu tempo se estendido mais do que o
previsto inicialmente, isso devido a problemas encontrados no dia a dia pessoal, como tambm
com a implementao do projeto, citando um caso especifico a rotao dos eixos do
acelermetro que por fim no ficou funcionando totalmente de maneira correta.
Apesar da proposta do projeto ter sido parcialmente alcanada, ele pode servir de base
para futuros projetos que tenham como objetivo o que foi abordado por esse projeto. Melhorias
futuras tero que ser feitas principalmente na parte de rotao dos eixos do acelermetro.

68

Bibliografia

[1] - BRITO, F.C, COSTA, S.M.N. Quedas. In: PAPALU NETTO, M., BRITO, F.C.
Urgncias em geriatria: epidemiologia, fisiopatologia, quadro clnico. Controle teraputico. So
Paulo, Rio de Janeiro, Belo Horizonte. Editora Atheneu, cap.26, p. 323, 2001.
[2] - BARROS, Marcos Braga. Desenvolvimento de Um Estabilmetro para estudo do
Equilbrio Humano. Dissertao de mestrado, Pontifcia Universidade Catlica do Rio Grande
do Sul. Porto Alegre, 2008.
[3] - FREESCALE, Semiconductors. Datasheet MMA7361. EUA, 2010. 11p. Disponvel em:
<http://www.freescale.com>. Acessado em: maio/2012.
[4] - GUIMARES, R.M; CUNHA, U.G.V. Sinais e Sintomas em Geriatria. 2a. Ed. So Paulo,
Rio de Janeiro, Ribeiro Preto, Belo Horizonte. Editora Atheneu, cap. 27, p. 278-285, 2004.
[5] - http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=33674&janela=1
Acessado em: julho /2012
[6] - http://multilogica-shop.com/placa-com-acelerometro-triaxial-mma7361 Acessado em:
Outubro /212
[7] - http://projeto39.wordpress.com/o-arduino-duemilanove/ Acessado em: setembro/2013
[8] - JUNIOR, C.M.P & HECKMAN, M.F. Distrbios da postura, marcha e quedas. In:
JUDGE J, OUNPUU S et al. Effects of age on the biomechanics and physiology of gait.
Clinics In Geriatric Med,;cap. 4, p. 659-678, 2006.
[9] - MCARDLE, W.D.; KATCH, F.I.; KATCH, V. Fisiologia do Exerccio, Energia , Nutrio
e Desempenho Humano. 3 edio. Guanabara Koogan, 1998.
[10] - MLLER, Brbara Dal-Ri. Nvel de atividade fsica e ocorrncia de quedas em idosos.
2010. 62 f. Monografia (Concluso do Curso de Fisioterapia) - Feevale, Novo Hamburgo-RS,
2010

Disponvel

http://ged.feevale.br/bibvirtual/Monografia/MonografiaBarbaraMuller.pdf

em:
Acessado

em:

06/2012.
69

[11] - NETO, T.L.B. Exerccio, Sade e Desempenho Fsico. 1 edio. Editora Atheneu, So
Paulo, Brasil, 1997.
[12] - PASCHOAL, S.M.P. Epidemiologia do envelhecimento. In: M.P. Netto (Ed.),
Gerontologia: A velhice e o envelhecimento em viso globalizada. So Paulo, Rio de Janeiro,
Belo Horizonte: Atheneu. p.26-43, 1999.
[13] - PATSKO, Lus Fernando. Tutorial. Aplicaes, Funcionamento e utilizao de sensores.
83p. 2006. Disponvel em: <http://www.pictronics.com.br>, Acesso em: 20/08/2011.
[14] - PUSSI, F.A.; ZINNI, J. V. S. O papel da fisioterapia na preveno da instabilidade e
quedas em idosos. Revista Virtual Fisioweb Wgate, abr. 2004. Disponvel em:
http://www.fisioweb.com.br. Acesso em: 09/2013.
[15] - QUADROS, Daniel. Microcontrolador Atmel ATmega328, Configuraes, Partes 1, 2,3
e 4. Blog DQSoft. 2011. Disponvel em: <http://dqsoft.blogspot.com> Acessado em: 07/2012.
[16] - SPIRDUSO, Dimenses fsicas do envelhecimento. Barueri, SP. Editora Manole, 2005.
[17] - TAHARA, T. & VIEIRA, D.A.G. Fisioterapia. In: NETTO, M.P. & BRITO, F.C.
Urgncias em Geriatria. So Paulo: Editora Atheneu, cap. 6, p. 69-79, 2001.
[18] - THOMPSON, L.V. Alteraes fisiolgicas associadas ao envelhecimento. In:
GUCCIONE, A.A. Fisioterapia geritrica. 2a. Ed. Rio de Janeiro. Editora Guanabara Koogan,
cap. 3, p. 27-52, 2002.

70

ANEXO I
Faixas de medida para algumas aplicaes do uso de acelermetro

71

Anexo II

Cdigo implementado para o projeto


// UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO
// FACULDADE DE ENGENHARIA - FEN
// DEPARTAMENTO DE ENGENHARIA ELETRNICA

/* Aluno: Jonas Cardoso da Silva


Professor orientador: Lisandro Lovisolo

PROJETO DE GRADUAO DO CURSO DE ENGENHARIA ELETRNICA

TEMA: INDICADOR DE QUEDA E PEDMETRO COM MONITORAMENTO


EM COMPUTADOR PESSOAL

Rio de Janeiro - julho/2013


*/
// cdigo para medio de velocidade e deslocamento a partir
// de valores obtidos de um acelermetro de tres eixos.

const int n1=30;


72

const int m1=(n1+1);


int x[n1+1];
int y[n1+1];
int z[n1+1];
float ax,ay,az,acex,acey,acez,ax1,ay1,az1,moduloAceleracao;
float modulovelocidade, moduloposicao,eixox,eixoy,eixoz;
float acexatual,aceyatual,acezatual,acexanterior,aceyanterior,acezanterior;
float velx,vely,velz,velxatual,velyatual,velzatual,velxanterior,velyanterior,velzanterior;
float posx,posy,posz,moduloaceleracao[2],moduloVelocidade[2];
float acelex[2],aceley[2],acelez[2],velox[2],veloy[2],veloz[2];
float
Xx,Xy,Xz,Yx,Yy,Yz,Zx,Zy,Zz,Ux,Uy,Uz,Ux1,Uy1,Uz1,Mx,My,Mz,Modx,Mody,Modz;
float tetaxrad,tetayrad,tetazrad,tetarotx,tetaroty,tetarotz,Modacex,Modacey,Modacez;
const float G = 9.8; // Mdulo da acelerao da gravidade
const float pi = 3.14;
#include <math.h>;

void setup()
{

Serial.begin(9600);
pinMode(12,OUTPUT); // Define que o pino 12 sada.
acelex[1]=0;
73

aceley[1]=0;
acelez[1]=0; // Variaveis inicados com zero a fim de facilitar
velox[1]=0;
veloy[1]=0;
veloz[1]=0;

// os clculos das integrais

moduloaceleracao[1]=0;
moduloVelocidade[1]=0;
}

void loop()
{
acelex[0]=acelex[1]; // A cada novo loop essas variaveis so atualizads a fim de
aceley[0]=aceley[1]; // possibilitar o clculo das integrais por aproximao trapezoidal.
acelez[0]=acelez[1];
velox[0]=velox[1];
veloy[0]=veloy[1];
veloz[0]=veloz[1];
moduloaceleracao[0]=moduloaceleracao[1];
moduloVelocidade[0]=moduloVelocidade[1];

// Leitura da acelerao dos eixos do acelermetro


74

eixox = analogRead(0);
eixoy = analogRead(1);
eixoz = analogRead(2);
// Filtro de mdia.
ax=0;
ay=0;
az=0;
for(int i=0;i<=n1;i++){
x[i] = eixox;
y[i] = eixoy;
z[i] = eixoz;
ax = ax + x[i];
ay = ay + y[i];
az = az + z[i];
}
ax1=(ax/m1);
ay1=(ay/m1);
az1=(az/m1);

// Determinando o ngulo em funo da tenso de sada.


tetaxrad = asin((ax1-1.65)/0.8);
tetayrad = asin((ay1-1.65)/0.8);
75

tetazrad = asin((az1-1.65)/0.8);

Modx=sqrt(tetaxrad*tetaxrad);
Mody=sqrt(tetayrad*tetayrad);
Modz=sqrt(tetazrad*tetazrad);

// Na deduo das matrizes de rotao vimos que os pontos


// necessrios para se calcular o novo ponto aps a rotao
// determinado por 0.8sen(a). Sendo (a) um angulo inicial qualquer
// e 0.8 o modulo do vetor que no acelermetro a sua sensibilidade.
// como o valor de tenso lido na sada do acelermetro dado por
// Vout = Voffset + 0.8sen(a) ento 0.8sen(a)= Vout-Voffset.

Ux=ax1-1.65;
Uy=ay1-1.65;
Uz=az1-1.65;

// Rotao em torno dos eixos x,y e z.

Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(0)-(cos(0)*sin(0))))+
(Uy*((sin(0)*sin(0)*sin(0))+(cos(0)*cos(0))))+(Uz*(sin(0)*cos(0))))+1.65;

76

Mz = ((Ux*((cos(0)*sin(0)*cos(0))+(sin(0)*sin(0))))+(Uy*((cos(0)*sin(0)*sin(0))(sin(0)*cos(0))))+(Uz*(cos(0)*cos(0))))+1.65;

if(ax1>=2.30){

Mx = (((Ux*cos(0)*cos(3*pi/2))+(Uy*cos(0)*sin(3*pi/2))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(3*pi/2)-(cos(0)*sin(3*pi/2))))+
(Uy*((sin(0)*sin(0)*sin(3*pi/2))+(cos(0)*cos(3*pi/2))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(3*pi/2))+(sin(0)*sin(3*pi/2))))+
(Uy*((cos(0)*sin(0)*sin(3*pi/2))-(sin(0)*cos(3*pi/2))))+(Uz*(cos(0)*cos(0))))+1.65;
}

if(ax1<=0.9){

Mx = (((Ux*cos(0)*cos(pi/2))+(Uy*cos(0)*sin(pi/2))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(pi/2)-(cos(0)*sin(pi/2))))+
(Uy*((sin(0)*sin(0)*sin(pi/2))+(cos(0)*cos(pi/2))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(pi/2))+(sin(0)*sin(pi/2))))+
(Uy*((cos(0)*sin(0)*sin(pi/2))-(sin(0)*cos(pi/2))))+(Uz*(cos(0)*cos(0))))+1.65;
}

if(ay1<=0.9){

77

Mx = (((Ux*cos(0)*cos(pi))+(Uy*cos(0)*sin(pi))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(pi)-(cos(0)*sin(pi))))+
(Uy*((sin(0)*sin(0)*sin(pi))+(cos(0)*cos(pi))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(pi))+(sin(0)*sin(pi))))+(Uy*((cos(0)*sin(0)*sin(pi))(sin(0)*cos(pi))))+(Uz*(cos(0)*cos(0))))+1.65;
}

if(az1>=2.30){

Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(3*pi/2)*sin(0)*cos(0)-(cos(0)*sin(0))))+
(Uy*((sin(3*pi/2)*sin(0)*sin(0))+(cos(3*pi/2)*cos(0))))+(Uz*(sin(3*pi/2)*cos(0))))+1.65;
Mz = ((Ux*((cos(3*pi/2)*sin(0)*cos(0))+(sin(3*pi/2)*sin(0))))
+(Uy*((cos(3*pi/2)*sin(0)*sin(0))-(sin(3*pi/2)*cos(0))))+(Uz*(cos(3*pi/2)*cos(0))))+1.65;
}

if(az1<=0.9){

Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(pi/2)*sin(0)*cos(0)-(cos(pi/2)*sin(0))))+
(Uy*((sin(pi/2)*sin(0)*sin(0))+(cos(pi/2)*cos(0))))+(Uz*(sin(pi/2)*cos(0))))+1.65;
Mz = ((Ux*((cos(pi/2)*sin(0)*cos(0))+(sin(pi/2)*sin(0))))+
(Uy*((cos(pi/2)*sin(0)*sin(0))-(sin(pi/2)*cos(0))))+(Uz*(cos(pi/2)*cos(0))))+1.65;
78

if((ay1>1.65)&&(ay1<2.39)){

Mx = (((Ux*cos(Mody)*cos(0))+(Uy*cos(Mody)*sin(0))-(Uz*sin(Mody))))+1.65;
My = ((Ux*(sin(Mody)*sin(Modx)*cos(0)(cos(Modx)*sin(0))))+(Uy*((sin(Mody)*sin(Modx)*sin(0))+(cos(Mody)*cos(0))))+(Uz*(sin(
Mody)*cos(Modx))))+1.65;
Mz = ((Ux*((cos(Mody)*sin(Modx)*cos(0))+(sin(Mody)*sin(0))))+
(Uy*((cos(Mody)*sin(Modx)*sin(0))-(sin(Mody)*cos(0))))+
(Uz*(cos(Modx)*cos(Mody))))+1.65;
}
// Converte os valores de tenso lidos em valores de acelerao em m/s

acex = (Mx - 1.65) * G;


acey = (My - 2.45) * G;
acez = (Mz - 1.65) * G;

// Calcula da velocidade e posio por meio de intergao por aproximao trapezoidal.

acelex[1]=acex;
aceley[1]=acey;
acelez[1]=acez;
79

velx = 0;
velx = velx + ( acelex[0] + sqrt((acelex[1] - acelex[0])*(acelex[1] - acelex[0]))/2)*0.3;
vely = 0;
vely = vely + ( aceley[0] + sqrt((aceley[1] - aceley[0])*(aceley[1] - aceley[0]))/2)*0.3;
velz = 0;
velz = velz + ( acelez[0] + sqrt((acelez[1] - acelez[0])*(acelez[1] - acelez[0]))/2)*0.3;

velox[1]=velx;
veloy[1]=vely;
veloz[1]=velz;

posx = 0;
posx = posx + ( velox[0] + sqrt((velox[1] - velox[0])*(velox[1] - velox[0]))/2)*0.3;
posy = 0;
posy = posy + ( veloy[0] + sqrt((veloy[1] - veloy[0])*(veloy[1] - veloy[1]))/2)*0.3;
posz = 0;
posz = posz + ( veloz[0] + sqrt((veloz[1] - veloz[0])*(veloz[1] - veloz[1]))/2)*0.3;

/* Calculo da acelerao, velocidade e posio em modulo */

Modacex=sqrt(acex*acex);
Modacey=sqrt(acey*acey);
80

Modacez=sqrt(acez*acez);

moduloAceleracao = sqrt((acex * acex) + (acey * acey) + (acez * acez));


moduloaceleracao[1]=moduloAceleracao;

modulovelocidade=0;
modulovelocidade = modulovelocidade + (moduloaceleracao[0] +
sqrt((moduloaceleracao[1] - moduloaceleracao[0])*(moduloaceleracao[1] moduloaceleracao[0]))/2)* 0.3;

moduloVelocidade[1]=modulovelocidade;

moduloposicao=0;
moduloposicao = moduloposicao + ( moduloVelocidade[0] + sqrt((moduloVelocidade[1] moduloVelocidade[0])*(moduloVelocidade[1] - moduloVelocidade[0]))/2)*0.3;

// Cdigo para deteco da queda


if ((Modacey >= 10)||(Modacex>=10)||(Modacez>=10)){
digitalWrite(12,HIGH); // Diz que o pino 12 esta ligado
delay (10000); // Espera 10 s e apaga
digitalWrite(12,LOW);
}
delay (200);
}
81

Você também pode gostar