Então quero ver se eu consigo ajuda nessa parte, não sei se estou no lugar certo, mas me pareceu correto postar aqui.
Meu problema é:
Vou utilizar de um relogio no arduino, que conte do zero, ou seja eu ligo ele começa contar segundo e minutos no formato de um relógio (00:00), no código ele usa os seguintes textos:
#include <Time.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
}
void loop(){
digitalClockDisplay();
delay(1000);
}
void digitalClockDisplay(){
lcd.setCursor(0, 0);
lcd.print(minute());
printDigits(second());
}
void printDigits(int digits){
lcd.print(":");
if(digits < 10)
lcd.print('0');
lcd.print(digits);
}
mas no MEU programa eu tenho um código no loop então eu não posso usar delay! Já tentei algo similar ao Blink Without delay e não funcionou direito, ele deixou o numero do minuto em branco e o segundos funcionaram normalmente.
Alguem tem alguma idéia de como posso solucionar isso???
Obrigado!
Tags:
As respostas para este tópico estão encerradas.
cara, da uma olhada nesses comandos:
millis
micros
Victor
Dá uma olhada no tópico que eu postei faz um bom tempo.
http://labdegaragem.com/forum/topics/multitarefa-para?commentId=622...
Sempre uso qdo quero fazer as coisas sem delay, aliás, quase nunca uso delay.
Abraços
unsigned int ultimaVezClockDisplay = 0 ;
void loop(){
unsigned int currentMillis = millis() ;
if (currentMillis - ultimaVezClockDisplay > 1000) //delay(1000);
{
digitalClockDisplay();
ultimaVezClockDisplay = currentMillis ;
}
// Seu codigo que esta no loop entra aqui.
// ...
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por