Baixe o app para aproveitar ainda mais
Prévia do material em texto
Diretoria de elétrica Relatório de projeto GPS Caio Heitor Barz Molinari Julho / 2019 1 Sumário 1. Objetivos ....................................................................................................................................................................... 2 2. Viabilidade técnica .................................................................................................................................................... 2 2.1. Funcionamento .................................................................................................................................................. 2 3. Plotando no Google MyMaps ................................................................................................................................ 4 4. Conclusão ..................................................................................................................................................................... 5 5. Referências ................................................................................................................................................................... 6 6. Apêndices ..................................................................................................................................................................... 7 6.1. Apêndice I- Código em arduino para o GPS ........................................................................................... 7 6.2. Apêndice II- plotando dados no MyMaps ................................................................................................ 9 2 1. Objetivos O objetivo do projeto é implementar um módulo GPS com arduíno a fim de obter os pontos pelos quais o carro passa a fim de relacionar os aspectos do trajeto com as demais condições do carro. 2. Viabilidade técnica Os materiais utilizados para a utilização são consideravelmente acessíveis, foram usados um arduíno e um módulo GPS Neo-6M. 2.1. Funcionamento O GPS se baseia em sentenças de dados chamadas sentenças NMEA como na imagem 1. 3 Figure 1- sentenças NMEA Cada sentença dessas corresponde a uma classe de informação definida na biblioteca Tiny GPS++. Por sua vez, cada palavra dessas sentenças representa um dado oferecido pelo módulo GPS, seja altura, velocidade, horário e etc. A conexão com o arduíno é bastante simples como na figura 2, o módulo é alimentado por uma tensão de 5V e é conectado ao GND, além disso, usam-se apenas dois pinos de dados, sendo que os pinos RX e TX do GPS devem corresponder aos pinos TX e RX do arduíno respectivamente. Figure 2- conexão módulo GPS arduíno 4 O código utilizado é igualmente simples (ver apêndice I), pois trata-se de um código na linguagem própria do Arduino e que tem como propósito meramente exibir os dados coletados pelo módulo. É interessante pesquisar a respeito da biblioteca utilizada para se aprofundar nas ferramentas que ela tem a oferecer. O objetivo final é salvar esses dados em um cartão SD e posteriormente os plotar. 3. Plotando no Google MyMaps A ferramenta escolhida para visualização dos dados obtidos foi o Google MyMaps como mostrado na figura 3, o software é bastante simples, não contém recursos tão diversos quanto Figure 3- plot com todos os pontos obtido em um trajeto arbitrário 5 o Google Earth, por exemplo, porém tem um plot eficiente. Para construir o trajeto, deve-se fornecer a matriz de dados do módulo em um dos inúmeros formatos disponíveis na ferramenta. Informações mais detalhadas se encontram no apêndice II. 4. Conclusão A utilização do módulo GPS não é complexa, seu código e conexões são bastante acessíveis; ao mesmo tempo em que se caracteriza pela sua simplicidade, o módulo GPS é uma ferramenta poderosa que pode ter diversas aplicações. Figure 4- plot final 6 5. Referências http://www.toptechboy.com/arduino-lessons/ - código fonte e como utilizar o módulo http://arduiniana.org/libraries/tinygpsplus/ - descrição da biblioteca. 7 6. Apêndices 6.1. Apêndice I- Código em arduino para o GPS Esse código se baseou no código encontrado no site http://www.toptechboy.com/arduino- lessons/ que também conta com vídeos explicativos a respeito desse e de diversos outros temas. #include <TinyGPS++.h> #include <SoftwareSerial.h> #include <SPI.h> static const int RXPin = 4, TXPin = 3; static const uint32_t GPSBaud = 9600; // The TinyGPS++ object TinyGPSPlus gps; // The serial connection to the GPS device SoftwareSerial ss(RXPin, TXPin); void setup(){ Serial.begin(9600); 8 ss.begin(GPSBaud); } TinyGPSCustom height(gps,"GPGGA", 9); //isso permite coletar uma palavra específica dos dados raw do gps (sentenças NMEA) void loop(){ // This sketch displays information every time a new sentence is correctly encoded. while (ss.available() > 0){ gps.encode(ss.read()); if (gps.location.isUpdated()){ // Number of satellites in use (u32) Serial.print("Number os satellites in use = "); Serial.println(gps.satellites.value()); // Raw time in HHMMSSCC format (u32) Serial.print("Raw time in HHMMSSCC = "); Serial.println(gps.time.value()); // Speed in meters per second (double) Serial.print("Speed in m/s = "); Serial.println(gps.speed.mps()); // Speed in kilometers per hour (double) Serial.print("Speed in km/h = "); Serial.println(gps.speed.kmph()); Serial.print(" Longitude="); Serial.println(gps.location.lng(), 6); Serial.print("Latitude="); Serial.println(gps.location.lat(), 6); delay(900); Serial.print("altitude="); Serial.println(height.value()); } } } 9 6.2. Apêndice II- plotando dados no MyMaps Obs.: essa explicação também se encontra no drive USANDO O COOLTERM: Para que o programa execute sua função de forma apropriada, devem-se seguir os seguintes passos iniciais: 1. Configurações iniciais: Options-> Definir corretamente a porta de operação->DTR e RTS off. 2. Início da gravação: Connection-> Capture to .txt-> Start (obs.: apenas uma serial pode estar ativa por vez, dessa forma deve-se fechar a serial do arduino). 3. Fim da gravação: Connection-> Capture to .txt-> Stop-> Disconnect-> Clear Data PLOT: 1. A serial do arduino e o coolterm utilizam a mesma serial, isto é, o que aparecer na serial do primeiro será o conteúdo posteriormente gravado no coolterm, portanto os prints na serial devem-se adequar a proposta de armazenamento dos dados. 2. O mymaps opera apenas em termos das latitudes e longitudes dos pontos, isso justifica a falta de outros dados também fornecidos pelo GPS. 3. Ao criar um novo mapa, deve-seimportar o arquivo .csv e definir qualitativamente o que cada coluna significa, isto é, qual representa a latitude e qual representa a longitude baseado no código fonte. Para mais informações sobre o plot e customizações do mapa: https://www.techtudo.com.br/dicas-e- 10 tutoriais/noticia/2014/09/como-usar-o-my-maps-para-criar-mapas-pessoais-e-guias- de-viagem.html.
Compartilhar