/
/
Relógio com ESP8266 e Display OLED

Relógio com ESP8266 e Display OLED

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-relogio-oled-esp8266-capa

Introdução

Nesse projeto, vamos aprender a fazer um relógio que ajusta as horas automaticamente. Para isso, utilizaremos um Display OLED e um NodeMCU ESP12E, que usará o protocolo NTP.

O que é NTP

A sigla NTP significa "Network Time Protocol". Este protocolo serve para a sincronização dos relógios dos computadores baseados no protocolo UDP sob a porta 123. É utilizado para sincronização do relógio de um conjunto de computadores e dispositivos em uma redes de dados com latência variável.

Materiais Necessários para o Projeto Relógio com ESP8266 e Display OLED

cta_cart

Montagem do Projeto

Código

#include <Wire.h>
#include "SSD1306Wire.h"

SSD1306Wire  display(0x3c, D5, D6);
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "Nome da sua rede WIFI"
#define STAPSK  "Senha da sua rede WIFI"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

WiFiUDP udp;
NTPClient ntp(udp, "b.ntp.br" , -3 * 3600, 60000); // mude o fuso horário de acordo com a região onde você está


String hora;//armazena as horas

void setup()
{
   Serial.begin(115200);
   display.init();
   display.flipScreenVertically();


  Serial.println();
  Serial.println();
  Serial.print(F("Connecting to "));
  Serial.println(ssid);

   WiFi.mode(WIFI_STA);
   WiFi.begin(ssid, password);//Conecta ao WiFi.
   delay(2000);//Espera a conexão.
   
   while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(F("."));
  }
  Serial.println();
  Serial.println(F("WiFi connected"));




   ntp.begin();
   ntp.forceUpdate();
}

 void telainicial()
{
  //limpa o display
  display.clear();
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  
  display.setFont(ArialMT_Plain_16);//escolhe a fonte 
  display.drawString(63, 26, hora); // escreve as horas no diplay
  display.display();
}


void loop()
{
   hora = ntp.getFormattedTime();
   Serial.println(hora);

 telainicial();
  

   delay(1000);
}

Bibliotecas

Você vai precisar das bibliotecas: SSD1306Wire.h NTPClient.h

Configurações Finais

Em

#ifndef STASSID
#define STASSID "Nome da sua rede WIFI"
#define STAPSK  "Senha da sua rede WIFI"
#endif
Lembre-se de colocar o nome e a senha exatos da sua rede WiFi. Fusos Horários: Em
WiFiUDP udp;
NTPClient ntp(udp, "b.ntp.br" , -3 * 3600, 60000); 
Mude o "-3" de acordo com o seu fuso horário.
Fonte: TodaMatéria

Sobre o Autor


Arthur Almeida

Estudante do Ensino médio , aficionado por criar novos projetos eletrônicos e automações, principalmente com o Arduino. No meu tempo livre eu gosto de pesquisar sobre novas tecnologias e tento criar projetos com elas.

Já pensou em fazer um relógio que ajusta as horas automaticamente? Se sim, esse post é pra você.

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *