boa noite amigos , gostaria de colocar um sensor na minha janela , para saber se esta fechada ou aberta com o arduino uno e o ethernet shild , alguém poderia me fazer um esquema de como ligar esse sensor ,ele pode ser ligado em qual portas analogicas ou digitais ,qual modelo comprar e como ligar?

Exibições: 2276

Responder esta

Respostas a este tópico

achei varios sensores magnético , mais não  especifica se e o MC-38A  esse tem alguma diferença ou são todos iguais trabalha com uma ampola do reed switch e um ímã para acionar?

    Marcela, normalmente estes sensores são apenas o "reed switch" (claro fornecido com o respectivo imã).

    Não existe um motivo "forte" para ser diferente disso, pois os fabricantes querem reduzir o custo ao mínimo possível, para que em uma produção em massa, alcancem os menores preços de mercado, tornando os produtos competitivos. E colocar mais componentes significa aumentar custos. Então eles vão colocar apenas o absolutamente essencial, que é o "reed switch".

    Além disso, são apenas dois terminais. Então é muito improvável que não seja apenas a chave "reed".

    Abrçs,

    Elcids

Marcela, sobre este circuito que vc publicou:

     Ele está ok sim.

    Porém note que vc não precisa usar o resistor que está conectado junto com o sensor. Veja o meu primeiro post que te respondi, que explico o porquê. Mas caso vc ainda queira usar o resistor, use um de 10k, e não o de 330 ohms como está nesta sua figura (parece 330, pois as cores parecem ser laranja, laranja, marrom).

     Outro ponto, é que neste seu circuito, não consta o capacitor, que como descrevi antes, é importante vc colocar.

     Quanto aos LEDs e seus respectivos resistores, tudo bem na simulação. Mas mesmo na simulação, se por acaso vc ligar o Ethernet Shield, dará conflito, pois os pinos 12 e 13 são os sinais MISO e SCK da Interface SPI do Arduino, a qual é usada para comunicação com o Ethernet Shield. Na prática, vc não poderá usar estes pinos, o 12 e o 13, se o Ethernet Shield estiver sendo também usado.

     Veja na figura a seguir, uma reprodução parcial do circuito do Ethernet Shield:

      Observe que marquei com uma bolinha "rosa", quais sinais são usados no Ethernet Shield. Então estes sinais você não poderá usar. Note que na figura eu também mostro junto aos conectores, os sinais equivalentes do Arduino, pois no esquemático do Ethernet Shield quem desenhou o circuito (talvez um "esprito" de porco) usou uma numeração de pinagem diferente da padrão do Arduino.

      Qualquer dúvida, fico à disposição.

      Abrçs,

      Elcids

 obrigada Elcids pelas sua atenção e explicação detalhada , vou agora tirar em pratica oque aprendi valeu...

ok.

   Boa sorte com sua implementação, e caso tenha alguma dúvida, não deixe de perguntar.

   Uma sugestão:  depois que vc tiver terminado e estiver funcionando redondo, publique aqui no Garagem, para que outros colegas possam usar como referência, e até mesmo implementar. E se vc não tiver nenhuma restrição, além do Hardware e código do Arduino, publique também seu APP (seja Android ou iOS), para que o pessoal possa implementar também.

   Abrçs.

   Elcids

Caro Elcids Chagas,

Com o perdão da Marcela pelo off topic, gostaria de lhe fazer uma pergunta.

Achei excelentes suas ideias e perfeitas as explicações. Tenho um sensor ultrassônico ligado a cerca de 50 metros (!!!) de um Arduino. Por incrível que pareça, funciona -- meu protótipo está usando um cabo de rede comum de 50m para ligar o Arduino à plaquinha controladora do sensor (JSN-SR04T).

Nesse caso, a sugestão do capacitor valeria também? Lembrando que são quatro vias até a placa: 5V, GND, ECHO e TRIGGER.

Agradeço sua ajuda, se possível.

sds!

bom dia ...segue a imagem do circuito montado e o código para a montagem do sensor de janelas via Arduino uno e Ethernet shild W5100 e via pagina web Codigo_sensor_magnetico_web.ino

oi Marden, boa noite.

      No seu post não consegui responder (não sei porque), então estou respondendo no geral aqui.

      Verifiquei este modelo que vc disse estar usando (um JSN-SR04T), e constatei que a Interface dele tem 3 modos de operação, o que é selecionado pelo resistor R27, mostrado na figura  a seguir:

       O modo de operação "mais simples", é quando o resistor R27 não é montado na placa, e acredito ser este seu caso. Assim as informações que postarei a seguir, assumem que vc está usando este módulo nesta configuração, sem o R27 montado.

      Dito isto, é entendível que seu módulo funcione com o Arduino, mesmo a 50m de distância (via cabo de rede, como vc informou). Mas como pode funcionar com um cabo tão longo? Já irei responder. Mas antes tenho que dizer: é uma situação muito diferente daquela usada pela Marcela.

     Isto porque, no caso da Marcela, era uma sinalização que tecnicamente chamamos de "estática", pois embora o sinal do sensor da Marcela mude de estado quando o reed switch do sensor abre ou feche, na imensa quantidade de tempo em que o circuito está ligado, ou esta chave estará fechada (quando a janela está fechada) ou estará aberta (quando a janela é aberta). Ou seja, durante períodos de tempo imensos, o sinal normalmente não muda (ou indica fechado ou indica aberto). Por isso dizemos que é do tipo "estático". Eventualmente ele mudará de estado, e essa mudança será detectada pelo Arduino da Marcela. E portanto nem é tão importante se esta transição de estado demora 1ms (um mili-segundo) pra mudar, ou se demora 100ms, ou mesmo se demora 1s.  Em qualquer dos casos o Arduino da Marcela detectará a mudança.

    O seu caso é muito diferente. No modo de operação, em que o R27 não é montado, para "disparar" uma medição de distância, você deve fazer o sinal "Trigger" ir a "HIGH" por pelo menos 10us (10 micro-segundos). O Manual do seu sensor, não fornece detalhes importantes (além de que o inglês da chinesada ainda não melhorou), como por exemplo a tolerância desse pulso no trigger (exemplo: mínimo 10us, máximo 15us). Porque chamamos de Pulso?  porque o Trigger fica normalmente em "LOW", e quando vc faz ele ir para "HIGH" e deixa ele em "HIGH" pelos tais 10us, o sensor detecta isso e inicia uma medição de distância. Mas você tem que voltar o Trigger para "LOW".  Assim o Trigger se comporta como um pulso de disparo.

     Após fazer a medição, a qual foi disparada pelo sinal Trigger que seu Arduino enviou, o seu sensor tem que informar seu Arduino, qual a distância medida. E isso ele faz através do sinal "Echo", também através do envio de um pulso por este sinal "Echo". A duração deste pulso enviado ao Arduino (via sinal "Echo"), é proporcional à distância medida (a equação para cálculo está na documentação do sensor), assim permitindo ao código no Arduino determinar a distância medida. Para tal, o Arduino deve ser capaz de medir a duração deste pulso que o sensor enviou pra ele via sinal "Echo". E o Arduino e o código sendo executado nele consegue medir a duração desse pulso com ótima precisão. Depois ele só tem que aplicar uma equação (a que mencionei) pra converter essa duração em distância.

     Logo Marden,  a transição de "LOW" pra "HIGH", e de "HIGH" pra "LOW" no sinal "Echo", deve ser rápida o suficiente pra permitir ao Arduino medir isso com maior precisão. Se o sinal muda mais lentamente de estado, isso prejudica o código no Arduino discernir quando de fato ocorre a transição, prejudicando o resultado portanto.

     Assim, o capacitor usado no caso da Marcela, não pode ser usado no seu caso, para os sinais "Trigger" e "Echo", pois tem que ser sinais com transição rápida, e o efeito do Capacitor é justamente dilatar o tempo de transição (o que prejudicaria a precisão da sua medição). Mas não tem jeito mesmo? a questão aqui Marden é:  quanto rápido tem que ser estas transições no seu caso?  Isto não é difícil de responder. Mas também não é tão trivial. Isto porque depende da precisão que vc deseja, e da própria duração mínima e máxima dos Pulsos que o sensor trabalha.

      O que dá pra fazer então?  você pode colocar filtros "RC" nas linhas dos sinais "Trigger" e "Echo", de forma a não prejudicar a transição dos pulsos (e portanto a precisão), e ainda assim permitir algo bastante valioso para você: fios bem compridos, entre o Sensor e o Arduino. Estes filtros "RC" são fáceis de calcular e de implementar. Chama-se "RC" porque é composto por um Resistor e um Capacitor (tecnicamente, é um "filtro RC de primeira ordem passivo"). Mas tem que ser calculado o filtro adequado. Não pode ser "chutado".

     Uma informação importante num filtro "RC", é o que chamamos de "Constante de Tempo RC", e pasme (se vc não é da área de  Eletrônica): seu valor é a multiplicação do valor do Resistor pelo valor do Capacitor, e o resultado dessa multiplicação é em unidades de segundos (é isso mesmo que vc leu: unidade de tempo). Conhecendo detalhes do Pulso enviado ao sensor (o "Trigger") e do Pulso que o Sensor envia ao Arduino (o "Echo"), escolhe-se um valor adequado para a "Constante de Tempo RC" (para isso é necessário conhecimento e experiência técnica), e a partir dessa escolha, calcula-se o filtro RC apropriado (um cálculo simples). O comprimento do cabo também afeta o cálculo do Filtro, mas não irei entrar neste detalhe (embora simples, é um pouco mais técnico).

     Então afinal o que estes filtros "RC" farão? no que eles ajudarão? respondendo: eles permitirão seus sinais "Trigger" e "Echo" irem mais longe, sem prejudicar a precisão da sua medição.

     Finalizando:  embora os capacitores de valor mais alto não possam ser usados no seu caso (ao contrário do que ocorre com o caso da Marcela), ainda assim há um lugar onde é muito importante usar um capacitor deste tipo no seu Sistema:  na alimentação da sua Placa Sensora. Veja como, pela figura a seguir (clique na figura para dar zoom, ou abra em uma nova guia do seu navegador):

      Observe que estão mostradas as ligações para os "Filtros RC". Note também que há um par de filtros desses em cada ponta do Cabo, e isto é necessário. Alguém poderia perguntar: mas se capacitores "dilatam" a transição dos sinais, estes RC não vão piorar as coisas?  Não, não vão: calculando-se o RC adequadamente, além de estabilizar os sinais no Cabo, elimina-se ruídos espúrios que possam prejudicar os sinais. É como se fossem "amortecedores" bem ajustados à trepidação a que irão estar sujeitos. Apenas por curiosidade: uma análise completa do comportamento desses sinais em cabos, exige uma matemática um pouco mais avançada (pra qual a maioria das pessoas torce o nariz e quer distância).

     Detalhe: observe no circuito, que a ligação do Filtro para o sinal enviado (no caso o Trigger), não é exatamente igual à ligação do Filtro para o sinal recebido (o Echo).

     O capacitor "CP" é o Capacitor da Alimentação que mencionei. E ele é necessário?  para cabos muito longos (mais de 4 metros), provavelmente sim. Ocorre que depende da placa do Sensor. Se esta já tiver capacitores de valor e tipo adequados, não é preciso usar o "CP". Como saber isso?  investigando a placa do sensor. Você pode procurar o esquema elétrico dela e checar isto, ou então dando uma "olhada" nos componentes da placa. Veja na figura que mostro a seguir:

      Os capacitores que marquei são do tipo "Eletrolítico de Alumínio". Se estes capacitores forem da alimentação da placa, e forem os únicos colocados ali na alimentação (não sei porque não tenho o circuito nem a placa pra analisar), então Marden, pode colocar o "CP". Ocorre que "Eletrolítico de Alumínio" é péssimo para filtrar ruídos na alimentação, se seu cabo de energia é muito longo. Os fabricantes usam estes tipos considerando que sua fonte de alimentação está ali pertinho (mas este não é o seu caso Marden), e também porque eles são muito mais baratos que outros tipos.

      Se tiver que colocar o "CP", use um entre 4,7uF e 10uF, do tipo de "tântalo" ou cerâmico (este mais difícil de encontrar, devido ao valor mais alto). Nem perca tempo em colocar um Eletrolítico de Alumínio. Atenção que a tensão de trabalho do capacitor deve ser pelo menos de 10V (por fator de segurança e outros "motivos").

      Ah Marden, porque o seu funciona?  porque de "alguma forma", o filtro RC está ali no cabo, mesmo que não seja evidente. Basta lembrar que fios tem resistência elétrica e capacitância distribuídos ao longo deles. O que ocorre é que quando calculamos os Filtros RC, é algo intencional, ou seja, uma sistemática para maior garantia de que o que estamos implementando vai ficar nas nossas rédeas.

      Espero ter contribuído para elucidar a questão.

      Abrçs

      Elcids

Meu caro,

Mais claro impossível. Obrigado pela sua disposição e didática em nos ajudar!

Compreendi perfeitamente tudo. Nos próximos dias, levarei um protótipo montado de maneira mais profissional para o local (é uma estação meteorológica) e deixarei acionando o sensor de 2 em 2 minutos pelo tempo de duração da bateria para verificar a estabilidade da solução. No mesmo local, temos uma estação já fazendo a medição por pressostato, então será fácil verificar se os resultados estão razoáveis.

A placa é exatamente essa que você postou na foto, e SEM o resistor.

Só para você entender o problema: eu deixei a parafernália montada a 12 metros do sensor por seis dias, mas eu apenas registrei as medições em um SD card. Funcionou perfeitamente. Entretanto, o equipamento em produção necessita enviar a leitura por algum meio -- e eu estou testando por enquanto o de menor custo até então, um SIM800 ligado a uma antena para melhoria do pequeno sinal do local. E tudo isso deve ser alimentado por energia solar, daí a necessidade do cabo nessa distância. Há uns 15 dias, eu levei ao local uma montagem muito sem-vergonha, para testar a estabilidade do cabo de 50 metros. Eu já havia testado em casa, e funcionou perfeitamente. Mas no local não funcionou. E houve todo o tipo de erro: de comunicação, mau contato, de leitura do sensor... Mas eram tantas variáveis (e tanto mosquito borrachudo) que eu não consegui determinar exatamente o que estava dando pau. Então, investi mais na infraestrutura e no projeto: assentei um poste decente, instalei a antena de maneira profissional, fiz uma plaquinha semiprofissional e eliminei os jumpers e a protoboard, mas o teste foi abandonado porque choveu no final de semana. Mas nos próximos dias verificarei exatamente se afinal ocorrem ou não erros de leitura nessa configuração.

Claro que posso aumentar o cabo de energia, levando o equipamento mais próximo do sensor. Mas isso estaria um pouco mais sujeito a vandalismo. E ainda temos a opção de levar um Arduino nano ou um ESP8266 para junto do sensor, fazendo a leitura e enviando por algum tipo de radio (wifi, LoRa...) para o equipamento principal, mas nesse caso eu estaria colocando mais variáveis no projeto, e consequentemente criando mais pontos de vulnerabilidade...

Novamente muito obrigado pela sua atenção. Darei notícias!!!

Abraço.

oi Marden, boa noite.

    Então fico feliz que o post tenha ajudado a elucidar sua questão, e isso é um indicativo que possa também ajudar a tantos outros que eventualmente passem aqui pelo Garagem, procurando respostas ou caminhos que possam levar até as respostas desejadas.

    Sobre o seu projeto, achei muito legal. Vi pelo perfil que vc está em M. Carmelo, Minas.

    Eu morei em Minas por 20 anos (Sul de Minas), e considero Minas minha segunda casa, embora eu seja paulista.

    Se vc permitir, poderei dar dicas e contribuir com minha experiência para seu projeto, de forma totalmente altruísta.

 

    Abrçs,

    Elcids

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço