Ir ao conteúdo
  • Cadastre-se

C código do arduino nao reconhece minutos...


Posts recomendados

pessoal estou usando esse codigo para controlar o pwm.  

ex: 

  EEPROM.write(2,200 ); 
  }else if(horas == 21){
  EEPROM.write(2,170 ); 
  }else if(horas == 21 && minutos == 30){

na parte que uso a hora para mudar o pwm ele muda beleza, mas quando acrescento minutos ele nao muda, so muda pra hora seguinte. alguem poderia me ajudar ?   todo o codigo esta no arquivo.

codigo.txt

  • Amei 1
Link para o comentário
Compartilhar em outros sites

1.			EEPROM.write (2, 200); 
2. }else if (horas == 21){
3.			EEPROM.write (2, 170); 
4. }else if (horas == 21 && minutos == 30){

Para todas horas == 21, a proposição na linha 2. será sempre verdade, disso jamais a condições na linha 4. será executada!

adicionado 1 minuto depois

Dúvidas, críticas e perguntas?

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Jardiel Nascimento disse:

Mas se chegar às 21: 30, a segunda linha não vai ser mais verdade, então se tornando a 4 linha como verdade

Não, porque horas também tem 21 nessa situação.

 

3 minutos atrás, Jardiel Nascimento disse:

Se não,  como eu teria que fazer pra executar a 4 linha, depois da segunda? 

1.			EEPROM.write (2, 200); 
2. }else if (horas == 21 && minutos != 30){
3.			EEPROM.write (2, 170); 
4. }else if (horas == 21 && minutos == 30){

 

adicionado 3 minutos depois

Em especial todo instante em que horas tem 21, e minutos tem 30 a linha 4 será executada. 

Link para o comentário
Compartilhar em outros sites

Vou testar aqui, Agradeço a ajuda.

adicionado 25 minutos depois

Testei aqui e não funcionou.

Vou tentar explicar o que eu estou fazendo. Estou querendo controlar um led com o pwm, ex: 9:00 quero que ele esteja com o sinal do pwm em 100, 9:30 quero que ele fique com 255 do pwm. Ele faz isso se eu usar só a hora, mas quando eu coloco pra fazer com o minutos ele não muda. 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Jardiel Nascimento disse:

Estou querendo controlar um led com o pwm, ex: 9:00 quero que ele esteja com o sinal do pwm em 100, 9:30 quero que ele fique com 255 do pwm. Ele faz isso se eu usar só a hora, mas quando eu coloco pra fazer com o minutos ele não muda. 

 

Temos então um intervalo fechado que vai de 9 à 9:59, disso vem:

          Enquanto horas tem 9, e minutos tem < 30: O pwm é 100.

          Enquanto horas tem 9, e minutos tem 30+:  O pwm é 255.

 

Código C:

1. }else if (horas == 21 && minutos <  30){
2.			EEPROM.write (2, 100); 
3. }else if (horas == 21 && minutos >= 30){
4.			EEPROM.write (2, 255); 
5. }

1. No intervalo de 9:00 a 9:29, pino 2 tem pwm 100.

3. No intervalo de 9:30 a 9:59, pino 2 tem pwm 255.

Fora e dentro desse intervalo ]9:00, 9:59[ vai depender do resto da implementação na sketch .

 

 

 

Dúvidas, críticas e perguntas?

Ps.: 9 PM ~ 21 H

 

 

adicionado 3 minutos depois

Tive que editar alguns detalhes!

adicionado 16 minutos depois
16 minutos atrás, AnsiC disse:

Ele faz isso se eu usar só a hora, mas quando eu coloco pra fazer com o minutos ele não muda. 

Verifique se a variável minuto tem os valores certos.

Link para o comentário
Compartilhar em outros sites

São dois valores estranhos para hora: 18:43:8

Conforme na sketch, não existe instante para que tenha 26 no canal 0, no mesmo horário (18H) está conforme observei no código C:

18 < horas < 19:

           canal 0 ←   90 ← Pino 5 ← led   ← Valor   PWM

           canal 2 ← 110 ← Pino 6 ← led2 ← Valor2 PWM

 

 

Ps.: o porquê do acesso da memória  EEPROM resultar em valores incompatíveis ao previsível, isso realmente não consigo ver nas informações da sketch: tanto no arquivo quando na imagem.

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...