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.
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.
#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); }
Você vai precisar das bibliotecas:
SSD1306Wire.h
NTPClient.h
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
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!