Estou trabalhando em um projeto de porta de garagem. Comprei alguns deles, mas ficarei surpreso se encontrar uma resposta consistente sobre como eles são conectados a um Rpi.
Meu pensamento era apenas começar a ligá-lo e tentar, mas estou preocupado em explodir meu pi.
Existem alguns sites que dizem usar um pull up, outros dizem usar vários resistores. Algumas pessoas conectam-se por terra (o que faz menos sentido para mim) que o interruptor de palheta não está ligado, não tenho idéia de como o exemplo de Adafruit funciona.
Eu assumi que precisava de energia para o comum e, depois do posto NO / NC, precisava capturar o estado em um pino GPIO, mas não entendo realmente onde colocar o terreno? Ele é dividido como o link de vários resistores? Colocar o interruptor no terra engergize todo o circuito dessa maneira?
Tentei ler algumas das postagens aqui, mas elas não estão realmente me entendendo o porquê. Alguém pode me ajudar a desmistificar isso um pouco? Se você tem algum recurso para construir alguns fundamentos, eu certamente apreciaria. Sou programador por profissão e estou fora do meu elemento.
EDITAR:
Eu tive alguma confusão no NO / NC. Eu acho que isso melhorou um pouco, eu estava olhando do ponto de vista da minha porta e não do contato do interruptor. O SW deve estar normalmente aberto.
Eu tenho três diagramas aqui e estou buscando esclarecimentos Como você configura pull up vs pull down com o resistor. Preciso de um resistor adicional para fazer o 'puxão' e garantir a segurança do meu bravo soldado # 18 GPIO? Mover o resistor altera as propriedades / funcionalidade do circuito?
Preciso de um resistor menor? Eu já tinha 4,7 no quadro, então usei. Existe uma maneira de calcular um apropriado? Não estou recebendo uma troca de pinos.
Então, eu entendo que isso é uma violação do protocolo SO, fazendo uma pergunta sobre uma pergunta, mas eu prefiro entender o que está acontecendo do que simplesmente esmagar uma de suas respostas e concluir.
EDIT 2:
Quando obtive uma solução funcional, tentei escaloná-la, mas precisava de um resistor em cada linha e mudei para o esquema mostrado. Isso funciona e não explodiu meu pi nem incendiou.
Estou usando um pulldown de software e debounce.
O que moveria a energia da chave para o lado terra do resistor? Nada?
fonte
Respostas:
É um interruptor. Conecte-o como faria com qualquer outro switch. A única coisa a decidir é se você deseja usá-lo como normalmente aberto (normalmente lê como desativado) ou normalmente fechado (normalmente lê como ativado).
Existem duas maneiras básicas - conectar-se ao terra ou conectar-se ao 3V3. Qualquer que seja a sua escolha, é mais seguro fazer essa conexão através de um resistor para evitar o risco de um curto-circuito. Algo entre 1-5 mil ohms deve ser adequado.
Conecte o outro contato escolhido a um conjunto GPIO como uma entrada.
Conexão comum ao terra e normalmente fechada a um GPIO
Conexão comum ao terra e normalmente aberta a um GPIO
Conexão comum a 3V3 e normalmente fechada a um GPIO
Conexão comum a 3V3 e normalmente aberta a um GPIO
Em todas as situações acima, o resistor interno fraco (cerca de 50k) será anulado pela conexão ao terra ou 3V3 através do resistor externo mais poderoso (menos resistência).
fonte
Exatamente, basta usá-lo como um interruptor. Presumo que quando a porta está aberta ou fechada, o Pi quer saber sobre isso através de um de seus pinos de entrada. O pi está procurando um ponto baixo? Em seguida, conecte o interruptor do pino de entrada ao terra e leve um resistor de pull-up à linha de + 3,3V. Quando o interruptor estiver aberto, ou seja, nenhum ímã presente, a entrada terá lógica alta. Quando o ímã ativa a chave, o pino de entrada fica com uma lógica baixa. O resistor de pull-up não é crítico, comece com 4k7Ohm (amarelo, roxo, vermelho, X). Meça o pino com o interruptor desligado, ele deve estar próximo de 3,3V, se não tentar um resistor com menos Ohms. digamos 2k2. Não fique abaixo de 1k, isso seria de 3,3mA. Se você estiver procurando por uma alta, use os contatos normalmente fechados da chave reed. Não execute 3.3V em um switch externo. Um curto pode matar seu chip regulador Pi.
fonte
Seu diagrama à esquerda e no meio não é bom; o GPIO está em curto e não pode fazer nada.
O diagrama à direita está correto se o seu programa GPIO pin 18 estiver procurando por uma entrada para subir alto para dar o próximo passo. No entanto, normalmente não conectamos um trilho de força, o 3.3V, diretamente a uma entrada, normalmente o alimentamos através de um resistor de 2,2k ou mais. Experimente o 4.7k e veja se o pino está alto. Eu conectaria o resistor do pino GPIO 18 ao comutador e o outro lado iria para a linha de alimentação de 3,3V. Não estou feliz por ter a linha de 3,3V indo para a porta da garagem sem algum resistor para limitar a corrente no caso de um curto-circuito na sua fiação. Se o resistor de 4,7k for suficiente para puxar o pino para cima, eu o dividiria no produto final com 2,2k de cada lado do comutador na extremidade do Pi para proteger a entrada do Pi e a fonte de alimentação do Pi contra curto-circuitos acidentais na fiação externa ao interruptor da porta da garagem. O resistor no seu circuito direito seria chamado de pull down e geralmente não são necessários. Mais uma vez, verifique se com um voltímetro ou sonda lógica se a entrada está normalmente baixa até que a chave seja puxada alta e verifique se está perto de 3V. Sou o seu oposto, bom em hardware, não sei nada de programação, tentando aprender um pouco de Linux.
fonte
Remova o resistor de 4.7K ao terra. Não é necessário. É apenas mais uma carga pequena e desnecessária na fonte de alimentação. Seu circuito atual funcionará como está, mas seria melhor ter um resistor em série do trilho de energia de 3,3v a cada um dos interruptores para proteger a fonte de alimentação, caso um dos interruptores seja acidentalmente curto-circuito. Qual o tamanho do resistor? Tente 10k, se funcionar, ou seja, você tem cerca de> 3v no pino GPIO, ótimo, se não, tente 4,7k ou 2,2k ou até 1k
fonte
Somente o seu circuito direito funcionará. As respostas que você obteve acima estão provavelmente corretas (tentar descrever um circuito em palavras é confuso, mesmo para um engenheiro elétrico).
Eu sinto que estas dão muitas opções. Eu recomendo o seguinte. http://elinux.org/RPi_GPIO_Interface_Circuits#Buttons_and_switches
Por razões técnicas relacionadas à interferência e segurança, é preferível puxar o Vcc com uma chave para o terra, mas ambos funcionarão. (Você pode usar um comutador Normalmente aberto ou Normalmente fechado).
Se você quiser ser super seguro, poderá incluir um pequeno resistor em série com a liderança do GPIO. Isso é necessário apenas se você conectar um switch a um pino configurado como uma saída. O Pi não será danificado, mesmo que você o faça, pois possui proteção interna contra sobrecarga, mas pode afetar a operação de outros pinos.
Os interruptores de palheta PS saltam como uma criança em um trampolim. Você precisará de alguma técnica anti-rejeição, seja em hardware ou software.
fonte
Consegui fazê-lo funcionar, seguindo este exemplo que usa tensão do pino e do terra do GPIO. Eu pulei o material do Streamer porque não estava interessado nele.
Tutorial do switch Reed
fonte