Mensagens de Thiago Condé - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-28T11:50:09ZThiago Condéhttps://labdegaragem.com/profile/ThiagoCondehttps://storage.ning.com/topology/rest/1.0/file/get/1972337277?profile=RESIZE_48X48&width=48&height=48&crop=1%3A1https://labdegaragem.com/profiles/blog/feed?user=0mlco8rrqqed5&xn_auth=noIntervalo de funcionamento (hora certa, comparando horas)tag:labdegaragem.com,2016-09-29:6223006:BlogPost:5682602016-09-29T01:30:00.000ZThiago Condéhttps://labdegaragem.com/profile/ThiagoConde
<p>Essa ideia serve para acionar cargas nos intervalos especificos, e nao apenas no instante momento que foi acionado!</p>
<p>Muitas vezes precisamos saber o intervalo que algo precisa ser acionado ou não acionado ou seja o real estado de funcionamento. Com isso muitos de nós comparamos apenas a hora inicial e a hora final, nunca verificamos o intervalo logo se o equipamento nesse meio tempo ficar desligado e for ligado não terá o estado real de funcionamento!! Isso pode ser resolvido com uma…</p>
<p>Essa ideia serve para acionar cargas nos intervalos especificos, e nao apenas no instante momento que foi acionado!</p>
<p>Muitas vezes precisamos saber o intervalo que algo precisa ser acionado ou não acionado ou seja o real estado de funcionamento. Com isso muitos de nós comparamos apenas a hora inicial e a hora final, nunca verificamos o intervalo logo se o equipamento nesse meio tempo ficar desligado e for ligado não terá o estado real de funcionamento!! Isso pode ser resolvido com uma bateria caso falte energia externa.</p>
<p>Na construção de um algoritmo que ao ligar o equipamento ele possa estar corretamente no estado real de acordo com os a hora inicial e hora final. vejamos a conclusão:</p>
<p>vamos simular as seguintes horas reais vinda do RTC (Relogio de tempo real) : 01:00, 05:00, 21:00,</p>
<p>Os intervalo de tempo seguirão o seguinte padrão: <inicial>, <final></p>
<p>TESTE INTERVALO: 04:00, 10:00 </p>
<p>O grande segredo é converter a hora para inteiro retirando os ":"</p>
<p></p>
<p><strong>Define o primeiro conceito quando a hora (inicial < final):</strong></p>
<p>if (inicial < agora < final)</p>
<p>Simulando <span style="color: #ff0000;">(400 < 100 < 1000)</span> é falso!</p>
<p>Simulando <span style="color: #0000ff;">(400 < 500 < 1000)</span> é verdadeiro!</p>
<p>Simulando <span style="color: #ff0000;">(400 < 2100 < 1000)</span> é falso!</p>
<p></p>
<p><strong>Define o segundo conceito quando a hora (inicial > final):</strong></p>
<p>TESTE INTERVALO: 20:00, 03:00</p>
<p>if ((inicial > agora < final) ou (inicial < agora > final))</p>
<p>Simulando (<span style="color: #0000ff;">(2000 > 100 < 300)</span> ou <span style="color: #ff0000;">(2000 < 100 > 300)</span>) verdadeiro!!</p>
<p>Simulando (<span style="color: #ff0000;">(2000 > 500 < 300)</span> ou <span style="color: #ff0000;">(2000 < 500 > 300)</span>) falso!!</p>
<p>Simulando (<span style="color: #ff0000;">(2000 > 2100 < 300)</span> ou <span style="color: #0000ff;">(2000 < 2100 > 300)</span>) verdadeiro!!</p>
<p></p>
<p>Seguindo essa logica da pra definir corretamente o estado real do equipamento, em qualquer instante em que se desejara, essa foi a melhor forma que achei para trabalha com horas, convertendo elas para inteiros comparando se é maior ou menor, em outras programações comparar horas ou datas é muito facil, mas com o arduino tive uma dificuldade, e muitos codigos com deficiencia nessa parte, por isso estou postando essa ideia caso alguem tenha uma melhor e queira compartilhar será bem vindo!! Muito obrigado!!</p>
<p></p>
<p><a href="http://storage.ning.com/topology/rest/1.0/file/get/1939691832?profile=original" target="_self">Acionamento_no_intervalo.ino</a> (Pequeno exemplo)</p>
<p></p>