Espero no ser el único que ha pasado por esto con este componente y más aún espero que quien lo lea haya encontrado la solución
Compré el Nodemcu V3 ESP-12E y al conectarlo ya me había dado cuenta de que algo no andaba del todo bien, el asunto es que en ningún momento algunos de los leds onboard han prendido, bajo ninguna circunstancia, se que es algo casi meramente visual, aunque tambien esos leds nos sirven para indicarnos procesos a veces.
este es el módulo
Con el que me fue suministrador este Manual que de hecho me di cuenta que no es de ninguno de los fabricantes principales de Nodemcu, en algún momento pensé que era de Lolin, pero no.
El cual me redirige a esta página del fabricante WCH que según entiendo solo se trata del integrado CH34$0G
En mi busqueda terminé llegando a este hilo en Github donde hablan del tema de los leds internos e incluso interaron guiarme por allí hice unas pruebas y no logré ningún avance.
El módulo hasta ahora las pruebas que he hecho funciona perfecto, es solo el tema de los leds, pero me encantaría poder solventar esto.
Los leds se encienden brevemente al arrancar y solo se ven parpadeando cuando subes un sketch o si los usas especialmente. Hablo de los mios, claro está.
Si! el acostumbrado hola mundo con un led externo y funcionó perfecto y también el de controlar dicho led vía wifi, lo dos que están en la guia de uso que les compartí en el post original.
Como digo, el funciona perfecto, aúnque en realidad me dio fallo al subir a 9600, es la única velocidad a la que no me deja subir, será que a este le puedo sobreercribir ese valor? si mal no me equivoco con el ESP8266 se puede hacer.
Le metí la lupa (literalmente) al módulo y efectivamente pude verificar que en Nodemcu no tiene leds, esta versión no los trae, pero en el ESP8266 que tiene pegado a la placa si tiene, que es ese perolito que se ve arriba del ESP8266 a la derecha.
Entonces todas mis fuerzas giran en torno a hacer funcionar ese led.
Busca un ejemplo que dice BUILT_IN si mal recuerdo.
Prueba esto
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)
}
Ese es el sketch de prueba que trae la librería, y no funciona con este módulo =/, como comenté más arriba pude ver que efectivamente la placa no trae leds incorporados, pero el esp8266 como tal si, lo que me causa un poco de sospecha es que los contactos de este led no parecen estar conectados a nada, fijate en la nueva imagen que aporto.
Sobre la placa del Nodemcu puedo ver los "canales" (¿Cual es el término técnico?) que conectan los puertos y pines de un lado a otro, pero me da la impresión de que del led que tiene el ESP8266 no sale ninguno de estos "canales" De ser así, será posible cablear esto? capaz a algunos de los pines del mismo ESP supongo.
Ese led en mi caso enciende
Dice ver 0.1 como el tuyo y es idéntico al tuyo.
Al conectarlo al USB prende un instante muy breve
Cuando le subo un sketch tmb parpadea.
Si no enciende entonces tal vez se haya quemado el regulador. Una posibilidad sería que verifiques la tensión que llega y sale.
Verica si en donde dice 3V tienes realmente 3V
Y como es tan barato si no funciona no funciona.
Supongo que no tienes problemas para que lo reconozca la PC asi que me llama la atención que funcione una cosa y no la otra.
Actualmente no tengo un multímetro para poder hacer esa prueba.
Y asumo que el pin de 3v funciona puesto que ya lo he usado y todo chévere, en las tres pruebas que he hecho con el módulo ha funcionado perfectamente.
Y bueno si es relativamente económico aunque aquí en Venezuela eso representa medio sueldo mínimo :S
Habrá alguna forma de darle corriente directamente a ver si enciende? Digo
Porque no colocas un led en algun pin, porque no pones un programa simple que sume un contador y lo ves por puerto serie... hay miles de cosas que te diran si funciona o no.
Cambia la dirección del led BUILT_IN por la 2, el que tengo yo con la dirección BUILT_IN que viene de serie (no recuerdo ahora cual es) no enciende el led, porque el led esta en la 2, prueba a ver si con eso se enciende.
Creo que lo ideal seria hacer funcionar ese LED sin añadirle un código adicional, digo, porque ese código sería hacer que parpadee bajo mis condiciones no? y no por una respuesta automática del módulo ante los procesos que hace.
Por eso mi duda en tratar de probar ese led cableandolo a algún lado (nosé que voltaje usa ese minusculo led), a ver si enciende, y si enciende, capaz recablearlo a los puertos que debería de estar cableado.
Lo de probarlo por código seria como para un Hola mundo, pero y luego? cuando le suba mi programa con el que lo voy a usar, que haría? le añadiría ese código solo para verlo encender? esa sería la idea?
cas6678:
Si que tiene LED, no me refiero al ESP286 si no al propio Nodemcu. Si no recuredo mal el pin relacionado es el D4.
Seguí el consejo de CAS6678 y funcionó perfecto en mi nodemcu, asi que si no funciona en el tuyo tal vez no funcione.
#define LED_INTERNO D4
void setup() {
pinMode(LED_INTERNO, OUTPUT); // Initialize the LED_INTERNOIN pin as an output
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_INTERNO, 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_INTERNO, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
surbyte:
Seguí el consejo de CAS6678 y funcionó perfecto en mi nodemcu, asi que si no funciona en el tuyo tal vez no funcione.
Pues acabo de grabar un video haciendo esa misma prueba y nada. acá les dejo el link Lo que me sigue extrañando es que raro que solo ese led no esté funcionando.
Bueno!!! guarrod asume que el led no funcione.
Pasa la página hermano!!!
Siguiente paso.
Prueba un contador y ve si se incrementa usando el monitor serie. Te interesa el LED o el Nodemcu?
Usa un LED externo!!
Conecta un led al pin d4 con una R de 220 ohms. Y mira si enciendo o no
Agrega un contador
int contador = 0;
en el loop en cada ciclo,
#define LED_INTERNO D4
int contador = 0;
void setup() {
pinMode(LED_INTERNO, OUTPUT); // Initialize the LED_INTERNOIN pin as an output
}
// the loop function runs over and over again forever
void loop() {
Serial.println("Contador : %5d, ", contador++); // esto se puede en Nodemcu
digitalWrite(LED_INTERNO, 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_INTERNO, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
surbyte:
Bueno!!! guarrod asume que el led no funcione.
Así lo haré, de hecho ya estaba resignado, pero quería dar respuesta a todos los compañeros que aquí escribieron, capaz les sea útil si les llega a pasar lo mismo y saber que no es el fin del mundo.
ahora bien, probé el código pero me está devolviendo este error
sketch_jun13a:11: error: call of overloaded 'println(const char [17], int)' is ambiguous
Serial.println("Contador : %5d, ", contador++); // esto se puede en Nodemcu