Conflito entre DISPLAY LDC com I2C,TIMER1, RT1307, DS18B20 ,ARDUINO UNO - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T09:08:58Zhttps://labdegaragem.com/forum/topics/conflito-entre-display-ldc-com-i2c-timer1-er1307-ds18b20?feed=yes&xn_auth=noBoa tarde MCS.
E aí, funcion…tag:labdegaragem.com,2020-07-02:6223006:Comment:7357102020-07-02T17:13:33.523Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Boa tarde MCS.</p>
<p>E aí, funcionou?</p>
<p></p>
<p>RV</p>
<p>Boa tarde MCS.</p>
<p>E aí, funcionou?</p>
<p></p>
<p>RV</p> Boa tarde MCS,
abaixo segue s…tag:labdegaragem.com,2020-06-26:6223006:Comment:7350962020-06-26T17:04:11.822Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Boa tarde MCS,</p>
<p>abaixo segue seu sketch modificado pra rodar usando threads.</p>
<p>Retirei os vários "Serial e LCD begin" que estavam travando o sketch.</p>
<p>Minha sugestão é que você comente todas linhas do sketch e que o organize melhor.</p>
<p>Testei aqui e funcionou como acho que deveria funcionar, mas só você que sabe como deve funcionar.</p>
<p>RV…</p>
<p></p>
<p>Boa tarde MCS,</p>
<p>abaixo segue seu sketch modificado pra rodar usando threads.</p>
<p>Retirei os vários "Serial e LCD begin" que estavam travando o sketch.</p>
<p>Minha sugestão é que você comente todas linhas do sketch e que o organize melhor.</p>
<p>Testei aqui e funcionou como acho que deveria funcionar, mas só você que sabe como deve funcionar.</p>
<p>RV</p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/6351756493?profile=original" target="_blank" rel="noopener">Threads_Areia.ino</a></p>
<p></p>
<p></p> Marlen, por favor: não resp…tag:labdegaragem.com,2020-06-26:6223006:Comment:7350842020-06-26T16:32:25.976ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;"><em><strong>Marlen, por favor: não responda com informações adicionais (não dá pra mim ficar te pedindo isso a todo instante). Estas informações adicionais, ficam fora do contexto da pergunta e bagunçam o entendimento da lógica. Isto não é uma frescura da minha parte. É a forma como se implementa um Sistema. Espero que entenda isso.</strong></em></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Como vc não escreveu claramente como deve ser, então…</span></p>
<p><span style="font-size: 12pt;"><em><strong>Marlen, por favor: não responda com informações adicionais (não dá pra mim ficar te pedindo isso a todo instante). Estas informações adicionais, ficam fora do contexto da pergunta e bagunçam o entendimento da lógica. Isto não é uma frescura da minha parte. É a forma como se implementa um Sistema. Espero que entenda isso.</strong></em></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Como vc não escreveu claramente como deve ser, então vou assumir que ao <em><strong>iniciar o Sistema</strong></em> (quando o "<em><strong>setup</strong></em>" inicia) e ao sair do "<em><strong>setup</strong></em>", <em><span style="text-decoration: underline;">todas</span></em> as saídas devem estar desligadas.</span></p>
<p><span style="font-size: 12pt;"> Também vou assumir que ao iniciar na linha <em><strong>738</strong></em> (no início do "<em><strong>loop</strong></em>") as saídas devem estar todas desligadas.</span></p>
<p></p>
<p><span style="font-size: 8pt;">----------------------------------------------------------------------------------------------------------------------------</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Agora vou à próxima questão, que como eu disse, é um pouco mais sutil. Esta questão, se refere também à uma contradição. Porém neste caso, vc provavelmente terá que pensar um pouquinho mais pra analisar e responder.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Veja: na linha <em><strong>831</strong> </em>termina a execução da <strong>função</strong> "<em><strong>loop</strong></em>". Porém antes, poderá ter ocorrido de ter sido acionado o "<em><strong>alarme</strong></em>", isto nas linhas <em><strong>777</strong></em> e <em><strong>781</strong></em>. Neste caso, após passar pela linha <em><strong>799</strong></em>, e <span style="text-decoration: underline;"><em>não entrar</em></span> na linha <em><strong>806</strong></em>, o Sistema segue para a linha <em><strong>824</strong></em>. Então após isso, termina o ciclo na linha <em><strong>829</strong></em>, e termina a execução do "<em><strong>loop</strong></em>". E após isso, o "<em><strong>loop</strong></em>" é iniciado novamente, lá na linha <em><strong>736</strong></em>.</span></p>
<p><span style="font-size: 12pt;"> Veja Marlen, que ao final da sequência descrita acima, a <em><strong>saída digital</strong></em> "<em><strong>pAvisoFalha</strong></em>" <span style="text-decoration: underline;"><em><strong>começa ligada</strong></em></span> no início do "<em><strong>loop</strong></em>". Então como deve ser afinal? O que deve ser feito? Quando de fato a saída "<em><strong>pAvisoFalha</strong></em>" será desligada?</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Analise com cuidado, para poder fornecer uma resposta que tenha sentido no funcionamento do Sistema.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Boa tarde!
A lógica estaria t…tag:labdegaragem.com,2020-06-26:6223006:Comment:7352662020-06-26T16:06:14.410ZMarlén César Santoshttps://labdegaragem.com/profile/MarlenCesarSantos
<p><span style="font-size: 12pt;">Boa tarde!</span></p>
<p><span style="font-size: 12pt;">A lógica estaria toda inversa ! </span></p>
<p><span style="font-size: 12pt;">Na minha lógica seria para iniciar tudo desligado mesmo . </span></p>
<p><span style="font-size: 12pt;">Porque quando vc envia o código para o arduino e após carregado não acontecer de dar um pulso nas saídas e retornando desligado ( apesar de ser muito rápido).</span></p>
<p><span style="font-size: 12pt;">E a outra questão que…</span></p>
<p><span style="font-size: 12pt;">Boa tarde!</span></p>
<p><span style="font-size: 12pt;">A lógica estaria toda inversa ! </span></p>
<p><span style="font-size: 12pt;">Na minha lógica seria para iniciar tudo desligado mesmo . </span></p>
<p><span style="font-size: 12pt;">Porque quando vc envia o código para o arduino e após carregado não acontecer de dar um pulso nas saídas e retornando desligado ( apesar de ser muito rápido).</span></p>
<p><span style="font-size: 12pt;">E a outra questão que na linha 827 termina tudo para poder iniciar novamente .</span></p>
<p><span style="font-size: 12pt;">Caso ocorra de terminar na 827 e se algumas das entradas abaixo estiverem </span></p>
<p><span style="font-size: 12pt;">pHabTransp, desligada <strong>ou</strong><br/>pEmerg, ligada <strong>ou</strong><br/>pSiloCheio ligado </span></p>
<p><span style="font-size: 12pt;">não libera a linha 740 adiante até que todas acima estejam em condições opostas</span></p>
<p><span style="font-size: 12pt;"><span>pHabTransp, ligada <br/>pEmerg, desligada <br/>pSiloCheio desligado </span></span></p>
<p><span style="font-size: 12pt;"><span>Grato </span></span></p>
<p><span style="font-size: 12pt;"><span>Marlén</span></span></p> olá Murta.
Na implemen…tag:labdegaragem.com,2020-06-26:6223006:Comment:7349792020-06-26T16:00:53.835ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá Murta.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Na implementação que o Marlen está tentando, nem é necessário usar o <em><strong>TIMER1</strong></em>, e este recurso pode ser poupado.</span></p>
<p><span style="font-size: 12pt;"> Ocorre que em algum lugar e em algum momento, o Marlen "pegou" esse uso do <em><strong>TIMER1</strong></em> como meio de implementar o Sistema, a e partir daí passou a achar que era esse o caminho. Mas isso…</span></p>
<p><span style="font-size: 12pt;">olá Murta.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Na implementação que o Marlen está tentando, nem é necessário usar o <em><strong>TIMER1</strong></em>, e este recurso pode ser poupado.</span></p>
<p><span style="font-size: 12pt;"> Ocorre que em algum lugar e em algum momento, o Marlen "pegou" esse uso do <em><strong>TIMER1</strong></em> como meio de implementar o Sistema, a e partir daí passou a achar que era esse o caminho. Mas isso não é necessário, mesmo sendo o Sistema dele do tipo "real", uma vez que todos os elementos neste Sistema são "lentos" em termos de processamento e com interface humana também "lenta".</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs,</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Boa tarde Rui,
Se ele for us…tag:labdegaragem.com,2020-06-26:6223006:Comment:7349732020-06-26T15:39:48.410ZJosé Gustavo Abreu Murtahttps://labdegaragem.com/profile/GustavoMurta
<p>Boa tarde Rui, </p>
<p>Se ele for usar um dispositivo de cada vez, não há necessidade de processamento paralelo. </p>
<p>Coloque o TIMER1 como prioridade na execução do programa. </p>
<p>Threads deve mesmo resolver o problema dele. </p>
<p>Boa tarde Rui, </p>
<p>Se ele for usar um dispositivo de cada vez, não há necessidade de processamento paralelo. </p>
<p>Coloque o TIMER1 como prioridade na execução do programa. </p>
<p>Threads deve mesmo resolver o problema dele. </p> Ok Marlen, vamos em frente en…tag:labdegaragem.com,2020-06-26:6223006:Comment:7350832020-06-26T15:31:59.327ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">Ok Marlen, vamos em frente então.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Uma vez que vc disse que na linha <em><strong>739</strong></em>, <span style="text-decoration: underline;"><em>todas</em></span> as <em><strong>saídas digitais</strong></em> devem começar desligadas, há pelo menos dois pontos conflitantes com isso. Um deles é bem evidente, e irei questionar esse primeiro logo adiante. O segundo é mais sutil e por isso irei questionar…</span></p>
<p><span style="font-size: 12pt;">Ok Marlen, vamos em frente então.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Uma vez que vc disse que na linha <em><strong>739</strong></em>, <span style="text-decoration: underline;"><em>todas</em></span> as <em><strong>saídas digitais</strong></em> devem começar desligadas, há pelo menos dois pontos conflitantes com isso. Um deles é bem evidente, e irei questionar esse primeiro logo adiante. O segundo é mais sutil e por isso irei questionar o mesmo depois.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Para vc entender o primeiro ponto contraditório, veja a figura a seguir, onde mostro o trecho final da <em><strong>função</strong></em> "<em><strong>setup</strong></em>":</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/6349428491?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/6349428491?profile=RESIZE_710x" class="align-center" width="530" height="401"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Observe a <em><strong>região</strong></em> onde marquei na <em><strong>cor amarela</strong></em>, entre a linha <em><strong>721</strong></em> e a <em><strong>724</strong></em>.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Nestas quatro linhas, <span style="text-decoration: underline;"><em>todas</em></span> as <em><strong>saídas digitais</strong></em> <em>são</em> <span style="text-decoration: underline;"><em>ligadas</em></span>. Após isso, a <em><strong>função</strong></em> "<em><strong>setup</strong></em>" termina sua execução. E logo em seguida disso, é iniciada a execução da <em><strong>função</strong></em> "<em><strong>loop</strong></em>".</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Então Marlem, como vc explica isto, uma vez que ao iniciar na linha <em><strong>738</strong></em> da <em><strong>função</strong></em> "<em><strong>loop</strong></em>" vc disse que todas as saídas deveriam estar desligadas ? Mas como vc vê, assim que o Sistema executa pela primeira vez, isso não ocorre, porque ao deixar a <em><strong>função</strong></em> "<em><strong>setup</strong></em>", <span style="text-decoration: underline;"><em>todas as saídas estão ligadas</em></span>.</span></p>
<p><span style="font-size: 12pt;"> Por favor, deixe claro.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Assim que tiver sua resposta, então irei colocar a próxima questão, que é um pouco mais sutil sobre o funcionamento.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> olá RV.
Na verdade é p…tag:labdegaragem.com,2020-06-26:6223006:Comment:7349712020-06-26T15:07:05.545ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá RV.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Na verdade é possível sim. O conceito de "<em><strong>Threads</strong></em>" é genérico, e não abrange uma forma específica e única de implementar isso.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Analisei o código do Marlen com bastante cuidado. E o "<em><strong>Processamento Paralelo</strong></em>" que ele deseja, nada mais é do que uma exibição no Display (e na Serial do…</span></p>
<p><span style="font-size: 12pt;">olá RV.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Na verdade é possível sim. O conceito de "<em><strong>Threads</strong></em>" é genérico, e não abrange uma forma específica e única de implementar isso.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Analisei o código do Marlen com bastante cuidado. E o "<em><strong>Processamento Paralelo</strong></em>" que ele deseja, nada mais é do que uma exibição no Display (e na Serial do Arduino), dos dados atuais de controle, enquanto o próprio controle se desenrola. E isto é perfeitamente possível, e irei demonstrar isso neste post.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> O grande problema por enquanto, é que o código original, tem alguns pontos duvidosos. Alguns destes pontos são muito evidentes, mas há alguns bem mais sutis. Levantei todos eles, e se o Marlen deixar claro como deve ser, então bastará fazer a implementação.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Irei também postar uma simulação deste Sistema, para facilitar os testes, e para aqueles que querem "treinar" o processo de implementação.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Mas se o Marlen desistir e seguir para um "approach" diferente, tudo bem. Poderei publicar um entendimento do funcionamento, e aí a coisa segue da forma espontânea.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Aproveito RV, para dizer, que não esqueci da proposta que fiz sobre o tópico de implementação das <strong>MV</strong>'s, na qual considero sua ajuda essencial, uma vez que sua imensa experiência aqui no LDG é inigualável. Sobre o "script" que prometi, irei te enviar em breve, e se for do interesse, discutirmos a respeito.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs,</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Bom dia Elcids!
Todas desli…tag:labdegaragem.com,2020-06-26:6223006:Comment:7352612020-06-26T15:01:41.175ZMarlén César Santoshttps://labdegaragem.com/profile/MarlenCesarSantos
<p><span style="font-size: 12pt;">Bom dia Elcids!</span></p>
<p></p>
<p><span style="font-size: 12pt;">Todas desligadas!</span></p>
<p><span style="font-size: 12pt;">Bom dia Elcids!</span></p>
<p></p>
<p><span style="font-size: 12pt;">Todas desligadas!</span></p> Bom dia Sr. E , (se não gos…tag:labdegaragem.com,2020-06-26:6223006:Comment:7350792020-06-26T14:31:57.804Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Bom dia Sr. E , <span style="font-size: 12pt;"><em><strong> (se não gosta que te chame pelas iniciais, avise),</strong></em></span></p>
<p>em conversa com o MCS, entendi que a necessidade de é um processamento paralelo.</p>
<p>Como isto não é viável( eu diria até impossível) na plataforma do Arduíno, eu sugeri que ele</p>
<p>estudasse e aplicasse no projeto dele o conceito de <span style="text-decoration: underline;"><em><strong>threads</strong></em></span>.</p>
<p>Ele ficou de estudar e…</p>
<p>Bom dia Sr. E , <span style="font-size: 12pt;"><em><strong> (se não gosta que te chame pelas iniciais, avise),</strong></em></span></p>
<p>em conversa com o MCS, entendi que a necessidade de é um processamento paralelo.</p>
<p>Como isto não é viável( eu diria até impossível) na plataforma do Arduíno, eu sugeri que ele</p>
<p>estudasse e aplicasse no projeto dele o conceito de <span style="text-decoration: underline;"><em><strong>threads</strong></em></span>.</p>
<p>Ele ficou de estudar e nos retornar para ajudarmos nas dificuldade com esta novo " approach".</p>
<p></p>
<p>RV</p>
<p></p>
<p></p>