Teno u Arduino UNO e estou tentando fazer  meu relogio  com data  calendario,mas anao estou conseguindo so da erro.Sou iniciiante nao  conheço nada algue pode me ajudar?  Agradeço

Exibições: 213

Responder esta

Respostas a este tópico

Olá Oliveira, tudo bem?

Qual o erro que aparece?

Sugiro que ANEXE o código (;ino ou .txt) para facilitar a compreensão. 

Caso você esteja usando mais alguma coisa além do arduino uno (módulo, ou circuitos externos), poste um esquema das suas ligações.

Abraços.

Ola .

Eu ja quero avisar que não conheço nada de Arduino programação. Estou tentando carregar um programinha de relogio com data ,eu carrego no Arduino UNO com aquele display I2C ai ele carrega ,antes faço aquela comparação  não aparece erros verificosese aparece erros.  Mas no Display I2C carrego o programa mas aparece uma frase depois fica assim

o Prograa é esse que peguei na internet.

#include <DS1307.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

const int RST = 5; // Chip Enable
const int DAT = 6; // Input/Output
const int CLK = 7; // Serial Clock

// Create a DS1307 object.
//DS1307 rtc(RST, DAT, CLK);

void setup() {
Serial.begin(9600);

// inicializa o LCD
lcd.init();
lcd.init();
lcd.backlight(); // (Opcional) Ativa a retroiluminação

// Apresenta a mensagem inicial no LCD
lcd.setCursor(2,0);
lcd.print("Oi pensa em...");
lcd.setCursor(5,1);
lcd.print("Subscrevam!");

delay(1000);
lcd.clear();

// Prepara o relógio e desativa a proteção contra a escrita
// rtc.halt(false);
//
//rtc.writeProtect(false);

// Cria um objeto com data e hora
// Time t(2023, 5, 16, 15, 35, 44, 7);

// Define a data e hora no chip. ATENÇÃO: Apenas deve ser executado caso nunca tenha sido definida antes
// rtc.time(t);
}

// Mostra a hora e data a cada segundo
void loop() {
mostraDataHora();
delay(1000);
}

//Procedimento que mostra no LCD (e monitor série) a data e hora atual
void mostraDataHora() {

// Obtém a data atual a partir do chip
//Time t = rtc.time();

// Chama função para receber o número da semana (3 primeiras letras)
// const String diaS = diaSemana(t.day);


// Coloca numa variável, a data (no formato "##-##-#### (DIA)")
char data[17];
// snprintf(data, sizeof(data), "%02d-%02d-%04d (%s)", t.date, t.mon, t.yr, diaS.c_str());
// Coloca numa variável, a hora (no formato "##:##:##")
char hora[9];
// snprintf(hora, sizeof(hora), "%02d:%02d:%02d",t.hr, t.min, t.sec);

// Mostra a data e hora no LCD
lcd.setCursor(0,0);
lcd.print(data);
lcd.setCursor(0,1);
lcd.print(hora);

// Mostra a data e hora no monitor série
Serial.println(data);
Serial.println(hora);
}

//Função que devovde o dia da semana a partir de número (1=domingo, etc...)
String diaSemana(const int dia) {
switch (dia) {
case 1: return "DOM";
case 2: return "SEG";
case 3: return "TER";
case 4: return "QUA";
case 5: return "QUI";
case 6: return "SEX";
case 7: return "SAB";
}
}

Anexos

Olá Oliveira. 

Quando peço para você postar um esquema das ligações, não é para você bater uma foto do seu trabalho, pois é muito difícil compreender a prototipagem devido a poluição visual (jumpers, por exemplo).

O esquema pode ser bem simples, não precisa de nada complexo. Veja a imagem a seguir, ela representa um arduino ligado em série com um resistor e um led:

Foi feito no Paint. A ideia é deixar claro qual está sendo a sua ligação.

Com relação ao código, não cole-o na postagem, anexe no formato .ino (arquivo da arduino IDE), ou em .txt (bloco de notas), ou ainda você pode coloca-lo no pastebin ( pastebin.com ) e fornecer o link.

O principal motivo, é que os tópicos tem limites de caracteres, então é muito comum o código ficar errado ou limitado, além de ficar visualmente cansativo de ler.

Desculpe não sabia .

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço