Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Jardiel Nascimento

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

Recommended Posts

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

Editado por Simon Viegas
Inserir tag CODE
  • Amei 1

Compartilhar este post


Link para o post
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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 seria assim? Se não,  como eu teria que fazer pra executar a 4 linha, depois da segunda? 

Compartilhar este post


Link para o post
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. 

Compartilhar este post


Link para o post
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. 

Compartilhar este post


Link para o post
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.

Editado por AnsiC
Ps.
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, Jardiel Nascimento disse:

Deu certo AnsiC, obrigado pela ajuda!!!

Por nada! Fico fez em ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro problema me surgiu, tô enviando pwm por dois pinos, até aí beleza, mas as vezes o pwm n corresponde ao que coloquei. Ex: pino 5 envia 220, recebo 220. Pino 6 envia 110, recebo 56. Alguma ideia do que pode ser? 

20180720_184252.jpg

Editado por Jardiel Nascimento

Compartilhar este post


Link para o post
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.

 

 

Editado por AnsiC
Ps.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×