Olá.

Estou programando Um RTCDS1307 com arduino UNO, para calcular a soma de datas. Veja o código que deu certo:

Em Anexo 'Teste'.

Agora, quero implementar ao código, especificamente na ultima função calculoFuturo. Quero que, quando um botão( 'botao seleciona'') for clicado, vá inclementando de 0 a 9 para que quando o valor desejado estiver correto, com outro botão('botao OK') o arduino mande este número para a variavel, por exemplo, Ndia. Tambem queria com um terceiro botão para selecionar se quero uma destas variaveis: Ndia,Nhora,Nminuto,Nsegundo. Estero que tenham compreendido. Desde já agradeço.

Exibições: 110

Anexos

Responder esta

Respostas a este tópico

Boa noite MSG,  (se não gosta que te chame pelas iniciais, avise),

não entendi a sua dificuldade.

Faça um descrição do fluxo de como deve ser o uso.

RV

Pode me chamar de MSG. [não entendi a sua dificuldade.]: É que não tenho muita esperiência com programação.

Boa tarde MSG,

não questionei a programação.

Não entendi a sua descrição da dificuldade.

Ou seja não sei como você quer que este seu projeto funcione.

RV

Fiz um fluxograma para explicar o modo como funcione. Em anexo.

Fluxograma.docx

Daqui a pouco o Rui aparece aqui e te dá o código pronto, mas eu vou te dar uma ideia do que fazer, (como eu faço nesses casos).

Crie uma variável de índice, por exemplo id;

Use o botão seleciona para incrementar esse índice:

if(digitalRead(botao_seleciona)) id ++;

Estabeleça um limite para o tamanho da variável dependendo do número de ajustes que precisa fazer (dia, hora, minuto, segundo => 4 itens);

Criei uma lógica circular;

if(id>3)id=0;

if(id<0)id=3;

Então, dependendo do número do índice que estiver selecionado, você incremente o valor da variável especificada;

if(id==0){

  if(digitalRead(botao_incremento))Ndia++;   //para ajustar o dia

}

if(id==1){

  if(digitalRead(botao_incremento))Nhora++;   //para ajustar a hora

}

if(id==2){

  if(digitalRead(botao_incremento))Nminuto++;   //para ajustar o minuto

}

.

.

.

.

E assim por diante.

É só um norte para você começar.

kkkkkkkkkkkkkkkkkkkkkkk

Estou montando um código. Quando estiver pronto irei postar.

Vamos lá.

seu "fluxograma" não ajudou.

Voce disse:

" Quero que, quando um botão( 'botao seleciona'') for clicado, vá inclementando de 0 a 9 para que quando o valor desejado estiver correto, "

O que é um valor correto?

" Tambem queria com um terceiro botão para selecionar se quero uma destas variaveis: Ndia,Nhora,Nminuto,Nsegundo. "

O que é querer uma variável?

RV

Tenh uma dúvida: como fazer concatenação de duas variaveis int, como por exemplo:

int x = 45;

int y = 54;

CONCATENAR x e y:

z= 4554

Boa noite MSG,

aritmética básica:

int x = 45;

int y = 54;

z = (x *100) + y   = 4554.

RV

E se eu pegar uma string juntar as variaveis e depois converter novamente para int?:

String qq;

int x = 45;
int y = 50;
int result;


void setup() {
lcd.init(); // Inicia o Display
lcd.backlight(); // Inicia o Backlight
qq.concat(x);
qq.concat(y);

lcd.cursorBlink();
lcd.setCursor(0,0);
lcd.print("Concatenacao");
lcd.setCursor(0,1);
lcd.print(qq);
delay(7000);
//união concatenar

result = qq.toInt() + 60 ;
lcd.setCursor(0,0);
lcd.print("Calculo ");
lcd.setCursor(0,1);
lcd.print(result);
delay(7000);
}

Olá Pessoal do Laboratório de Garagem. Desculpem-me pela demora, pois estava com problemas na internet. Eu fiz um Sistema de Menu para LCD, que é adaptável para cada projeto. Este Menu já possui três telas:

  • Tela Inicial: mostrada quando é iniciado o LCD;
  • Tela de Data e Hora: mostra a Data e a Hora;
  • Tela de Ajuste: nesta tela é possível ajustar cada parâmetro individualmente: ano, mês, dia, hora, minuto, segundo.

Hardware:

O hardware é composto por quatro botões com pull_up interno, declarado pela programação, um LCD 16x2 com módul conversor I2C integrado, e o próprio Arduino UNO.

Os botões são:

  • Botão MENU: Tem a função de quando em outra tela, voltar para a principal.
  • Botão +: Tem a função de incrementar ++.
  • Botão -: Tem a função de incrementar --.
  • Botão OK: Tem a função de confirmar alguma tela, ou configuração selecionada.

 

Software:

O software está em anexo.Ajuste_Data_e_Hora_por_Botao_Menu_LCD.rar

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço