Modulo Rele - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T02:26:25Zhttps://labdegaragem.com/forum/topics/modulo-rele-2?commentId=6223006%3AComment%3A871539&xg_source=activity&feed=yes&xn_auth=noCriei esse código seguindo as…tag:labdegaragem.com,2021-07-19:6223006:Comment:8715392021-07-19T19:42:18.861ZMatheus Markieshttps://labdegaragem.com/profile/MatheusMarkies
<p>Criei esse código seguindo as informações acima: <a href="https://pastebin.com/LYVvpMaB" target="_blank">https://pastebin.com/LYVvpMaB</a></p>
<p>Ainda não testei no modulo, mas acho que vai dar certo.</p>
<p>Obrigado!</p>
<p>Criei esse código seguindo as informações acima: <a href="https://pastebin.com/LYVvpMaB" target="_blank">https://pastebin.com/LYVvpMaB</a></p>
<p>Ainda não testei no modulo, mas acho que vai dar certo.</p>
<p>Obrigado!</p> Obrigado!tag:labdegaragem.com,2021-07-19:6223006:Comment:8714632021-07-19T19:36:35.858ZMatheus Markieshttps://labdegaragem.com/profile/MatheusMarkies
<p>Obrigado!</p>
<p>Obrigado!</p> Bom dia 2M,
a explanação do a…tag:labdegaragem.com,2021-07-17:6223006:Comment:8716402021-07-17T12:10:10.584Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Bom dia 2M,</p>
<p>a explanação do amigo EC está bem completa.</p>
<p>Faça um teste com o exemplo Blink.ino, que vem junto com a instalação da IDE.</p>
<p>Selecione um pino diferente do 13, que é o padrão.</p>
<p>Ligue o seu módulo neste pino, e teste.</p>
<p>Depois conta o resultado.</p>
<p></p>
<p>Teste este usando a porta 8.</p>
<p></p>
<p><a href="https://pastebin.com/bzT0Yhxv" target="_blank">https://pastebin.com/bzT0Yhxv</a></p>
<p></p>
<p>RV mineirin</p>
<p></p>
<p>Bom dia 2M,</p>
<p>a explanação do amigo EC está bem completa.</p>
<p>Faça um teste com o exemplo Blink.ino, que vem junto com a instalação da IDE.</p>
<p>Selecione um pino diferente do 13, que é o padrão.</p>
<p>Ligue o seu módulo neste pino, e teste.</p>
<p>Depois conta o resultado.</p>
<p></p>
<p>Teste este usando a porta 8.</p>
<p></p>
<p><a href="https://pastebin.com/bzT0Yhxv" target="_blank">https://pastebin.com/bzT0Yhxv</a></p>
<p></p>
<p>RV mineirin</p>
<p></p> olá Matheus.
Rapaz, pe…tag:labdegaragem.com,2021-07-17:6223006:Comment:8713792021-07-17T09:48:16.553ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 12pt;">olá Matheus.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Rapaz, pelo que vc disse, fica claro que vc está muito cru na coisa.</span></p>
<p><span style="font-size: 12pt;"> Então vou descrever o funcionamento desse <em><strong>controle ON/OFF</strong></em> de forma bem didática, e espero que eu consiga elucidar isso para vc.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> O <strong>Relé</strong> da <em><strong>plaquinha módulo…</strong></em></span></p>
<p><span style="font-size: 12pt;">olá Matheus.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Rapaz, pelo que vc disse, fica claro que vc está muito cru na coisa.</span></p>
<p><span style="font-size: 12pt;"> Então vou descrever o funcionamento desse <em><strong>controle ON/OFF</strong></em> de forma bem didática, e espero que eu consiga elucidar isso para vc.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> O <strong>Relé</strong> da <em><strong>plaquinha módulo Relé</strong></em> (ou de Relés, já que alguns tem vários Relés), é um dispositivo <em><strong>eletro-mecânico</strong></em>. Por quê? <span style="text-decoration: underline;"><em>Simples</em></span>: ele tem <strong><em>atuação mecânica</em></strong>, como uma chave, porém esta atuação é <em><strong>controlada eletricamente</strong></em>, e há na plaquinha um circuito que adequada <em><strong>sinais elétricos</strong></em> de <em><strong>baixa tensão</strong></em>, de forma que estes sinais controlem o Relé da plaquinha. Ora, como o Relé atua como uma chave, ele deve assumir apenas dois estados: "<strong>ON</strong>" (ou <em><strong>ligado</strong></em>) e "<strong>OFF</strong>" (ou <strong><em>desligado</em></strong>). E é isso que vc tem que saber de início.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Ocorre que em Eletrônica, para controlar dispositivos que "ligam" ou "desligam", nós usamos <em><strong>Sistemas Digitais</strong></em>, que é uma parte da ciência eletrônica, e por isto mesmo costumamos dizer "<strong>Eletrônica Digital</strong>". E em Sistemas Digitais, para fazer o <em><strong>controle</strong></em> "<strong>ON</strong>" e "<strong>OFF</strong>", há <em><strong>dois estados</strong></em> <span style="text-decoration: underline;">contrários entre si</span>: o "<strong>1</strong>" e o "<strong>0</strong>", que <em><span style="text-decoration: underline;">por convenção</span></em> representam justamente o "<strong>ON</strong>" e o "<strong>OFF</strong>" (e por este motivo isto é chamado de "<strong>Lógica Binária</strong>" já que são apenas dois estados). Essa "convenção" é chamada de "<strong>Lógica Positiva</strong>" e vc vai entender o motivo disso mais à frente. Ou seja, quando usamos "<strong>Lógica Positiva</strong>", o "<strong>1</strong>" equivale a dizer "<strong>ligado</strong>" (ou "<strong>ON</strong>"), e o "<strong>0</strong>" equivale a dizer "<strong>desligado</strong>" ou ("<strong>OFF</strong>").</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Um <strong>pino</strong> do <strong>Arduino</strong>, é normalmente um <em>pino do tipo</em> <em><strong>Digital</strong></em>. E para que este pino possa controlar dispositivos da forma <em><strong>ON/OFF</strong></em>, vc deve primeiro configurar o mesmo como "<strong>saída Digital</strong>", e isso normalmente é feito no "<em><strong>setup</strong></em>" do <em><strong>Arduino</strong></em>, para que o pino fique "pronto" para controlar algum dispositivo ao longo do restante do código. A função "<strong>pinMode</strong>" é que usamos para fazer essa configuração. Por exemplo se estamos usando o <strong>pino</strong> "<strong>4</strong>" do <em><strong>Arduino</strong> </em>para controlar um <em><strong>módulo Relé</strong></em>, a configuração desse pino será:</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><strong>pinMode( 4, OUTPUT );</strong></span></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Onde "<strong>OUTPUT</strong>" significa que estamos <span style="text-decoration: underline;"><em>configurando</em></span> o pino <strong>4</strong> como <em><strong>saída Digital</strong></em>. Uma vez configurado, podemos colocar este pino ou em "<strong>1</strong>" ou em "<strong>0</strong>", justamente para ligar ou desligar algo (por exemplo um módulo Relé). Ocorre que o pessoal que criou o <em><strong>Arduino</strong></em>, convencionou chamar o "<strong>1</strong>" de "<strong>HIGH</strong>", e o "<strong>0</strong>" de "<strong>LOW</strong>". Então vc pode usar estes termos "<strong>HIGH</strong>" e "<strong>LOW</strong>", ao invés de "<strong>1</strong>" e "<strong>0</strong>". Mas isso é da sua vontade, porque qualquer destas formas que vc usar, o <em><strong>Compilador "C/C++"</strong></em> irá aceitar, e no final das contas, ele sempre acaba traduzindo tudo para "<strong>1</strong>" e "<strong>0</strong>".</span></p>
<p></p>
<p><span style="font-size: 12pt;"> E como controlamos o pino Digital? Ora, "escrevemos" naquele pino ou "<strong>1</strong>" ou "<strong>0</strong>", justamente para <em><strong>ligar</strong></em> ou <em><strong>desligar</strong></em> o que o pino está controlando. Para isso, usamos a função "<em><strong>digitalWrite</strong></em>". Veja como vc poderia ligar algo usando o "<em><strong>digitalWrite</strong></em>":</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><strong>digitalWrite( 4, 1 );</strong></span></span></p>
<p><span style="font-size: 12pt;"> ou</span></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><strong>digitalWrite( 4, HIGH );</strong></span></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Os dois casos, tem o mesmo resultado, uma vez que o "<strong>HIGH</strong>" será convertido automaticamente pra "<strong>1</strong>".</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Mas aqui é que entra a tal da questão da <em><strong>convenção lógica</strong></em>, pois isso que eu mostrei a vc, está em "<strong>Lógica Positiva</strong>". Mas por que?</span></p>
<p><span style="font-size: 12pt;"> Porque existe uma convenção contrária, que chamamos de "<strong>Lógica Negativa</strong>". E na "<strong>Lógica Negativa</strong>", o "<strong>1</strong>" <em><strong>desliga</strong></em> <em>alguma coisa</em>, enquanto o "<strong>0</strong>" justamente <em><strong>liga</strong></em> <em>esta mesma coisa</em>. É apenas uma questão de convenção (ou seja: de interpretar quem faz o quê), pois veja que ainda temos os dois comandos: "<strong>ON</strong>" e "<strong>OFF</strong>".</span></p>
<p><span style="font-size: 12pt;"> Assim, quando alguém usa "<strong>Lógica Negativa</strong>", para <em><strong>ligar</strong> </em>usamos o "<strong>0</strong>" e para <em><strong>desligar</strong></em> usamos o "<strong>1</strong>". E portanto neste caso, o "<strong>ON</strong>" = "<strong>0</strong>", e o "<strong>OFF</strong>" = <strong>1</strong>. Por este motivo, em <span>"<strong>Lógica Negativa</strong>", </span>o "<strong>HIGH</strong>" irá desligar algo, enquanto que o "<strong>LOW</strong>" irá ligar. Justamente o contrário da "<strong>Lógica Positiva</strong>".</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Mas por que usar duas convenções lógicas, se apenas uma delas já faz o que precisamos (ligar/desligar) ??? Isso ocorre porque quando <em><strong>circuitos eletrônicos Digitais</strong></em> são construídos, muitas vezes é mais fácil controlar algo usando <span>"<em><strong>Lógica Positiva</strong></em>", mas às vezes é mais fácil controlar usando "<em><strong>Lógica Negativa</strong></em>" (ou é mais conveniente, por diversos motivos).</span></span></p>
<p><span style="font-size: 12pt;"> Então, vc poderá encontrar no mercado, <em><strong>módulos Relés</strong></em> que usem "<em><strong>Lógica Positiva</strong></em>", ou seja, com "<strong>HIGH</strong>" (ou "<strong>1</strong>") ligamos o Relé do módulo. Mas acredite: por motivos econômicos (poupar uns $$$), é tremendamente mais comum vc encontrar no mercado, <em><strong>módulo de Relés</strong></em> que são controlados com <span>"<strong>Lógica Negativa</strong>", e por isso nestes módulos o "<strong>HIGH</strong>" desliga o Relé, e o "<strong>LOW</strong>" liga o Relé. <span style="text-decoration: underline;"><em>Este é o caso do seu módulo Relé em questão</em></span>.</span></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Bem, espero que eu tenha conseguido elucidar esta questão do "<strong>HIGH</strong>" e do "<strong>LOW</strong>" no <em><strong>controle ON/OFF</strong></em> de um dispositivo qualquer.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Mas sempre observe o seguintes pontos:</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><em><strong>1)</strong></em></span> em um Sistema qualquer, não há obrigatoriedade de se usar sempre "<em><strong>Lógica Positiva</strong></em>" ou sempre <span>"<em><strong>Lógica Negativa</strong></em>". Ou seja, é muito comum (99.99% dos casos) que as duas convenções lógicas sejam usadas em um mesmo Sistema. E claro que isso pode causar alguma confusão nos mais desavisados. O importante é saber como se controla um dispositivo qualquer naquele sistema. E pra simplificar o processo, é muito comum também fazer uma função que liga ou desliga um dispositivo. Por exemplo se vc quer ligar um <strong>Relé</strong> "<strong>X</strong>" que é acionado com "<strong>LOW</strong>", vc pode criar uma função que escreve "<strong>LOW</strong>" no pino de controle, e dar o nome "<strong>Liga_Rele_X</strong>" a esta função. Veja como ficaria isto:</span></span></p>
<p></p>
<p><span style="font-size: 14pt;"><em><strong> void Liga_Rele_X ()</strong></em></span></p>
<p><span style="font-size: 14pt;"><em><strong> {</strong></em></span></p>
<p><span style="font-size: 14pt;"><em><strong> digitalWrite( 4, LOW );</strong></em></span></p>
<p><span style="font-size: 14pt;"><em><strong> }</strong></em></span></p>
<p></p>
<p></p>
<p><span style="font-size: 12pt;"> E da mesma forma poderia criar uma que desliga o mesmo Relé, escrevendo "<strong>HIGH</strong>" no pino. Assim, vc não precisa se preocupar em saber ao longo do seu código, se o tal <strong>Relé</strong> "<strong>X</strong>" liga em "<strong>HIGH</strong>" ou se ele liga em "<strong>LOW</strong>". Basta chamar a função "<strong>Liga_Rele_X</strong>" ou a "<strong>Desliga_Rele_X</strong>". Mais fácil não é?</span></p>
<p></p>
<p><span style="font-size: 12pt;"> <span style="font-size: 14pt;"><em><strong>2)</strong></em></span> vc nunca pode ignorar que assim como podemos traduzir "<strong>1</strong>" como "<strong>HIGH</strong>" e "<strong>0</strong>" como "<strong>LOW</strong>", estes mesmos "<strong>estados digitais</strong>" serão traduzidos para <em><strong>tensões elétricas</strong></em> nos <em><strong>circuitos eletrônicos digitais</strong></em>. No caso do <em><strong>Arduino UNO</strong></em> por exemplo, o "<strong>HIGH</strong>" implicará que temos em um <em><strong>pino digital</strong></em> (configurado como <em>saída</em>), uma tensão próxima a <em><strong>5V</strong></em> (cinco Volts), e o "<strong>LOW</strong>" implica que essa tensão será próxima a <em><strong>0V</strong></em> (zero Volts). Já se vc está usando um <em><strong>ESP8266</strong></em>, o "<strong>HIGH</strong>" é próximo a <em><strong>3.3V</strong></em> (três ponto três Volts) e o "<strong>LOW</strong>" fica próximo a <strong>0V</strong>. Esta é uma das coisas que quando não é considerada, causa grandes dores de cabeça, e as pessoas ficam dizendo "<strong><em>não liga o Relé quando eu mando ligar</em></strong>", ou ainda "<em><strong>o Relé fica sempre ligado</strong></em>". O problema são os valores de tensão "<strong>HIGH</strong>" e o "<strong>LOW</strong>" estão inadequados <span style="text-decoration: underline;"><em>entre</em></span> o <em><strong>Arduino</strong></em> e o <em><strong>módulo Relé</strong></em>. Bem, agora vc já sabe. Mas como essa parte trata de <em><strong>circuitos eletrônicos</strong></em>, há ainda uma série de outras considerações a respeito (relacionadas aos circuitos), e isto pode ser um tanto indigesto pra grande maioria das pessoas que querem estar no "Mundo Arduino". Mas se vc quiser saber algo mais detalhado sobre isso, pergunte aqui.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Espero ter ajudado.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Abrçs,</span></p>
<p><span style="font-size: 12pt;"> Elcids</span></p> Obrigado pela resposta!
Não e…tag:labdegaragem.com,2021-07-17:6223006:Comment:8716342021-07-17T01:39:10.162ZMatheus Markieshttps://labdegaragem.com/profile/MatheusMarkies
<p>Obrigado pela resposta!</p>
<p>Não entendi muito bem como funciona essa ligação com o LOW.</p>
<p>So funciona para pinos definidos por codigo como LOW?</p>
<p>Porque eu fui mudando o pino In de lugar varias vezes e mesmo assim nada.</p>
<p>Obrigado pela resposta!</p>
<p>Não entendi muito bem como funciona essa ligação com o LOW.</p>
<p>So funciona para pinos definidos por codigo como LOW?</p>
<p>Porque eu fui mudando o pino In de lugar varias vezes e mesmo assim nada.</p> Boa tarde Sr. 2M, (se não gos…tag:labdegaragem.com,2021-07-16:6223006:Comment:8714502021-07-16T16:38:00.978Zmineirin RVhttps://labdegaragem.com/profile/RuiViana
<p>Boa tarde Sr. 2M, <strong>(se não gosta que te chame pelas iniciais, avise),</strong></p>
<p>veja abaixo o esquema do seu módulo:</p>
<p>Ele não é opto isolado do arduino</p>
<p></p>
<p>Se conhece um pouco de eletrônica, vai entender que ao conectar o pino IN ao GND, (nível de coletor)</p>
<p>como o transistor drive do rele é PNP, ele vai saturar e operar o rele.</p>
<p></p>
<p>Para que funcione no arduino deverá ser assim:</p>
<p></p>
<p>Saída em LOW opera rele, Saída em HIGH libera…</p>
<p>Boa tarde Sr. 2M, <strong>(se não gosta que te chame pelas iniciais, avise),</strong></p>
<p>veja abaixo o esquema do seu módulo:</p>
<p>Ele não é opto isolado do arduino</p>
<p></p>
<p>Se conhece um pouco de eletrônica, vai entender que ao conectar o pino IN ao GND, (nível de coletor)</p>
<p>como o transistor drive do rele é PNP, ele vai saturar e operar o rele.</p>
<p></p>
<p>Para que funcione no arduino deverá ser assim:</p>
<p></p>
<p>Saída em LOW opera rele, Saída em HIGH libera rele.</p>
<p></p>
<p>RV mineirin</p>
<p></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/9258556493?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/9258556493?profile=RESIZE_710x" width="200" class="align-full"/></a></p>
<p></p>
<p></p>