Índice:
- Introdução
- Etapa 1: Pinos GPIO do Flash - GPIO6 para GPIO11
- Etapa 2: Pinos GPIO0, GPIO2 e GPIO15
- Etapa 3: usando GPIO0, GPIO2 e GPIO15 como saídas
- Etapa 4: Usando GPIO0, GPIO2 e GPIO15 como entradas
- Conclusão
Vídeo: ESP8266 usando pinos GPIO0 / GPIO2 / GPIO15: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Atualização de 1 de julho de 2018 - Adicionada nota sobre reprogramação quando GPIO0 é uma saída
Esta é uma nota muito curta sobre como usar os pinos GPIO0 / GPIO2 e GPIO15 no módulo ESP8266.
Atualização: também verifique como usar os pinos ESP8266-01
Introdução
ESP8266 é um chip habilitado para wi-fi de baixo custo. Ele vem em uma variedade de tipos de módulos e pode ser programado de várias maneiras. Todos os módulos tornam o GPIO0 e o GPIO2 acessíveis. A maioria dos módulos, exceto ESP8266-01, também tornam o GPIO15 acessível. Esses GPIOs controlam como o módulo é inicializado e, como tal, requerem tratamento especial se forem usados. GPIO6-GPIO11 também requer tratamento especial, conforme descrito abaixo.
Etapa 1: Pinos GPIO do Flash - GPIO6 para GPIO11
A maioria das placas ESP8266 tem um chip flash conectado a alguns ou todos os GPIO6-GPIO11. A maioria dos programas usa memória flash, bem como RAM, portanto, a menos que você especificamente se certifique de que seu código seja executado apenas na RAM, não poderá usar esses pinos para outros fins.
O número exato de pinos usados no intervalo GPIO6 a GPIO11 depende do tipo de hardware flash usado em seu módulo. Quad IO usa 4 linhas para dados (6 pinos no total) para até 4 vezes a velocidade padrão. Dual IO usa 2 linhas para dados (4 pinos no total) O padrão usa uma única linha para dados (3 pinos no total).
A menos que você saiba exatamente o que sua placa requer, é melhor apenas ignorar GPIO6 para GPIO11 e não se referir a eles em seu código.
Etapa 2: Pinos GPIO0, GPIO2 e GPIO15
Esses pinos determinam em que modo o chip é inicializado.
Para a execução normal do programa, GPIO0 e GPIO2 precisam ser puxados para Vcc (3,3 V) e GPIO15 precisam ser puxados para GND, cada um com um resistor na faixa de 2K a 10K. Um resistor de 2K oferece melhor imunidade a ruídos. OLIMEX usa resistores de 2K SparkFun usa resistores de 10K. Eu uso resistores 3K3.
As configurações dessas entradas são verificadas apenas durante a inicialização (ou reinicialização) do chip. Depois disso, os pinos estão disponíveis para uso geral, mas conforme discutido abaixo, seu uso é restrito por esses resistores pull up / down externos.
Etapa 3: usando GPIO0, GPIO2 e GPIO15 como saídas
Conforme observado acima, esses pinos já terão um resistor conectado ao VCC (GPIO0 e GPIO2) ou GND para GPIO15. Isso determina como qualquer dispositivo externo, como um relé ou LED + resistor, deve ser conectado. Para GPIO0 e GPIO2, um relé externo deve ser conectado entre o VCC e o pino para que ele não interfira com a ação do resistor pull up. Por outro lado, um relé externo conectado ao GPIO15 deve ser conectado entre o GND e o pino para que não interfira com a ação do resistor pull down.
Para ativar o dispositivo externo, GPIO0 ou GPIO2 deve ser conduzido LOW (Active LOW) enquanto GPIO15 deve ser conduzido HIGH (Active HIGH).
O esquema acima mostra como usar GPIO0 e GPIO2 e GPIO15 como saídas. Este circuito inclui os resistores pullup / pulldown necessários também. Observe que o módulo de relé de 5 V acionado por GPIO0 é opto-isolado e tem uma conexão comum separada para a entrada. É importante que a tensão VCCA de 5 V não seja aplicada ao pino ESP8266.
Como reprogramar ao usar GPIO0 como saída
Nota: GPIO0 precisa ser aterrado para entrar no modo de programação. Se você esboçar está deixando-o alto, aterrá-lo pode danificar o chip ESP8266. A maneira segura de reprogramar o ESP8266 quando seu código conduz a saída GPIO0 é: - a) Desligue a placa b) curto GPIO0 para gnd c) ligue a placa que entra no modo de programa devido ao curto no GPIO0 d) remover o curto do GPIO0 para que você não cause um curto na saída quando o programa for executado e) reprograme a placa f) desligue e ligue a placa se necessário.
Etapa 4: Usando GPIO0, GPIO2 e GPIO15 como entradas
Usar esses pinos como entradas é um pouco complicado. Conforme observado acima, na inicialização e durante a reinicialização, esses pinos devem ser puxados para cima ou para baixo conforme necessário para que o módulo ESP8266 seja inicializado no modo de operação normal. Isso significa que, em geral, você não pode simplesmente conectar uma chave externa a esses pinos porque, ao ligar, você geralmente não pode garantir que a chave não puxará a entrada para o terra e, assim, evitará que o módulo seja iniciado corretamente.
O truque é não conectar o switch externo diretamente do GPIO0 ou GPIO2 ao GND, mas conectá-lo a outro pino GPIO que é direcionado ao aterramento (como uma saída) somente após a inicialização do ESP8266. Lembre-se, quando usados como saídas, os pinos GPIO fornecem uma conexão de resistência muito baixa para o VCC ou GND, dependendo se eles são acionados para ALTO ou BAIXO.
Aqui, apenas GPIO0 e GPIO2 serão considerados. Usando este método, você pode obter uma (1) entrada de adição usando esses dois (2) GPIOs.
Um método semelhante pode ser usado para GPIO15 usando outro pino GPIO para conectar sua chave a + VCC, mas isso não ganha uma entrada extra, você também pode usar o outro pino GPIO diretamente como uma entrada.
O circuito acima usa o módulo ESP8266-01 como exemplo. Sem usar esse truque, o ESP8266-01 não tem pinos livres para usar como entrada se você já estiver usando pinos RX / TX para uma conexão UART.
Uma vez que o método setup () do sketch só é executado depois que o módulo ESP8266 é inicializado, é seguro tornar a saída GPIO0 BAIXA e então fornecer um aterramento para S1 conectado ao GPIO2. Você pode então usar digitalRead (2) em outro lugar em seu esboço para ler a configuração da chave.
Conclusão
Esta breve nota mostra como usar GPIO0, GPIO2 e GPIO15 como saídas e como usar para obter uma entrada extra usando GPIO0 e GPIO2 juntos.
Recomendado:
VISUINO Rolling Dice Usando Módulo OLED de 4 Pinos de 0,96 Polegada: 7 Etapas
VISUINO Rolling Dice usando o módulo OLED de 4 pinos de 0,96 polegadas: Neste tutorial, usaremos OLED Lcd e Visuino para fazer um Rolling Dice quando pressionamos um botão em nosso breadboard. Assista a um vídeo de demonstração
Usando os 4 pinos do ESP8266-01: 3 etapas
Usando os 4 pinos do ESP8266-01: Nota: Este projeto é basicamente uma extensão de um instrutível anterior que usava apenas 2 pinos. O número limitado (4) de pinos GPIO no ESP8266-01 pode parecer um obstáculo, para qualquer aplicação séria. No entanto, se alguém usar os pinos de uma forma inteligente, é
Desenvolvimento de aplicativos usando pinos GPIO no DragonBoard 410c com sistemas operacionais Android e Linux: 6 etapas
Desenvolvimento de aplicativos usando pinos GPIO no DragonBoard 410c com sistemas operacionais Android e Linux: O objetivo deste tutorial é mostrar as informações necessárias para desenvolver aplicativos usando o pino GPIO na expansão de baixa velocidade DragonBoard 410c. Este tutorial apresenta informações para o desenvolvimento de aplicativos usando os pinos GPIO com SYS no Andr
ESP8266-NODEMCU $ 3 Módulo WiFi nº 2 - Controle de pinos sem fio por meio da PÁGINA DA WEB: 9 etapas (com imagens)
ESP8266-NODEMCU Módulo 2 WiFi de $ 3 - Controle de pinos sem fio por meio da página da web: Um novo mundo desses micro-computadores chegou e essa coisa é o ESP8266 NODEMCU. Esta é a primeira parte que mostra como você pode instalar o ambiente do esp8266 em seu IDE arduino por meio do vídeo de introdução e como as partes em
ISP 6 pinos para soquete de 8 pinos: 4 etapas
Soquete de 6 pinos para 8 pinos do ISP: A razão pela qual eu construí este projeto foi programar o ATTiny45, que tem uma conexão de 8 pinos, enquanto meu USBtinyISP (da Ladyada) tem apenas uma conexão de 10 e 6 pinos. Depois de bisbilhotar a internet por cerca de 3-4 semanas, não encontrei nada o que