Índice:
- Etapa 1: Coisas usadas neste projeto
- Etapa 2: História
- Etapa 3: Baixe os arquivos necessários
- Etapa 4: montar
- Etapa 5: Programa
- Etapa 6: torne-o portátil
- Etapa 7: Conclusão
- Etapa 8: Código
Vídeo: Exibição de data, hora e temperatura usando o XinaBox: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Tela OLED legal mostrando a data, hora e temperatura em Celsius e Fahrenheit usando Xinabox xChips baseado em ESP8266.
Etapa 1: Coisas usadas neste projeto
Componentes de hardware
- Programador XinaBox IP01 x 1 xChip USB baseado em FT232R da FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi Core baseado em ESP8266 Módulo Wi-Fi
- XinaBox SW01 x 1 xChip Sensor de temperatura, umidade e pressão atmosférica baseado no BME280 da Bosch.
- Display OLED XinaBox OD01 x 1 xChip 128x64 Pixel
- Fonte de alimentação XinaBox PU01 x 1 xChip USB (Tipo A)
- Conectores de barramento XinaBox XC10 x 1 xChip
- Fonte de alimentação USB 5V x 1
Aplicativos de software e serviços online
IDE Arduino
Etapa 2: História
Introdução
Construí este projeto para exibir a data, hora UCT e temperatura usando XinaBox xChips que usa o protocolo de barramento I2C. A hora foi recuperada de um servidor NTP do Google. A temperatura ambiente foi medida usando o SW01 xChip e foi exibida no display OLED OD01 xChip em Celsius e Fahrenheit. A imagem abaixo mostra o display OLED.
OLED exibindo data, hora e temperatura
Etapa 3: Baixe os arquivos necessários
Você precisará das seguintes bibliotecas e software para este projeto.
- Arduino IDE - Software de desenvolvimento no qual você irá codificar
- xSW01 - Biblioteca de sensores de temperatura
- xCore - Biblioteca principal para XinaBox xChips
- xOD01 - Biblioteca de exibição OLED.
- Fuso horário - Biblioteca para escolher seu fuso horário
- Tempo - Para usar funções de tempo
- NTPClient - permite que você obtenha o tempo de um servidor
- Você também precisará baixar a placa ESP8266 e seguir as instruções que a acompanham para que a placa seja instalada
Depois de fazer o download, você instalará o IDE e as bibliotecas. É bastante simples se você seguir as instruções.
Etapa 4: montar
Seu xChip principal que executará e processará o programa é o CW01. É baseado no módulo WiFi ESP8266 e usa o protocolo de barramento I2C. Para programar no CW01, você precisará de um xChip de programação. O IP01 nos permite programar o CW01 através da porta USB do nosso computador, simplesmente clicando nos dois xChips usando os conectores de barramento XC10 e inserindo-o na porta USB. Sem fiação e sem solda necessária. Uma coisa a ser observada é a orientação dos nomes de identificação do xChip. Eles devem ser todos orientados na mesma direção. Agora você deve ter a seguinte configuração.
Clique CW01 e IP01 juntos e insira-o na porta USB do seu computador
Se você estiver familiarizado com o xChips, poderá conectar todos os xChip usando os conectores de barramento XC10 que deseja usar para o seu projeto e, em seguida, inseri-los na porta USB. Usaremos o sensor de temperatura SW01 e o display OD01 OLED.
Você pode conectar todos os seus chips juntos e, em seguida, inseri-lo em sua porta USB
Etapa 5: Programa
Baixe ou copie e cole o código abaixo em seu IDE Arduino. Se você não estiver fazendo nenhuma alteração no código, basta inserir os detalhes do seu WiFi em seus respectivos campos, conforme mostrado abaixo. Insira também um servidor de horário NTP confiável. Usei um servidor de horário do Google para este projeto.
Detalhes de WiFi e servidor de horário NTP
Agora compile e faça upload. Certifique-se de ter selecionado a porta COM e a placa corretas no menu de ferramentas no IDE do Arduino. Depois de carregado, a hora, data e temperatura devem ser exibidos como abaixo.
Depois de fazer o upload, você deve ver o seguinte
Etapa 6: torne-o portátil
Agora você pode remover a unidade de sua porta USB e separar cada xChip simplesmente separando-os. Uma vez que a programação está completa, o IP01 não é mais necessário. Agora você pode conectar seu projeto da maneira que desejar, desde que os nomes de identificação estejam todos orientados na mesma direção. Para alimentar nossa unidade, usaremos o PU01. Isso nos permite alimentá-lo a partir de um banco de energia normal ou qualquer fonte de alimentação USB 5V. Eu conectei o meu como mostrado abaixo.
Assembléia final. Os xChips podem ser conectados da maneira que você desejar.
Etapa 7: Conclusão
Este projeto levará 20 minutos para ser concluído. Se você quiser a hora em sua localização, considere examinar o código de exemplo na biblioteca de fuso horário ou faça algumas operações aritméticas com a hora UTC. Nenhum fio foi usado e nenhuma solda foi necessária.
Etapa 8: Código
Date_Time_Temp.ino Arduino Simplesmente insira seus dados WiFi em seus respectivos campos e carregue para sua placa.
#include // inclui biblioteca central para XinaBox xCHIPS
#include // inclui a biblioteca de exibição OLED #include // inclui a biblioteca do sensor de temperatura #include // inclui a funcionalidade ESP8266WiFi #include // inclui as bibliotecas de tempo #include #include #include #include #include xSW01 SW01; // define as propriedades NTP #define ntpOffset 60 * 60 // em segundos #define ntpInterval 60 * 1000 // em milissegundos // insira um servidor de tempo ntp confiável entre as aspas // aqui, usei um servidor de tempo ntp do google # definir ntpAddress "time1.google.com" // configurar o cliente NTP UDP WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // variável de temperatura float tempC; // celsius float tempF; // fahrenheit // seus detalhes de wifi const char * wifi_ssid = "XinaBox"; // seu wi-fi ssid const char * wifi_pass = "RapidIoT"; // sua senha wifi // variável de data e hora String date; String clktime; // variáveis contendo dias e meses const char * days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; const char * months = {"Jan", "Feb", "Mar", "Abr", "May", "June", "July", "Ago", "Set", "Out", "Nov "," Dez "}; const char * ampm = {"AM", "PM"}; configuração vazia () {tempC = tempF = 0; // inicializa a temperatura para zero timeClient.begin (); // inicia o cliente NTP UDP // inicia a comunicação serial Serial.begin (115200); // inicia a comunicação i2c e define os pinos Wire.begin (2, 14); // inicia o sensor de temperatura SW01.begin (); // inicia o display OLED OLED.begin (); // limpa o display OLED OD01.clear (); // estabelece conexão wi-fi wifi_connect (); atraso (1000); } void loop () {// executa se a conexão wi-fi for estabelecida if (WiFi.status () == WL_CONNECTED) {SW01.poll (); // lê a temperatura tempC = SW01.getTempC (); // armazena a temperatura em celcius tempF = SW01.getTempF (); // armazena temp em fahrenheit date = ""; // limpar a variável de data clktime = ""; // limpar a variável de tempo // atualizar o cliente ntp e obter o timestamp utc unix timeClient.update (); epochTime longo sem sinal = timeClient.getEpochTime (); // converte o carimbo de data / hora recebido para o objeto time_t time_t utc; utc = epochTime; // hora utc TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; Fuso horário UTC (utcRule, utcRule); // formatar variáveis de tempo data + = dias [dia da semana (utc) - 1]; data + = ","; data + = meses [mês (utc) - 1]; data + = ""; data + = dia (utc); data + = ","; data + = ano (utc); // formatar a hora para o formato de 12 horas com AM / PM e sem segundos clktime + = hourFormat12 (utc); clktime + = ":"; if (minuto (utc)
Recomendado:
Interface do 8051 com DS1307 RTC e exibição do registro de data e hora no LCD: 5 etapas
Interface do 8051 com DS1307 RTC e exibição do registro de data e hora no LCD: Neste tutorial, explicamos como podemos fazer a interface do microcontrolador 8051 com o ds1307 RTC. Aqui estamos exibindo a hora RTC em lcd usando simulação proteus
Relógio da Internet: Exibir data e hora com um OLED usando ESP8266 NodeMCU com protocolo NTP: 6 etapas
Relógio da Internet: Exibir data e hora com um OLED usando ESP8266 NodeMCU com protocolo NTP: Oi pessoal, neste instructables vamos construir um relógio da internet que obterá o tempo da internet para que este projeto não precise de nenhum RTC para rodar, só vai precisar de um conexão de internet funcionando E para este projeto você precisa de um esp8266 que terá um
Plotagem / registro de data / hora do Arduino usando Millis () e PfodApp: 11 etapas
Arduino Date / Time Plotting / Logging usando Millis () e PfodApp: nenhuma programação Arduino ou Android necessária. Módulos RTC e GPS também são suportados. Correção automática para fusos horários, desvio de RTC e segundos bissextos perdidos de GPSIntrodução Este tutorial mostra como usar seu Arduino millis ( ) timestamps para plotar dados ag
Uma unidade de exibição de data, hora e temperatura fofa: 3 etapas
Uma unidade de exibição de data, hora e temperatura fofa: Olá amigos, neste instrutível, irei explicar o procedimento para fazer uma unidade de exibição de data, hora e temperatura atual usando um Arduino pro mini, um RTC e um display de oito dígitos e sete segmentos em uma unidade muito compacta, que é um devi útil
Temperatura de exibição no módulo de exibição de LED P10 usando Arduino: 3 etapas (com imagens)
Exibir temperatura no módulo P10 LED Display usando Arduino: No tutorial anterior foi dito como exibir texto no módulo Dot Matrix LED Display P10 usando Arduino e conector DMD, que você pode verificar aqui. Neste tutorial, daremos um tutorial de projeto simples, utilizando o módulo P10 como meio de exibição