terça-feira, 30 de novembro de 2021

Guia de mão com interação Bluetooth

 

UNIVERSIDADE FEDERAL DE LAVRAS – UFLA

FELIPE SANTOS OLIVEIRA

MATRICULA: 201920697

PROJETO DE FISICA EXPERIMENTAL 2

 

GUIA DE MÃO COM INTERAÇÃO BLUETOOTH

 

1.      INTRODUÇÃO

Ser deficiente visual em um pais onde até mesmo aqueles que não possuem deficiência enfrentam problemas nas mais diferentes esferas, se torna um grande impedimento no que tange a autonomia do indivíduo em sua vida cotidiana, desta maneira elencamos algumas das principais dificuldades dos indivíduos que não enxergam em sua vivencia diária.

·           Falta de infraestrutura nas calçadas – hoje em dia existem pisos que tem rugosidades diferentes, assim como cor, para facilitar a locomoção de indivíduos com baixa visão ou nenhuma, porem este tipo de piso é encontrar somente em algumas poucas calçadas, normalmente quando as prefeituras dispõem da reinstalação das calçadas, ficando limitada somente a áreas de interesse, assim é facilmente encontrada calçadas com diversas irregularidades inclusive em via de alta taxa de trafego de pessoas, assim como a falta de calçadas em alguns trechos.

·           Falta de sinalização no semáforo – existe alguns meios onde se é possível uma pessoa com deficiência visual perceber quando um semáforo estará aberto como os que emitem um aviso sonoro, porem caímos em outro descaso com este grupo, pois apesar de existir a tecnologia necessária dificilmente é encontrado algum semáforo munido desta tecnologia, sendo este um dos principais motivos que levam a causa de acidentes entre os deficientes visuais, perdendo apenas pela queda decorrente a alçadas irregulares.


 

2.      OBJETIVO

 

O projeto tem como objetivo um melhor conforte e autonomia para pessoas com deficiência no quesito de locomoção, se dando através da utilização de um aparelho de pulso ou mão, capaz de se conectar via Bluetooth com o celular ou fone de ouvido e, além disso, o aparato será munido de um sensor de distância que indicara ao indivíduo alguma mudança brusca na constituição da calçada (como degrau) ou mesmo barreira.

Assim a finalidade do equipamento a ser desenvolvido será a de proporcionar uma maior dignidade humana a uma certa classe de indivíduos, que vivem diversos problemas que muitas vezes são marginalizados tanto pela população, no que diz respeito às normativas das calçadas, quanto pelas organizações públicas que não implementam tecnologia de maneira satisfatória para propiciar uma boa vivencia em espaços públicos para as mais variadas necessidades que cada indivíduo possa ter.

  

3.      DESENVOLVIMENTO

 Para o desenvolvimento do equipamento, serão necessários os seguintes itens;        Arduino uno R3 Atmega 328 Smd com cabo USB – formada por duas camadas e diversas características de projeto, como; Alimentação da placa de Arduino via USB ou outra fonte externa, que deve ser limitada entre no máximo 7V e 12V, IOREF que serve para conectar a alimentação dos Shields, RESET servido como reset externo da placa, GND são os pinos terra, VIN, entre outros.

 Sensor ultrassônico de distância HC-SR04 – possibilita a leitura de distância entre 0,02m até 4m com precisão de 0,003m.
Modulo Bluetooth HC-06 RS232 – trabalha tanto em modo mestre (faz e aceita pareamento de dispositivos) quanto escravo (aceita pareamento apenas).
 Jumpers – cabos que fazem conexões para transferência de dados, utilizado para unir protoboard, arduino e componentes.
Protocolar – usada para fazer conexões ou integração de componentes.
Celular Smartphone – item que será usado para pareamento com aparelho a ser montado no arduino.

 Além disso, será necessário ser feita a programação do aparelho, para que possa decodificar as informações e transmiti-las para o celular ou fone de ouvido através do sistema Bluetooth. Para tal, será utilizada a interface da IDE do arduino.

O projeto será desenvolvido em um prazo máximo de 3 meses, assim sendo garantido no cronograma a seguir que haja tempo para ajustes caso ocorra algum imprevisto no decorrer do cronograma, assim possibilitando o ajuste e entrega no prazo máximo definido.

CRONOGRAMA DE DESENVOLVIMENTO PROJETO

DATA

TAREFA

INICIO

FIM

27/08/2021

IDEIA

X

X

03/09/2021

INICIO PESQUISA

X

X

04/09/2021

LEVANTAMENTO MATERIAIS

X

X

08/092021

DESENVOLVIMENTO PROTOBOARD

X

X

17/09/2021

MONTAGEM

X

X

24/09/2021

PROGRAMAÇÃO

X

X

08/10/2021

FINALIZAÇÃO DE RELATORIO

X

X

 

Abaixo há a relação dos componentes a serem utilizados para montagem do projeto no arduino, assim como o preço de cada componente, observando que alguns dos itens listados, foram comprados em conjuntos, assim o preço final diz respeito apenas ao valor dos itens individuais de cada componente e o preço total gasto para montagem do dispositivo.

CUSTOS DO EQUIPAMENTO

MATERIAL

PREÇO (R$)

SENSOR ULTRASSONICO

15,90

BUZZER

14,90

MODULO BLUETOOTH

29,90

PROTOBOARD

13,90

LUZ LED

9,90

JUMPER

24,90

ARDUINO

59,90

RESISTORES

11,90

TOTAL

181,20

1.      POSSIVEL SOLUÇÃO E MELHORIA

 

O projeto contemplara o desenvolvimento do guia de mão com conectividade Bluetooth, porém ainda é passível de incorporações, sendo algumas delas;

·           Indicação do semáforo aberto – é possível o desenvolvimento de um outro componente a ser integrado no semáforo que pode se conectar com o dispositivo, assim possibilitando que seja avisado o usuário, quando o semáforo estiver liberado para travessia.

·           GPS – ainda é possível uma interação direta com o sistema de GPS, assim possibilitando um ajuste mais fino, onde o usuário será avisado na hora de seguir uma direção especifica até seu destino.

·           Sensor de vibração – pode ainda ser incorporado na aparelhagem um sistema de vibração quando encontrar uma barreira, ou desnível acima de 10cm, através da vibração, podendo ser emulado em uma vibração para barreira e duas para desníveis.

 

Porem as etapas citadas acima não serão contempladas no desenvolvimento do equipamento, assim ficando para uma possível implementação posteriormente ao desenvolvimento do equipamento.

Isso se deve ao pouco tempo disponível para o desenvolvimento das programações necessárias para o funcionamento de cada incorporação, assim sendo restrito apenas a montagem do guia e a interação Bluetooth. 

1.      METODOLOGIA

 

O sensor será construído de maneira a ser incorporada ao pulso ou sendo necessário criar uma alça que servira para ser segurada, assim possibilitando o uso de qualquer indivíduo.

Será incorporado um sensor frontal que avisara o usuário quando houver uma barreira a cerca de um metro e vinte centímetros de distância, possibilitando tempo para parada e mudança de trajeto do usuário, um segundo sensor será direcionado ao chão de maneira inclinada (30° a 45°), sem distancia pré-definida, pois devido a variedade de altura dos indivíduos não haveria maneira satisfatória de ser definida, assim será programado um delay de 5 a 10 segundo para ajuste automático da aparelhagem, assim que ligado, para definir a distância do sensor ao chão, sendo que quando houver uma mudança de nível igual ou superior a de 10cm o usuário será avisado, caso altitude (superior) e caso declívio (inferior).

Abaixo há um modelo feito no Tinkercad de como o sistema ficara quando montado, havendo apenar uma mudança a ser feita, pois não havia o modulo Bluetooth no aplicativo, assim o mesmo foi substituído por um LED RGB, que possui a mesma quantidade de pinos do equipamento, assim quando montado apresentara essa mudança em relação ao modelo computacional.

 LED RGB (simplesmente ilustrativo, será substituído pelo componente bluetooth com os respectivos pinos definidos);

 


Fonte: https://www.saravati.com.br/led-rgb-alto-brilho-catodo-comum

 

 


 

A linguagem de programação utilizado para o arduino é a do C++, com alterações. Sendo possível a definição do algoritmo, com variáveis definidas, as leituras da entrada de dados dos sensores, a saída de dados, os operadores lógicos, as funções e as condicionais para execução de determinadas funções (acionamentos das componentes de saída.

1.      DESENVOLVIMENTO DO CODIGO

Primeiramente devemos importar as bibliotecas que necessitamos para que o Arduino opere os dispositivos;

#include "SoftwareSerial.h"

#define BLYNK_PRINT Serial

#include <BlynkSimpleSerialBLE.h>

SoftwareSerial bluetooth(5, 6);

BlynkTimer timer;

(...)

Agora devemos definir os pinos que serão utilizado com cada componente;

(...)

//definir pinos

const int trig = 10;

const int trig1 = 12;

const int echo = 9;

const int echo1 = 11;

(...)

Define-se as variáveis que serão utilizadas;

(...)

float duracao, distancia, duracao2, distancia2;

(...)

 

 

 

Define-se qual pino será responsável pela entrada e saída de dados;

(...)

void setup(){

            bluetooth.begin(9600);

            Serial.begin (9600);

            Blynk.begin(SerialBT, auth);

            Blynk.begin(SerialBT, auth);

            pinMode(trig,OUTPUT);

            pinMode(echo,INPUT);

            pinMode(trig1,OUTPUT);

            pinMode(echo1,INPUT);

            timer.setInterval(1000cm, enviadist); 

}

(...)

Configuramos o primeiro sensor dentro do loop;

(...)

//primeiro sensor

  digitalWrite(trig,LOW);

  delayMicroseconds(2);

  digitalWrite(trig,HIGH);

  delayMicroseconds(10);

  digitalWrite(trig,LOW);

 

 //retorno do sonar

  duracao= pulseIn(echo,HIGH);

 

  //calculo da distancia

  distancia= (duracao*0.034) /2;

  Serial.print(distancia); 

  Serial.println("cm");

 

  //verificar se distancia é menor que 1 m

  if (distancia < 100){

            delay(10);

            bluetooth.write("Stop!");//dados bluetooth para sinalizar barreira

            bluetooth.write(Serial.read()); //mostra a distância que o sensor está lendo

  }else{

            bluetooth.write("");

            bluetooth.write(Serial.read()); //mostra a distância que o sensor está lendo

            //dados bluetooth caminho livre

  }

  delay(100);

(...)

Agora configuramos o segundo sonar dentro do mesmo loop;

(...)

  digitalWrite(trig1,LOW);

  delayMicroseconds(2);

  digitalWrite(trig1,HIGH);

  delayMicroseconds(10);

  digitalWrite(trig1,LOW);

  duracao2= pulseIn(echo1,HIGH);

  distancia2= (duracao2*0.034) /2;

  Serial.print(distancia2); 

  Serial.println("cm");

 

  if (distancia2>75 && distancia2<65){

            bluetooth.write("Stop!");//dados bluetooth para sinalizar desnivel

            bluetooth.write(Serial.read()); //mostra a distância que o sensor está lendo

}else{

            bluetooth("");//dados bluetooth caminho livre

bluetooth.write(Serial.read()); //mostra a distância que o sensor está lendo

  }

  delay(100);

(...)

Assim termina-se a programação do arduino, com as condicionais respectivamente, especificadas para cada sonar, além de o envio de dados via bluetooth para o aparelho celular, que será configurado para emitir para o usuário a mensagem quando houver barreiras.

 

2.      APP BLYNK

O aplicativo, usado para se fazer a leitura dos dados enviados pelo bluetooth do arduino foi o Blynk, onde se é possível ver a leitura da distancia que o sonar analisou;


1.      ANALISE DOS SENSORES

Analise de distância do sensor frontal;

Foi medido com uma trena a distância, com precisão de 0,05 cm, sendo desligado e ligado dez vezes o equipamento para cada medição (Tab. 01).

N° DE MEDIDAS

DISTANCIA DO LEITOR

50 cm

80 cm

100 cm

130 cm

1

48,1

75,1

93,5

129,3

2

49,7

77,4

96,7

138,9

3

51,4

82,7

108,0

135,0

4

47,8

77,9

99,6

121,7

5

50,9

79,3

105,3

118,7

6

49,1

76,9

102,1

137,8

7

51,4

80,3

98,9

136,3

8

48,3

81,2

100,2

131,9

9

49,7

83,0

101,9

139,1

10

50,5

78,5

99,9

124,9

MEDIA

Tab. 01: Sensor frontal


Analise de distância do sensor diagonal;

Foi medido com uma trena a distância, com precisão de 0,05 cm, sendo desligado e ligado dez vezes o equipamento para cada medição (Tab 02);

 

N° DE MEDIDAS

DISTANCIA DO LEITOR

40 cm

60 cm

90 cm

120 cm

1

37,9

58,1

92,1

114,5

2

39,8

57,9

93,3

118,3

3

40,3

61,2

87,2

123,1

4

41,7

60,3

86,3

122,9

5

40,9

58,8

92,5

124,1

6

38,1

59,2

90,7

116,5

7

39,9

60,7

92,4

117,3

8

41,1

62,9

87,6

123,8

9

40,3

57,5

89,7

120,3

10

39,5

58,1

92,4

124,9

MEDIA

Tab. 02: Sensor diagonal




 

 

DISTANCIA

SENSOR 1 (FRONTAL)

DISTANCIA

SENSOR 2 (DIAGONAL)

1

50 cm

 cm

40 cm

 cm

2

80 cm

 cm

60 cm

 cm

3

100 cm

 cm

90 cm

 cm

4

130 cm

 cm

120 cm

 cm


1.      CONCLUSÕES

Analisando os desvios padrões, que no caso representa o erro do equipamento, percebemos que no sensor frontal e no diagonal obtemos um erro maior conforme a distância aumenta sendo diretamente proporcional.

O sensor frontal está programado dentro de uma janela de , assim permanecendo na janela do desvio padrão no alcance de um metro especificado, logo atendendo os necessário para o aviso de barreira, assim como o sensor diagonal foi programado dentro da janela de , desta maneira também atendendo a especificação do programa do guia de mão com interação Bluetooth, sendo possível ainda um afinamento para uma janela menor, assim aumentando a grau de exatidão do sensor.

O objeto iria ser revestido com uma camada plástica, porem seria necessário moldar uma peça que permitisse que os sensores permanecessem fora, algo que foi impossibilitado de ser executado devido a falta de equipamento específicos para moldar a peça, assim ficando somente a aparelhagem montada, mais ainda sendo passivo de ser implementado posteriormente.


link do video: https://www.youtube.com/watch?v=8zfJrwWbaag&t=2s


1.      BIBLIOGRAFIA

[01] SANTO, T. - Deficientes visuais encontram dificuldades de locomoção em áreas vedes em SP – 32xSP – 02/02/2017 – atualizado em 12/11/2020.

Link: https://32xsp.org.br/2017/02/02/deficientes-visuais-encontram-dificuldades-de-locomocao-em-areas-verdes-do-municipio/

[02] BARBOSA, I. – Pessoas com deficiência visual relatam seus maiores obstáculos – Folha de Pernambuco – 14/03/2019

Link: https://www.folhape.com.br/noticias/pessoas-com-deficiencia-visual-relatam-seus-maiores-obstaculos/98782/

[03] CHAVIER, L. – Programação para Arduino: Primeiros passos

[04] MOTA, A. – O que é Arduino e como funciona? – Vida de Silício – 14/04/2017

Link: https://portal.vidadesilicio.com.br/o-que-e-arduino-e-como-funciona/