quinta-feira, 17 de junho de 2021

 UNIVERSIDADE FEDERAL DE LAVRAS

GFI 130 - Projeto de Física Experimental I




Helton Ribeiro Pedroso

Julio Braz Jose Oliveira da Silva

Técio Antonio dos Santos











Dispositivo de alerta de segurança pessoal 






 











LAVRAS

Maio,2021

UNIVERSIDADE FEDERAL DE LAVRAS

GFI 130 - Projeto de Física Experimental I





Helton Ribeiro Pedroso

Julio Braz Jose Oliveira da Silva

Técio Antonio dos Santos










Dispositivo de alerta de segurança pessoal 





       Projeto  apresentado  ao  curso ABI -

Engenharia,  da Universidade Federal

de  Lavras   como   atividade   para  a 

       conclusão   da   disciplina  Projeto de

       Física Experimental 1.  








Lavras 

Maio, 2020






1 - Introdução



O fator espacial no campus UFLA em Lavras deve receber atenção especial em comparação a outras faculdades, pois a maioria dos locais onde ocorre as classes se encontram afastados da portaria por aproximadamente 2 km, além de possuir uma área de dimensões elevadas onde os alunos podem circular, incluindo áreas de mata, ao aliar isso a existência de cursos noturnos e a possibilidade de circulação pertinente de alunos por conta da moradia estudantil é possível gerar ambientes e situações propícias a riscos à segurança.

Aliado a isso, a rede de internet sem fio disponibilizada pela ufla não tem capacidade de cobrir toda a extensão do campus, assim caso alguém necessitasse de ajuda, estaria  dependendo apenas de dispositivos conectados à rede de telefonia celular pessoal.



2 - Objeto de Estudo


2.1 - Coleta de dados

Para analisar a situação da segurança foi disposto um questionário para que os alunos respondessem, foram obtidas resposta de 24 pessoas sobre suas experiências, e como resultado foi constatado que destas 24 pessoas, 20 já passaram por situações de perigo ou insegurança dentro ou próximo a UFLA, e dentro deste grupo 12 delas já passaram pela situação dentro dos limites da UFLA.

Ao final do questionário foi proposto para os indivíduos que apontassem causas que pudessem ter causado ou agravado essa situação, todas as pessoas que marcaram insegurança apontaram questões como pouca circulação de carros, falta de capacidade de comunicação ou dificuldade para pedir ajuda, e com essas informações foi possível entender mais quais necessidades devem ser atendidas.

Em sua maioria, as respostas do questionário foram obtidas através de pessoas que frequentam o campus no período diurno, assim podemos considerar que a situação analisada é baseada no cenário de pessoas que frequentam a UFLA durante o dia, algo que pode ser alterado caso analisado durante o período noturno. Isso poderia influenciar que, por conta da intensificação dos motivos apontados como causa da insegurança, pessoas do turno noturno poderiam passar por mais situações de insegurança por passarem por um período de menos circulação, mais dificuldade de acesso a ajuda, entre outros fatores.


2.2 - Abordagem do problema

Para resolver os problemas apontados, foi pensado um dispositivo de segurança pessoal semelhante a um controle, ele tornará possível para o indivíduo chamar por ajuda de forma dinâmica, apenas com o aperto de um botão.

Inicialmente o aluno deverá preencher um formulário na biblioteca com seus dados para obter o equipamento, tendo que voltar semanalmente para mostrar que o produto se encontra em perfeito estado. Após a aquisição temporária do dispositivo de alerta de segurança pessoal, ele já está pronto para uso.

Quando o aluno se sentir ameaçado dentro do ambiente universitário, o discente pode acionar rapidamente e de forma dinâmica o botão único presente no controle, uma tarefa simples, porém de grande importância, já que a pessoa não irá depender de rede telefônica ou de wi-fi, pois o aparelho envia sua localização por GPS para a central através de ondas hertzianas (ondas de radiofrequência).

O sinal então irá ser passado para um central onde alguém possa fornecer ajuda ou acionar as autoridades, e com as informações passadas pelo aparelho poderão indicar o local onde o indivíduo em risco está, agilizando o processo de chamada de ajuda e tornando algo dinâmico.

A própria existência do aparelho torna ainda maior segurança em relação a locais vazios, uma vez que alguém estará em alerta sobre a situação do indivíduo com o dispositivo. Para garantir que o dispositivo foi acionado, mostrando que a ajuda está a caminho e consequentemente o indivíduo não está sozinho, o controle aciona também um alarme sonoro, podendo assim intimidar possíveis ameaças. 




3 - Revisão da Literatura

3.1 - Módulo LoRa

O módulo LoRa, como o próprio nome diz, é um aparelho para comunicação em longa distância (Long Range), ele é um componente que pode ser anexado ao arduino e se comunica com outros dispositivos LoRa quando é configurado para tal ação, para isso ele utiliza ondas eletromagnéticas e por ser focado na distância, pode atingir até 9 km em situações favoráveis ao funcionamento.

A utilização de ondas de radiofrequência foi escolhida pois o dispositivo não poderia ficar dependente da rede wifi, que não é disponibilizada em todo o campus.

Para o projeto foi escolhido o LoRa E32-TTL-1W, pois este modelo funciona em 915 mhz, sendo esse o valor permitido pela ANATEL no Brasil para conexões não registradas.

Esse modelo pode chegar a 9 km de comunicação, porém é esperado que esse valor seja reduzido para a UFLA por conta de obstáculos físicos na conexão e outras ondas que possam vir a interferir, porém partindo do ponto central do campus, em nenhuma direção os limites alcançam mais de 3 km de distância, levando assim que, mesmo com a redução da distância, esse modelo pode ser indicado na prática.

Para configurar os módulos a empresa produtora disponibiliza um software próprio, o qual estará disponível o link em anexo junto ao datasheet.


3.2 - Módulo GPS

O módulo GPS já é um componente bem estabelecido no trabalho com os arduinos, ele atuará na função de coletar as informações do indivíduo em situação de insegurança, tais como localização, data, velocidade, aceleração e velocidade para passar para o arduino, além disso o módulo pode indicar o quão suas informações são confiáveis por meio da quantidade de satelites disponiveis e outros fatores, podendo assim garantir ainda mais a não existência de situações onde informações erradas são passadas e a assistência das autoridades são atrasadas ou não chegam ao local.

O modelo escolhido  NEO 6M foi selecionado pensando na compatibilidade com os outros componentes do projeto, como por exemplo o valor da alimentação necessária e os requisitos para o funcionamento, tendo isso em mente.

O GPS conta também com uma biblioteca própria para ser usada durante a programação do arduino, ela garante alguns comandos que facilita o acesso e manipulação das informações que o módulo proporciona. 

O datasheet e a biblioteca do módulo estarão disponíveis em anexo.


3.3 - Arduino UNO

O arduino UNO foi escolhido para a montagem do projeto, uma vez que é um modelo que entrega as funções e o trabalho necessário para o funcionamento do circuito e ainda sim é um dos mais simples e acessíveis dos arduinos.

No funcionamento do projeto serão necessários dois arduinos, um no dispositivo para compor o processamento do aparelho de segurança, podendo fazer com que todo o processo de acionamento e chamada de ajuda seja necessária, e o outro na estação, podendo receber os dados enviados pelo aparelho de segurança e passando para o computador, podendo assim processar a localização da pessoa em perigo. 


3.4 - Buzzer

Outro componente usado será o Buzzer, este por si só é um componente mais simples e muito utilizado em circuitos com arduino, ele terá a função de alertar a vítima que o aparelho funcionou, e poderá ser desativado após isso pelo próprio usuário, o modelo escolhido para execução do trabalho foi o Buzzer 5v Low Level Trigger - 0332, sendo esse funcional na alimentação necessária e de fácil obtenção. 



4 - Metodologia

4.1 - Funcionamento do dispositivo

Em seu funcionamento, o aparelho será ativado pelo push button quando o usuário estiver se sentindo em situação de perigo, então o arduino será acionado, fazendo com que o buzzer apite, como um aviso sonoro de acionamento, tanto para a vítima quanto para alertar qualquer agressor de que terá ajuda a caminho.

Após isso, o GPS NEO 6M captura as informações da posição, em seguida ele passa essas informações para o módulo LoRa E32-TTL-1W que exportará para a estação.

Na estação o computador ligado ao arduino receberá as informações por estar conectado a outro módulo LoRa, então a pessoa que estará cuidando da central poderá trabalhar com os dados enviados, o módulo GPS consegue passar várias informações, como latitude, longitude, data, velocidade, e até mesmo para onde o módulo está se movendo, isso garante uma precisão para localizar e conseguir garantir ajuda a quem acionou a assistência. 

Após a informação chegar à estação, a pessoa poderá desativar o aviso sonoro à vontade, apertando novamente o botão. 


4.2 - Montagem do dispositivo

A montagem do aparelho será feita um arduino UNO como processador, um push button que controla o acionamento do alarme, um buzzer para acionar o alarme sonoro, NEO 6M GPS para capturar as informações de localização via GPS e um modulo LoRa E32-TTL-1W para exportar os dados.

As ligações do circuito do dispositivo de segurança estão demonstradas no diagrama abaixo.

Amarelo: Módulo GPS

Azul: Módulo LoRa

Laranja: Buzzer

Verde: Botão 

Preto: Comum

Vermelho: Alimentação 


4.3 - Montagem da estação

A estação terá o arduino ligado ao dispositivo LoRa e a um computador, o módulo LoRa será capaz de se comunicar com o outro módulo presente no dispositivo, os dois trocarão informações e quando recebido o arduino irá passar essas informações ao computador.



A tabela abaixo mostra o encaixe de cada porta de cada aparelho no arduino tanto para a estação quanto para o dispositivo, caso não tenha aparecido, o pino deve ficar livre.


4.4 -  Programação


Transmissor:


#include <SoftwareSerial.h>

#include <TinyGPS.h>


SoftwareSerial loraSerial(3, 2); // RX, TX

SoftwareSerial serial1(10, 11); // RX, TX

TinyGPS gps1; //importa a variável onde os dados do GPS são salvos

int x = 0;

int y = 0;

int z = 0;


void setup() {

   loraSerial.begin(9600); //Define a velocidade do serial LoRa

   serial1.begin(9600); // Define a velocidade do GPS

   Serial.begin(9600); //Define a velocidade do Serial

   

   pinMode(6,OUTPUT); //Define a porta de saida do buzzer

   pinMode(7,INPUT_PULLUP); //Define a porta de entrada do botão 

   digitalWrite(6,LOW); //Define a porta do buzzer como baixa (Desligado)


   Serial.println("Buscando dados...");

}


void loop() {

  

   x=digitalRead(7);


   if(x==LOW){

     y=1;

     z=1;

     Serial.print(y); //verifica se o botão foi apertado

  }

 while (y==1){

  //A partir daqui o GPS definirá uma série de processos para funcionar e para salvar os dados que ele coletará


  bool recebido = false;


  while (serial1.available()) {

     char cIn = serial1.read();

     recebido = gps1.encode(cIn);

  }


 

    

    

  if (recebido) {

     Serial.println("----------------------------------------");

     

     //Latitude e Longitude

     long latitude, longitude;

     unsigned long idadeInfo;

     gps1.get_position(&latitude, &longitude, &idadeInfo);     


     if (latitude != TinyGPS::GPS_INVALID_F_ANGLE) {

        Serial.print("Latitude: ");

        Serial.println(float(latitude) / 100000, 6);

     }


     if (longitude != TinyGPS::GPS_INVALID_F_ANGLE) {

        Serial.print("Longitude: ");

        Serial.println(float(longitude) / 100000, 6);

     }


     if (idadeInfo != TinyGPS::GPS_INVALID_AGE) {

        Serial.print("Tempo da informação: ");

        Serial.println(idadeInfo);

     }



     //altitude

     float altitudeGPS;

     altitudeGPS = gps1.f_altitude();


     if ((altitudeGPS != TinyGPS::GPS_INVALID_ALTITUDE) && (altitudeGPS != 1000000)) {

        Serial.print("Altitude: ");

        Serial.println(altitudeGPS);

     }



     //velocidade

     float velocidade;

     velocidade = gps1.f_speed_kmph();   //km/h

     

     Serial.print("Velocidade (km/h): ");

     Serial.println(velocidade, 2);  





     //satelites e precisão

     unsigned short satelites;

     unsigned long precisao;

     satelites = gps1.satellites();

     precisao =  gps1.hdop();


     if (satelites != TinyGPS::GPS_INVALID_SATELLITES) {

        Serial.print("Satelites:");

        Serial.println(satelites);

     }


     if (precisao != TinyGPS::GPS_INVALID_HDOP) {

        Serial.print("Precisao (centesimos de segundo): ");

        Serial.println(precisao);

     }


         //Dia e Hora

     int ano;

     byte mes, dia, hora, minuto, segundo, centesimo;

     gps1.crack_datetime(&ano, &mes, &dia, &hora, &minuto, &segundo, &centesimo, &idadeInfo);

     

     hora = hora - 3;

     if (hora < 0) {

     hora = 24 + hora;

     dia = dia - 1;}

    

     Serial.print("Data (GMT): ");

     Serial.print(dia);

     Serial.print("/");

     Serial.print(mes);

     Serial.print("/");

     Serial.println(ano);


     Serial.print("Horario (GMT): ");

     Serial.print(hora);

     Serial.print(":");

     Serial.print(minuto);

     Serial.print(":");

     Serial.print(segundo);

     Serial.print(":");

     Serial.println(centesimo);



     //sentido 

     unsigned long sentido;

     sentido = gps1.course();


     Serial.print("Sentido (grau): ");

     Serial.println(float(sentido) / 100, 2);



    if (z==1);{

    digitalWrite(6, LOW);

    delay(2000); 

    digitalWrite(6, HIGH); //Liga e desliga o buzzer uma vez por 

    }


     loraSerial.print(latitude);

     loraSerial.print(longitude); //passa as informações para o LoRa


      if (y==1){

      x=digitalRead(7);

      if (x==LOW){ 

      z=0; //desliga o buzzer se apertar o botão novamente após ativação

      delay(5000);

      }}

  }

}

}




Receptor:


#include <SoftwareSerial.h>


SoftwareSerial loraSerial(3, 2); // RX, TX

 

void setup() {

  Serial.begin(9600);

  loraSerial.begin(9600);  

}

 

void loop()

  if(loraSerial.available() > 1){

    Serial.println("recebido");

    Serial.println(loraSerial.readString());  

  delay(1000);

}

}





















5 - Custos


Equipamento 

Preço

Computador - Cpu Intel Core I5 8GB SSD 240GB

R$ 1.572,68

2x Arduino UNO

R$ 66,00

Push Button

R$ 0,40

Módulo Sensor Buzzer Campainha Alarme Ativo Arduino

R$ 13,49

Módulo GPS NEO-6 m

R$ 37,00

2x Módulo de RF LoRa Wireless 915 Mhz

R$ 150,00

Total

R$ 1.839,57


Considerando o computador já adquirido pela instituição, o preço esperado de cada dispositivo único 

é aproximadamente R$ 158,90 , enquanto da estação (que deve ser feita apenas uma vez) é estimado R$ 108,00.
















6 - Cronograma



Semana 1

(Dias 24 a 30)

Semana 2

(Dias 31 a 06)

Semana 3

(Dias 07 a 13)

Semana 4

(Dias 14 a 21)

Coleta de dados





Compra dos materiais





Programação





Montagem e testes






Apresentação 









8 - Resultados Finais


A construção do projeto seguiu todas as etapas esperadas no cronograma em tempo, os componentes chegaram, o grupo se reuniu e a montagem com a programação foram feitas e testadas.

Em prática, todo o projeto ocorreu como esperado, ao acionar os botões ele passava as informações de latitude e longitude para o outro módulo. 

Porém os resultados obtidos como um dispositivo de segurança não foram satisfatórios, uma vez que os modelos utilizados para construção apresentaram uma resposta lenta ao serem acionados, o GPS sem conexão à internet necessita da presença de ao menos 3 satélites para o sistema de triangulação funcionar, uma hipótese levantada é que o alcance do GPS utilizado pode ser reduzido por conta do modelo, assim em outros momentos ele não indica a posição, o que poderia deixar pessoas em situações de perigo quando necessitam de ajuda.

A efetividade do módulo LoRa não pode ser testada no local em que foi visado sua utilização, uma vez que ela depende de obstáculos físicos e ondas, e não foi possível acessar o campus na situação atual para verificar como seria sua resposta, em outros quesitos ele funcionou de forma satisfatória, fornecendo respostas com pouco atraso e de forma consistente.



9 - Anexos


Vídeo de explicação do projeto

https://youtu.be/39JS3HdwmZY


Datasheet modulo LoRa 

https://img.filipeflop.com/files/download/E32_User+Manual_EN_v1.00.pdf


Datasheet módulo GPS

https://www.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_(GPS.G6-HW-09005).pdf


Página do software

https://www.ebyte.com/data-download.html?page=2&id=37&cid=31#load


Biblioteca GPS

https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkhqZHVqVDVpc2NfZUtvc3dNSnljVHR0OFpId3xBQ3Jtc0ttYVNtcmtwN1RmSUVtV2JkeHdsRENLRWc5UnV4NGhoVzlnTXBnOVhmbUNIVHRFbHZMV1RWR2Z6QUpDYmJUNVYxaUIyWjU5WjVpYjVxQ2g4MlJCQVkxRzJZb1BTTzF5anlYajRVQ29NRmhXZ0xOeTMzUQ&q=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F0B91L9po09u35NU9UdXRBYS1OTXM%2Fview%3Fusp%3Dsharing


Resultados do questionário

https://docs.google.com/forms/d/15DRCazQp7twXv3LIPLrBdwWJ7hBF48tandcXmKuaKmg/edit?usp=sharing




















10 - Referências 


https://autocorerobotica.blog.br/aprenda-utilizar-o-modulo-gps-com-arduino/


https://www.filipeflop.com/blog/primeiros-passos-lora-com-arduino/


https://youtu.be/scOAzTiOes4


https://youtu.be/FizuHaatRAs


https://youtu.be/rTXIinShVpI