Primeiramente agradeço a oportunidade de poder estar participando de um local como esse, sou inexperiente nesse ramo e muito curioso.
Estou realizando um trabalho baseado no Arduino e Android onde pretendo realizar via WiFi algumas tarefas. Por exemplo, pretendo realizar uma função que permita ao usuário escolher um período de tempo entre minutos que deseja que a lâmpada fique acesa, ao passar o tempo específico, a mesma tem sua função encerrada apagando a lâmpada. Para tentar produzir esse projeto comecei a fazer alguns testes com o Display LCD, porém não consigo fazer isso...
Problemas encontrados:
- não consegui fazer o tempo ficar contabilizando automaticamente (em ambas as ordens crescente ou decrescente);
- ao desligar a lâmpada o tempo não zera e exibe somente o tempo em segundo fixo que a lâmpada foi acesa novamente.
Peço ajuda...
segue o código:
#include <LiquidCrystal.h> // Inclui a biblioteca LiquidCrystal
#define Luz_Fundo 7
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);// cria um objeto tipo LiquidCrystal chamado lcd
int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
lcd.begin (16,2);// Iniciando lcd como 2 linhas e 16 colunas
pinMode(Luz_Fundo, OUTPUT);// define o pino 7 como saída
digitalWrite(Luz_Fundo, HIGH); // Liga a luz do display
}
void loop() {
char caracter;
caracter = Serial.read();
//se pressionado "l" liga a lâmpada
if(caracter == 'l' || caracter == 'L')
{
lcd.setCursor (0,0); // seta o cursor para (coluna = 0, linha = 0)
lcd.print("Luz foi acionada a");
lcd.setCursor(0,1);// seta para linha 1
lcd.print(millis() / 1000); //escreve os segudos
lcd.print(" segundos atras");
digitalWrite(ledPin, HIGH);
}
//se pressionado "d" desliga a lâmpada
else if (caracter == 'd' || caracter =='D')
{
lcd.clear();
lcd.setCursor (0,0); // seta o cursor para (coluna = 0, linha = 0)
lcd.print(" Luz foi ");
lcd.setCursor (0,1); // seta o cursor para (coluna = 0, linha = 1)
lcd.print(" desativada ");
digitalWrite (ledPin, LOW);
}
delay(1000);
}
Tags:
Cara pegue os segundos e armazene em uma variavel. Quando voce carregar os segundos em uma variavel qualquer na hora de mostrar os segundos atraz você puxa a variavel.
Para seu programa ficar mais didatico e de melhor entendimento tenta separar bem as coisas e declarar as variaveis no inicio da programação, ficara mais facil.
Espero ter ajudado.!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por