0% acharam este documento útil (0 voto)
31 visualizações5 páginas

Arduino GPS

O documento descreve o uso de um display OLED de 128x64 pixels conectado a um Arduino. Ele mostra como imprimir texto, números, caracteres e desenhar formas geométricas como linhas, retângulos, círculos e triângulos no display. Além disso, explica como movimentar o texto na tela e inverter as cores.

Enviado por

Lapatech
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
31 visualizações5 páginas

Arduino GPS

O documento descreve o uso de um display OLED de 128x64 pixels conectado a um Arduino. Ele mostra como imprimir texto, números, caracteres e desenhar formas geométricas como linhas, retângulos, círculos e triângulos no display. Além disso, explica como movimentar o texto na tela e inverter as cores.

Enviado por

Lapatech
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 5

#include <SD.

h>
#include <SPI.h>
#include <SoftwareSerial.h>
#include <TinyGPS.h>

SoftwareSerial SerialGPS(4,3);

TinyGPS GPS;
File myFile;

bool controle = 0;
float lat, lon, vel;
unsigned long data, hora;
unsigned short sat;
byte pinoCS = 10; //Pin 10 para Nano/UNO

#define INICIA 9
#define TERMINA 5
#define LEDVERMELHO 2

void setup() {

[Link](9600);
[Link](9600);

[Link]("Buscando satelites...");

pinMode(pinoCS, OUTPUT); //Define o pinoSS como saida


pinMode(LEDVERMELHO, OUTPUT);

if ([Link]())//Inicializa o SD Card
{
[Link]("SD Card pronto para uso."); //Imprime na tela
}
else
{
[Link]("Falha na inicialização do SD Card.");
return;
}
}

void loop()
{

bool BotaoInicia = digitalRead(INICIA);


bool BotaoTermina = digitalRead(TERMINA);

if(BotaoInicia == 1)
{
controle = 1;
myFile = [Link]("[Link]", FILE_WRITE); //Cria e abre o arquivo
delay(1000);

[Link]("Latitude");
[Link](" Longitude");
}
if(BotaoTermina == 1)
{
controle = 0;
[Link]();
digitalWrite(LEDVERMELHO, LOW);
}

if(controle == 1)
{
while ([Link]())
{
if ([Link]([Link]()))
{
digitalWrite(LEDVERMELHO, HIGH);

//latitude e longitude
GPS.f_get_position(&lat, &lon);

[Link](lat , 6);
[Link](lon, 6);
delay(60000);
}
}
}
void setup()
{
// Inicializa com o I2C addr 0x3C
[Link](SSD1306_SWITCHCAPVCC, 0x3C);
}
void loop() {
// Limpa o display
[Link]();
// Texto no display
[Link](1); // Fonte do texto
[Link](WHITE); // Cor do texto
[Link](0,28); // Posiciona o cursor
[Link]("Display OLED"); // Imprime mensagem
[Link]();
delay(2000);
[Link]();
// Mudar a fonte
[Link](&FreeSerif12pt7b); // Muda a fonte
[Link](1);
[Link](WHITE);
[Link](0,38);
[Link]("OLED");
[Link]();
delay(2000);
[Link]();
[Link](); // Retorna para a fonte normal
// Texto invertido no display
[Link](BLACK, WHITE); // Cores do texto 'invertido'
[Link](0,28);
[Link]("Display OLED");
[Link]();
delay(2000);
[Link]();
// Muda o tamanho da fonte
[Link](WHITE);
[Link](0,20);
[Link](3); // Tamanho da fonte: 3
[Link]("Arduino");
[Link]();
delay(2000);
[Link]();
// Números no display
[Link](2);
[Link](0,24);
[Link](314159265); // Números
[Link]();
delay(2000);
[Link]();
// Imprime caractteres ASCII no display
[Link](0,10);
[Link](3);
[Link](1); // Caracter ASCII
[Link](20,10);
[Link](2);
[Link](40,10);
[Link](3);
[Link](60,10);
[Link](4);
[Link](80,10);
[Link](5);
[Link](100,10);
[Link](6);
[Link](0,35);
[Link](7);
[Link](20,35);
[Link](8);
[Link](40,35);
[Link](9);
[Link](60,35);
[Link](11);
[Link](80,35);
[Link](12);
[Link](100,35);
[Link](14);
[Link]();
delay(4000);
[Link]();
// Movimenta o texto sobre a tela
[Link](0,20);
[Link](1);
[Link]("Texto");
[Link]("em");
[Link]("movimento!");
[Link]();
[Link](0x00, 0x0f); // Movimenta texto para a direita
delay(7000);
[Link]();
delay(1000);
[Link](0x00, 0x0f); // Movimenta texto para a esquerda
delay(7000);
[Link]();
delay(1000);
[Link]();
delay(500);
//---------------------------------------------------------------------------------
--------------------------
// Pixel
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Pixel");
[Link](64, 32, WHITE); // Pixel: Coordenada X, coordenada Y, cor
[Link]();
delay(2000);
[Link]();
// Linha
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Linha");
[Link](0, 20, 127, 60, WHITE); // Linha: Coordenada x e y do começo da
linha, coordenada x e y do final da linha, cor
[Link]();
delay(2000);
[Link]();
// Retângulo
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Retangulo");
[Link](0, 17, 60, 40, WHITE); // Retângulo vazio: Coordenada X,
coordenada Y, largura, altura e cor
[Link](64, 17, 60, 40, WHITE); // Retângulo cheio: Coordenada X,
coordenada Y, largura, altura e cor
[Link]();
delay(2000);
[Link]();
// Retângulo com borda arredondada
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Borda arredondada");
[Link](0, 17, 60, 40, 8, WHITE); // Retângulo com borda
arredondada: mesmos parâmetros do retângulo
[Link](64, 17, 60, 40, 8, WHITE); // Retângulo com borda
arredondada cheio: mesmos parâmetros do retângulo
[Link]();
delay(2000);
[Link]();
// Círculo
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Circulo");
[Link](20, 37, 20, WHITE); // Círculo: Coordenada X do centro,
coordenada Y do centro, raio e cor
[Link](84, 37, 20, WHITE); // Círculo cheio: Coordenada X do centro,
coordenada Y do centro, raio e cor
[Link]();
delay(2000);
[Link]();
// Triângulo
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Triangulo");
[Link](30, 17, 0, 62, 60, 62, WHITE); // Triângulo: Pares de
coordenadas X e Y nos vértices do topo, a esquerda e a direita, e por fim, a cor do
triângulo
[Link](94, 17, 64, 62, 124, 62, WHITE); // Triângulo cheio: Pares
de coordenadas X e Y nos vértices do topo, a esquerda e a direita, e por fim, a cor
do triângulo
[Link]();
delay(2000);
[Link]();
// Cores invertidas
[Link](true);
[Link](1);
[Link](WHITE);
[Link](0,0);
[Link]("Invertido");
[Link](30, 37, 20, WHITE); // Círculo: Coordenada X do centro,
coordenada Y do centro, raio e cor
[Link](64, 17, 60, 40, 8, WHITE); // Retângulo com borda
arredondada cheio: mesmos parâmetros do retângulo
[Link]();
delay(3000);
[Link]();
[Link](false);
}

Você também pode gostar