{"id":5384,"date":"2020-05-16T09:58:47","date_gmt":"2020-05-16T12:58:47","guid":{"rendered":"https:\/\/www.usinainfo.com.br\/blog\/?p=5384"},"modified":"2020-05-16T10:00:12","modified_gmt":"2020-05-16T13:00:12","slug":"esp32-projeto-relogio-oled-com-protocolo-ntp","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/","title":{"rendered":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP"},"content":{"rendered":"<p>O ESP32 Projeto Rel\u00f3gio OLED \u00e9 um dispositivo que utiliza o Protocolo de Rede NTP para sincroniza\u00e7\u00e3o de dados e obten\u00e7\u00e3o de informa\u00e7\u00f5es de tempo, como por exemplo, o hor\u00e1rio que utilizaremos para o nosso rel\u00f3gio.<\/p>\n<div id=\"attachment_5392\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5392\" class=\"wp-image-5392\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-1024x768.jpg\" alt=\"ESP32 Projeto Rel\u00f3gio OLED\" width=\"600\" height=\"450\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-1024x768.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-300x225.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-768x576.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-322x242.jpg 322w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled-320x240.jpg 320w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg 1280w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-5392\" class=\"wp-caption-text\">ESP32 Projeto Rel\u00f3gio OLED<\/p><\/div>\n<p>Normalmente em projetos com Arduino utilizamos o tradicional M\u00f3dulo RTC (Rel\u00f3gio de Tempo Real) que nos possibilita um controle preciso do hor\u00e1rio, por\u00e9m com a possibilidade de termos um acesso \u00e0 internet, dispensamos a utiliza\u00e7\u00e3o deste m\u00f3dulo.<\/p>\n<p>Esta talvez seja uma grande vantagem deste protocolo, por\u00e9m como o M\u00f3dulo RTC precisa sempre de sua bateria para a manuten\u00e7\u00e3o dos dados em eventuais desligamentos, o ESP32 Projeto Rel\u00f3gio OLED tamb\u00e9m torna-se dependente da rede de internet para isto.<\/p>\n<p>No projeto iremos descobrir como acessar os dados do Servidor NTP usando o ESP32 atrav\u00e9s da IDE Arduino, assim como realizar a conex\u00e3o de um Display OLED junto ao mesmo para a impress\u00e3o dos dados obtidos.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>O que \u00e9 NTP?<\/strong><\/h2>\n<p>A sigla NTP vem do ingl\u00eas <em>Network Time Protocol<\/em> e \u00e9 traduzido de forma literal como Protocolo de Tempo para Rede, um protocolo padr\u00e3o para a sincroniza\u00e7\u00e3o dos computadores em um mesmo hor\u00e1rio com os dados obtidos de um IP externo.<\/p>\n<p>O protocolo NTP pode ser utilizado na sincroniza\u00e7\u00e3o de dispositivos em rede junto ao UTC (Tempo Universal Coordenado) dentro de alguns milissegundos. Por ser um padr\u00e3o de tempo mundial, intimamente relacionado ao GMT (Hor\u00e1rio M\u00e9dio de Greenwich), o UTC n\u00e3o varia, \u00e9 o mesmo em todo o mundo, o que muda \u00e9 o fuso, veja:<\/p>\n<div id=\"attachment_5388\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-UTC-fuso-hor\u00e1rio.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5388\" class=\"wp-image-5388\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-UTC-fuso-hor\u00e1rio.jpg\" alt=\"Tabela de UTC com Fuso Hor\u00e1rio Brasileiro do Protocolo NTP\" width=\"600\" height=\"264\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-UTC-fuso-hor\u00e1rio.jpg 737w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-UTC-fuso-hor\u00e1rio-300x132.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-5388\" class=\"wp-caption-text\">Tabela de UTC com Fuso Hor\u00e1rio Brasileiro do Protocolo NTP<\/p><\/div>\n<p>O NTP define os rel\u00f3gios para UTC e qualquer deslocamento no fuso hor\u00e1rio local ou deslocamento terrestre com sincroniza\u00e7\u00e3o de sinal faz com que as informa\u00e7\u00f5es sejam atualizadas, independentemente das diferen\u00e7as de localiza\u00e7\u00e3o e fuso hor\u00e1rio.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Como funciona a Arquitetura NTP?<\/strong><\/h3>\n<p>O Protocolo NTP usa uma arquitetura hier\u00e1rquica que pode ser constitu\u00edda por at\u00e9 16 n\u00edveis, sendo que cada n\u00edvel \u00e9 mundialmente conhecido como estrato. No topo desta constitui\u00e7\u00e3o hier\u00e1rquica est\u00e3o os dispositivos de estrato 0, os famosos rel\u00f3gios at\u00f4micos, respons\u00e1veis pela perfeita sincroniza\u00e7\u00e3o do tempo, uma esp\u00e9cie de rel\u00f3gio de hardware.<\/p>\n<div id=\"attachment_5386\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/modelo-de-arquitetura-NTP.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5386\" class=\"wp-image-5386\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/modelo-de-arquitetura-NTP.jpg\" alt=\"Modelo de Arquitetura NTP\" width=\"550\" height=\"388\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/modelo-de-arquitetura-NTP.jpg 794w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/modelo-de-arquitetura-NTP-300x212.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/modelo-de-arquitetura-NTP-768x542.jpg 768w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-5386\" class=\"wp-caption-text\">Modelo de Arquitetura NTP<\/p><\/div>\n<p>Ap\u00f3s feita a obten\u00e7\u00e3o dos dados pelos rel\u00f3gios de hardware do estrato 0 temos os servidores do estrato 1, respons\u00e1veis pelo recebimento e organiza\u00e7\u00e3o dos dados, consequentemente s\u00e3o os dispositivos com maior precis\u00e3o de tempo.<\/p>\n<p>Cada estrato na hierarquia \u00e9 sincronizado com o estrato acime e atua como servidor para estratos inferiores, por exemplo, o nosso ESP32 \u00e9 um estrato inferior da rede UDP (Protocolo de Datagrama do Usu\u00e1rio), possuindo um estrato semelhante ao do computador que utilizamos.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Display OLED 128&#215;64 \u2013 I2C<\/strong><\/h2>\n<p>O Display OLED \u00e9 a melhor op\u00e7\u00e3o para quem deseja incluir ao projeto um dispositivo com alta efici\u00eancia e resolu\u00e7\u00e3o gr\u00e1fica, um dispositivo como este garante ao ESP32 Projeto Rel\u00f3gio OLED a devida profissionalidade que procuramos.<\/p>\n<p>Seu pequeno, mas eficiente painel monocrom\u00e1tico disponibiliza um total de 128 pixels de largura e 64 pixels de altura, medindo 0,96\u201d (polegadas) de di\u00e2metro proporciona uma tela leg\u00edvel com alto contraste e ajuste preciso e de qualidade.<\/p>\n<div id=\"attachment_5391\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5391\" class=\"wp-image-5391\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-1024x768.jpg\" alt=\"Display OLED 128x64\" width=\"600\" height=\"450\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-1024x768.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-300x225.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-768x576.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-322x242.jpg 322w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1-320x240.jpg 320w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/display-oled-128x64-1.jpg 1280w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-5391\" class=\"wp-caption-text\">Display OLED 128&#215;64<\/p><\/div>\n<p>Como cada pixel ilumina-se individualmente, n\u00e3o \u00e9 necess\u00e1ria uma luz de fundo, o que reduz significativamente a energia necess\u00e1ria para executar o OLED, garantindo um \u00e2ngulo de vis\u00e3o extremamente alto e amplo com n\u00edveis profundos de preto.<\/p>\n<p><strong>Por que utilizar o Display OLED com o ESP32?<\/strong><\/p>\n<p>Um dos fatores que destaca a utiliza\u00e7\u00e3o em especial deste display com o ESP32 \u00e9 a sua tens\u00e3o de comunica\u00e7\u00e3o que \u00e9 de 1,65 a 3,3V, afinal de contas o ESP32 possui uma linguagem de comunica\u00e7\u00e3o tamb\u00e9m de 3,3V.<\/p>\n<p><strong>Existe modelos de Display OLED diferentes?<\/strong><\/p>\n<p>Sim, al\u00e9m deste modelo de display OLED que possui 4 pinos, dentre eles dois de comunica\u00e7\u00e3o I2C e dois para alimenta\u00e7\u00e3o, existe um modelo de Display SPI que conta com 6 pinos, quatro pinos para a comunica\u00e7\u00e3o SPI e dois para alimenta\u00e7\u00e3o.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>O que foi Utilizado no ESP32 Projeto Rel\u00f3gio OLED?<\/strong><\/h2>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/nodemcu\/nodemcu-esp32-iot-com-wifi-e-bluetooth-38-pinos-5346.html\" target=\"_blank\" rel=\"noopener noreferrer\">NodeMCU ESP32 Iot com WiFi e Bluetooth &#8211; 38 Pinos;<\/a><\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/cabo-usb\/cabo-micro-usb-12m-para-nodemcu-esp8266-esp32-arduino-leonardo-yun-micro-due-raspberry-pi-e-digispark-5396.html\" target=\"_blank\" rel=\"noopener noreferrer\">Cabo Micro USB 1,2m para Nodemcu ESP32;<\/a><\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/display-arduino\/display-oled-096-i2c-128x64-branco-para-arduino-5366.html\" target=\"_blank\" rel=\"noopener noreferrer\">Display OLED 0.96&#8243; I2C 128&#215;64;<\/a><\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/protoboard-e-jumpers\/protoboard-400-pontos-para-montagem-de-projetos-2323.html\" target=\"_blank\" rel=\"noopener noreferrer\">Protoboard 400 Pontos para Montagem de Projetos;<\/a><\/p>\n<p>4 <a href=\"https:\/\/www.usinainfo.com.br\/protoboard-e-jumpers\/jumper-para-protoboard-macho-macho-10cm-kit-c-40-pecas-5858.html\" target=\"_blank\" rel=\"noopener noreferrer\">Jumper para Protoboard Macho-Macho 10cm<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Esquema de Liga\u00e7\u00e3o do ESP32 Projeto Rel\u00f3gio OLED<\/strong><\/h2>\n<p>O esquema de liga\u00e7\u00e3o do ESP32 Projeto Rel\u00f3gio OLED \u00e9 extremamente simples uma vez que utiliza apenas dois pinos para a comunica\u00e7\u00e3o I2C e dois pinos para sua alimenta\u00e7\u00e3o, para melhor compreens\u00e3o segue abaixo uma tabela com o diagrama de pinos.<\/p>\n<div id=\"attachment_5387\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-de-pinos-esp32-projeto-rel\u00f3gio-oled.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5387\" class=\"wp-image-5387\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-de-pinos-esp32-projeto-rel\u00f3gio-oled.jpg\" alt=\"Esquema de pinos do ESP32\" width=\"300\" height=\"133\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-de-pinos-esp32-projeto-rel\u00f3gio-oled.jpg 324w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-de-pinos-esp32-projeto-rel\u00f3gio-oled-300x133.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/tabela-de-pinos-esp32-projeto-rel\u00f3gio-oled-322x144.jpg 322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-5387\" class=\"wp-caption-text\">Esquema de pinos do ESP32<\/p><\/div>\n<p>Al\u00e9m disto, disponibilizamos tamb\u00e9m o esquema de liga\u00e7\u00e3o completo com todos os componentes utilizados, veja:<\/p>\n<div id=\"attachment_5385\" style=\"width: 710px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb.jpg\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5385\" class=\"wp-image-5385\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb-1024x652.jpg\" alt=\"Esquema de Liga\u00e7\u00e3o ESP32 Projeto Rel\u00f3gio OLED\" width=\"700\" height=\"445\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb-1024x652.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb-300x191.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb-768x489.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esquema-de-liga\u00e7\u00e3o-esp32-projeto-rel\u00f3gio-oled_bb.jpg 1100w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><p id=\"caption-attachment-5385\" class=\"wp-caption-text\">Esquema de Liga\u00e7\u00e3o ESP32 Projeto Rel\u00f3gio OLED<\/p><\/div>\n<p>Como vemos, n\u00e3o existe segredo no esquema de liga\u00e7\u00e3o do produto e como estamos utilizando o protocolo NTP para capturar os dados de hor\u00e1rio, dispensamos a necessidade de um m\u00f3dulo RTC e assim simplificamos nosso projeto.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>C\u00f3digo de Funcionamento do ESP32 Projeto Rel\u00f3gio OLED<\/strong><\/h2>\n<p>Antes de darmos continuidade ao nosso ESP32 Projeto Rel\u00f3gio OLED precisamos nos certificar que a nossa IDE Arduino esteja pronto para a utiliza\u00e7\u00e3o deste dispositivo, caso voc\u00ea j\u00e1 o tenha utilizado antes, este procedimento n\u00e3o precisa ser realizado, por\u00e9m caso esteja utilizando o ESP32 pela primeira vez em seu computador, veja:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"6j8xU9bVx5\"><p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-tutorial-com-primeiros-passos\/\">ESP32 Tutorial com Primeiros Passos<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" title=\"&#8220;ESP32 Tutorial com Primeiros Passos&#8221; &#8212; Blog Usinainfo\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-tutorial-com-primeiros-passos\/embed\/#?secret=6j8xU9bVx5\" data-secret=\"6j8xU9bVx5\" width=\"600\" height=\"338\" style=\"border: none\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>Com o seu Arduino IDE pronto para programar o ESP32, vamos copiar o seguinte c\u00f3digo e fazer algumas altera\u00e7\u00f5es antes de carrega-lo em nosso microcontrolador. Ap\u00f3s o c\u00f3digo est\u00e3o especificadas as altera\u00e7\u00f5es necess\u00e1rias.<\/p>\n<pre class=\"lang:c# decode:true\">#include &lt;NTPClient.h&gt;\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;Adafruit_SSD1306.h&gt;\r\n\r\nconst char* ssid = \"NOME_DA_REDE\";\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Nome da rede Wi-Fi\r\nconst char* password = \"SENHA_DA_REDE\";\u00a0\u00a0\u00a0\u00a0 \/\/ Senha da rede Wi-Fi\r\n\r\n#define OLED_LARGURA 128 \/\/ N\u00famero de Pixels do display OLED (Largura)\r\n#define OLED_ALTURA 64 \/\/ N\u00famero de Pixels do display OLED (Altura)\r\n#define OLED_RESET\u00a0\u00a0\u00a0\u00a0 4 \/\/ Reset pin # (or -1 if sharing Arduino reset pin)\r\n\r\nAdafruit_SSD1306 display(OLED_LARGURA, OLED_ALTURA, &amp;Wire, OLED_RESET);\r\n\r\nWiFiUDP udp;\r\nNTPClient ntp(udp, \"a.st1.ntp.br\", -3 * 3600, 60000);\r\nString hora;\r\n\r\nvoid setup()\u00a0 {\r\n\u00a0 WiFi.begin(ssid, password);\r\n\u00a0 delay(2000);\r\n\u00a0 ntp.begin();\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0 ntp.forceUpdate();\r\n\r\n\u00a0 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);\r\n\u00a0 display.clearDisplay();\r\n}\r\n\r\nvoid loop() {\r\n\u00a0 hora = ntp.getFormattedTime();\r\n\r\n\u00a0 display.setTextSize(2);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Tamanho da fonte\r\n\u00a0 display.setTextColor(WHITE);\u00a0\u00a0\u00a0 \/\/ Cor da fonte\r\n\u00a0 display.setCursor(10,8);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Local de in\u00edcio do texto\r\n\u00a0 display.println(hora);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Vari\u00e1vel a ser imprimida\r\n\u00a0 display.display();\r\n\u00a0 delay(1000);\r\n\u00a0 display.clearDisplay();\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Limpa p display\r\n}<\/pre>\n<p>Como mencionado anteriormente, antes de iniciarmos o upload do c\u00f3digo \u00e9 necess\u00e1rio fazermos algumas altera\u00e7\u00f5es que ele funcione normalmente, dentre elas temos:<\/p>\n<p>&#8211; O nome da rede e a senha postos no c\u00f3digo est\u00e3o entre as aspas e precisam ser alterados de acordo com a rede Wi-Fi que ir\u00e1 utilizar para se conectar, ent\u00e3o deve trocar NOME_DA_REDE pelo nome da sua rede e SENHA_DA_REDE pela senha da mesma, abaixo as duas linhas que precisa alterar:<\/p>\n<pre class=\"lang:c# decode:true\">const char* ssid = \"NOME_DA_REDE\";\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ Nome da rede Wi-Fi\r\nconst char* password = \"SENHA_DA_REDE\";\u00a0\u00a0\u00a0\u00a0 \/\/ Senha da rede Wi-Fi<\/pre>\n<p>&#8211; O fuso hor\u00e1rio das regi\u00f5es do brasil podem se alterar assim como na tabela demonstrada acima, para isto verifique e altere se necess\u00e1rio, na regi\u00e3o em que me encontro o fuso \u00e9 -3, mas se for do estado de Roraima, por exemplo, deve alterar por -4, veja a linha em quest\u00e3o:<\/p>\n<pre class=\"lang:c# decode:true\">NTPClient ntp(udp, \"a.st1.ntp.br\", -3 * 3600, 60000);<\/pre>\n<p>Outros servidores NTP assim como um rel\u00f3gio conectado diretamente a um estrato 0 voc\u00ea encontra na p\u00e1gina oficial da NTP.br, para isto <a href=\"https:\/\/ntp.br\/\" target=\"_blank\" rel=\"noopener noreferrer\">CLIQUE AQUI<\/a>.<\/p>\n<p>Ap\u00f3s alteradas as informa\u00e7\u00f5es da rede Wi-Fi e verificado o fuso se de acordo com a sua regi\u00e3o, pode-se fazer o upload normalmente.<\/p>\n<p>Se tudo tiver dado certo, o seu ESP32 em instantes se conectar\u00e1 com a sua rede de internet Wi-Fi e j\u00e1 estar\u00e1 pronto para exibir o hor\u00e1rio exato do local ao qual foi programado. Caso o hor\u00e1rio n\u00e3o apare\u00e7a, \u00e9 porque o seu ESP n\u00e3o conseguiu se conectar com a internet ent\u00e3o veja o seu usu\u00e1rio e senha de rede se est\u00e1 correto.<\/p>\n<p>Caso o seu dispositivo carregue e o hor\u00e1rio exibido n\u00e3o esteja correto, \u00e9 poss\u00edvel que o seu microcontrolador tenha se conectado com a Internet, mas esta esteja sem sinal, ou seja, o dispositivo precisa se conectar com a internet e ela precisa estar funcionando normalmente.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Conclus\u00e3o<\/strong><\/h2>\n<p>O protocolo de comunica\u00e7\u00e3o NTP \u00e9 bastante \u00fatil para quem deseja desenvolver projeto com o ESP32 e precisam do acesso ao hor\u00e1rio para alguma coisa, como por exemplo, para quem deseja programar um rel\u00e9 para armar-se em algum hor\u00e1rio espec\u00edfico ou at\u00e9 mesmo para quem deseja fazer um sistema de cadastramento de dados com refer\u00eancia no tempo.<\/p>\n<p>Este m\u00e9todo torna-se extremamente pr\u00e1tico e funcional uma vez que elimina a necessidade de um m\u00f3dulo RTC e tamb\u00e9m simplifica o seu projeto, neste caso do ESP32 Projeto Rel\u00f3gio OLED, podemos incrementar adicionando um Buzzer e fazermos um despertador, por exemplo.<\/p>\n<p>Diversas possibilidades podem ser exploradas em conjunto com este protocolo de comunica\u00e7\u00e3o, at\u00e9 o desenvolvimento de um rel\u00f3gio internacional que exibe o fuso de diversos lugares do mundo, basta escolher a biblioteca certa para isto.<\/p>\n<p>Se voc\u00ea gostou, tem alguma sugest\u00e3o ou d\u00favida, n\u00e3o esque\u00e7a de deixar o seu coment\u00e1rio logo a baixo, espero que tenham gostado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O ESP32 Projeto Rel\u00f3gio OLED \u00e9 um dispositivo que utiliza o Protocolo de Rede NTP para sincroniza\u00e7\u00e3o de dados e obten\u00e7\u00e3o de informa\u00e7\u00f5es de tempo, como por exemplo, o hor\u00e1rio que utilizaremos para o nosso rel\u00f3gio. Normalmente em projetos com Arduino utilizamos o tradicional M\u00f3dulo RTC (Rel\u00f3gio de Tempo Real) que nos possibilita um controle preciso do hor\u00e1rio, por\u00e9m com a possibilidade de termos um acesso \u00e0 internet, dispensamos a utiliza\u00e7\u00e3o deste m\u00f3dulo. Esta talvez seja uma grande vantagem deste protocolo, por\u00e9m como o M\u00f3dulo RTC precisa sempre de sua bateria para a manuten\u00e7\u00e3o dos dados em eventuais desligamentos, o ESP32 Projeto Rel\u00f3gio OLED tamb\u00e9m torna-se dependente da rede de internet para isto. No projeto iremos descobrir como acessar os [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":5392,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-5384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp32"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP - Blog Usinainfo<\/title>\n<meta name=\"description\" content=\"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP , leia os melhores conte\u00fados de ESP32 no blog da Usinainfo. Encontre tudo sobre eletr\u00f4nica, automa\u00e7\u00e3o e arduino.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP - Blog Usinainfo\" \/>\n<meta property=\"og:description\" content=\"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP , leia os melhores conte\u00fados de ESP32 no blog da Usinainfo. Encontre tudo sobre eletr\u00f4nica, automa\u00e7\u00e3o e arduino.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-16T12:58:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-16T13:00:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"960\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matheus Gebert Straub\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matheus Gebert Straub\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP - Blog Usinainfo","description":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP , leia os melhores conte\u00fados de ESP32 no blog da Usinainfo. Encontre tudo sobre eletr\u00f4nica, automa\u00e7\u00e3o e arduino.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/","og_locale":"pt_BR","og_type":"article","og_title":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP - Blog Usinainfo","og_description":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP , leia os melhores conte\u00fados de ESP32 no blog da Usinainfo. Encontre tudo sobre eletr\u00f4nica, automa\u00e7\u00e3o e arduino.","og_url":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2020-05-16T12:58:47+00:00","article_modified_time":"2020-05-16T13:00:12+00:00","og_image":[{"width":1280,"height":960,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg","type":"image\/jpeg"}],"author":"Matheus Gebert Straub","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Matheus Gebert Straub","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/","url":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/","name":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP - Blog Usinainfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg","datePublished":"2020-05-16T12:58:47+00:00","dateModified":"2020-05-16T13:00:12+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/22905ec7c8d47a176b7c2320b66cd075"},"description":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP , leia os melhores conte\u00fados de ESP32 no blog da Usinainfo. Encontre tudo sobre eletr\u00f4nica, automa\u00e7\u00e3o e arduino.","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/05\/esp32-projeto-rel\u00f3gio-oled.jpg","width":1280,"height":960},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-relogio-oled-com-protocolo-ntp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"ESP32 Projeto Rel\u00f3gio OLED com Protocolo NTP"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/22905ec7c8d47a176b7c2320b66cd075","name":"Matheus Gebert Straub","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/04cea122706965cd2cb1d4f867fae66443684a4df025a4ba047491d6fad7c05e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/04cea122706965cd2cb1d4f867fae66443684a4df025a4ba047491d6fad7c05e?s=96&d=mm&r=g","caption":"Matheus Gebert Straub"},"description":"Mec\u00e2nico de Manuten\u00e7\u00e3o com Experi\u00eancia em Sistemas Embarcados, Automa\u00e7\u00e3o e Desenvolvimento de Projetos; Graduado nos Cursos de Matem\u00e1tica - URI e F\u00edsica - UFFS.","url":"https:\/\/www.usinainfo.com.br\/blog\/author\/matheus\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/5384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=5384"}],"version-history":[{"count":5,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/5384\/revisions"}],"predecessor-version":[{"id":5396,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/5384\/revisions\/5396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/5392"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=5384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=5384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=5384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}