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.
MINFO

ESP8266 Pino Reset

Recommended Posts

Olá, tenho um ESP12E onde o pino RESET está ligado a um botão PUSH normal. Ao pressionar o botão ele gera um pulso GND no pino reset e com isso reseta o ESP. Eu gostaria de um circuito que por software eu possa habilitar ou desabilitar essa funcionalidade. Ou seja ao acionar um nível alto ou baixo em uma determinada GPIO eu "abra" este circuito e mesmo que o botão push seja pressionado esse circuito impeça que o pino RESET do ESP receba o sinal. Eu consigo fazer isso via relé mas eu gostaria de fazer de forma eletrônica, sem o relé.
Por favor, alguém tem alguma sugestão?

Obrigado,

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está falando de uso de capacitor igual aos usados nos Arduinos para evitar eles resetarem quando estão em modo ISP? 

 

Só colocar um capacitor entre o terra e o resete se for o mesmo caso. Por programação o reste é o botão que reseta a programação é o ovo que vem antes da galinha X)

 

você pode mudar isso mas se der é coisa de micro-programação(tipo de bootloader e coisa do tipo) e eu ainda boio nisso X)

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Oi, obrigado por sua resposta. Eu não entendi bem como o capacitor iria impedir que ao pressionar o botão PUSH o sinal GND chegue ao pino do RESET. Eu preciso desabilitar por software, utilizando algum hardware montado sobre uma porta GPIO,   que ao pressionar o botão do reset este fisicamente envia um sinal GND e reseta o ESP, eu preciso que em determinado momento mesmo que o usuário pressione o botão do reset este esteja como desligado fisicamente do pino RESET, ou seja, o sinal GND seja impedido de chegar até o pino do RESET. Eu consigo fazer isso com um relé, mas a solução fica pobre né, um relé não foi feito para isso.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    É porque algumas vezes esses programas tem auto resete ... não aprofundei muito nisso, sabia porque estava fazendo um programador com Arduino e ele tem esses problemas de auto reset e o capacitor segura a tensão já que a mesma normalmente fica alta no Arduino pelo tempo necessário.

     

    Teoricamente se você meter um capacitor ele aguenta a tensão por alguns milissegundos... quanto maior mais tempo ele fica com a tensão alta(ou seja sem resetar). 

     

    Ao pressionar o reset você criar um curto com terra... a tensão/corrente vai preferir ir para o terra do que ir para o circuito que tem resistência. Ou seja, ou você muda esse caminho fisicamente retirando esse gnd ou modifica o micro-código do processador para ele não dar resete quando ficar em LOW ou sei lá o que.

     

     

    Vou dar uma pesquisada aqui também nisso...

     

     

    Mas usar um resete na tua programação tem algo muito ruim ai, cara!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • O reset é para tirar o ESP do modo DEEP SLEEP. Ou seja, quando o ESP8266 estiver dormindo o RESET deve funcionar fisicamente ligado ao botão e este por sua vez ao GND. Porém quando o ESP está acordado, se o usuário pressionar o botão eu não gostaria que o ESP reinicia-se, ou seja, se o ESP estiver funcionando, o botão RESET não deve conseguir reiniciar o ESP.  

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    https://github.com/esp8266/Arduino/issues/1722

    tente usar ESP.restart() e colocar um botão a mais na tua estrutura e no pino do teu microcontrolador usar um attachinterrupt para quando apertar o botão ele faz um if verificando os estados que você quer e se tiver ok ele manda um ESP.restart().

     

    Será que isso resolve?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Olá, obrigado por sua resposta. Eu não quero resetar o ESP por software, isso seria fácil. O que eu quero é manter o botão reset ligado fisicamente ao pino RESET, para que funcione quando o ESP estiver no modo deep sleep e uma vez que o ESP estiver funcionando fora do modo sleep caso o botão seja fisicamente pressionado o ESP NÃO reset. Ou seja, eu preciso de um interruptor eletrônico, no qual eu desligue fisicamente o botão do pino reset. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    É que to te dizendo ... em vez de você mandar o usuário apertar o botão reset do bagulho(aquele que você tem que mudar configurações de forma avançado) ele vai apertar um botão "reset2" criado por você que pode ou não restar via software o que você quer ^^

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • A única forma de retirar o ESP do modo deep sleep é resetando através do pino RESET ou programando um tempo de 0.1 a 70 minutos ao entrar no modo deep sleep. Dessa forma não possível mover o circuito de reset para uma interrupção pois ela não funciona no modo deep sleep. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado (editado)

    Depois de revirar a internet gringa por um bom tempo

    https://github.com/esp8266/Arduino/issues/1729

     

     

    ou

     

    https://github.com/chaeplin/esp8266_and_arduino/blob/master/_48-door-alarm-deepsleep/README.md

     

     

    você pode controlar em vez de uma porta normalmente berta por um transistor ou talvez um mosfet...Cara, eu li muito coisa e aprendi também lol valeu X) 

    adicionado 2 minutos depois

    tem um discussão aqui dos gringos https://www.bountysource.com/issues/30145191-deep-sleep-and-wake-up-using-interrupt que vai dar no mesmo. Acredito que a solução geral veio dai.

    adicionado 12 minutos depois

    Fora isso, como você falou ou você pode desligar o negocio através de comandos através do teu micro controlador, vai ser um relé com uso de mosfet de potencia ou coisa do tipo...

     

    Li alguns manuais e não tem como sair por software do deepsleep X) a não ser que você faças essa ligações ai em cima e controle por níveis altos e baixos de um microcontrolador.

     

     

    Se ainda não é isso que você quer... fale ai que outro pode lhe ajudar @MINFO

     

    ^^ fuizzzzzzzzzzzz tenho aula as tenho que acordar 5:30 amanhã lol

    Editado por Bommu Perneta

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Obrigado Bommu Perneta pelo interesse em ajudar.

     

    Valeu pelo estudo,  ainda não consegui ver um circuito simples que supra a situação acima. Eu vou continuar estudando e caso encontre a solução eu posto aqui.

    Obrigado..

     

     

    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

    ×