Outro post para lembrar posteriormente como fazer algumas coisas bem básicas.
Tentei utilizar o exemplo Blink do esp8266 no Arduino IDE sem sucesso. Tinha até abandonado a tentativa alguns meses atrás, então resolvi ir até o fim. Simplesmente o exemplo não funciona no ESP-12F, e através de um exemplo da URL iot-playground.com, descobri que era simples cumprir, fazendo alguns testes adicionais. Lembrando que utilizo o CH340G mencionado em utilizando-o-firmware-nodemcu-com-lua.
Desta vez utilizei o Arduino IDE 1.8.0. Complementarmente as instruções de programando-esp8266-esp-01-esp-12-com-Arduino-IDE-via-CP2102, existem algumas configurações que podem complicar, se não forem feitas corretamente. Seguindo a configuração no último endereço citado, no item "Configurando o Arduino IDE 1.6.7", verificar se coincide também com a figura abaixo:
No exemplo Blink do ESP8266, devemos alterar todos os LED_BUILTIN do código por 2. No ESP-12F, o programa funcionará no LED de RX. Provavelmente funcionará nas outras versões o ESP8266, pois no exemplo que consultei foi utilizado o ESP-01.
Original:
Modificado:
void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is acive low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }
Existem 2 linhas comentadas para mostrar qual o valor de LED_BUILTIN. No meu teste, mostrou "1". Quando utilizei o original, testei todas as portas, mas não achei qual delas correspondia.
void setup() { pinMode(2, OUTPUT); // Initialize the LED_BUILTIN pin as an output //Serial.begin(115200); } // the loop function runs over and over again forever void loop() { digitalWrite(2, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is acive low on the ESP-01) delay(1000); // Wait for a second digitalWrite(2, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) //Serial.print(LED_BUILTIN); }
Adição posterior: D1 é a porta TX0; dependendo do modelo, muda o valor de LED_BUILTIN (se não me engano, nesse modelo que testei é o D15)
Utilizando a porta 2 no código, a porta ativada é a GPIO02.
NÃO ESQUEÇA QUE PARA FAZER O UPLOAD DO PROGRAMA PARA O ESP-12F, O BOTÃO FLASH DEVE SER MANTIDO APERTADO DURANTE TODA A CARGA.
Adição posterior: aprendi que o NODEMCU 1.0 não precisa estar com o FLASH apertado para o upload
Para este programa, o microcontrolador continua a funcionar normalmente mesmo com o botão Flash apertado.