Hola. Acabo de recibir de Aliexpres 2 "Arduinos Nano" a los cual (después de instalar el driver CH341) he cargado el siguiente programa:
void setup() {
Serial.begin(9600);
delay(100);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
for (int a = 0; a < 3; a++)
{
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("*** On ***");
delay(200);
digitalWrite(LED_BUILTIN, LOW);
Serial.println("*** Off ***");
delay(200);
}
delay(500);
for (int b = 0; b < 3; b++)
{
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("*** On ***");
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
Serial.println("*** Off ***");
delay(1000);
}
}
El programa hace parpadear el Led integrado con el código morse SOS a la vez que envía mensajes de On y Off por el monitor serial.
Cargo el mismo programa en otro Arduino Nano (también chino) que tengo y funciona como es de esperar.
Al cargar el programa en cualquiera de lo dos Nanos nuevos, éste se carga sin problemas dando el mensaje de "Subido" en el IDE.
El problema es que, en la ejecución, el led parapadea a una velocidad unas 3 veces mas lenta que lo programado, y al mirar en el monitor Serial en lugar de leer:
"*** On ***
*** Off ***
*** On ***
*** Off ***
*** On ***
*** Off ***
*** On ***
*** Off ***
*** On ***" etc...
Leo algo parecido a lo siguiente:
"⸮x⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮".
¿Alguien sabría decirme cual es el problema que tengo? Espero haberme explicado.
El programa sube "Parpadean los leds TX y RX" luego el ide dice que "Subido".
Por supuesto, el monitor serial está a 9600.
Además, no sólo está el problema del serial, ¡El led parapadea más lento!
Nno menosprecies mis consultas porque yo no estoy frente a tu Arduino y debo entender que puede estar ocurriendo y además tu escribiste que el sistema muestra
"⸮x⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮⸮⸮x⸮⸮x⸮".
y eso habitualmente tiene que ver con BAUDIOS diferentes a los que se establecen por código.
Tal vez sea una toneria pero prueba cambiar
LED_BUILTIN por otra leyenda y definelo asi
#define LED_BIN 13 y luego usa esta etiqueta en lugar de LED_BUILTIN.
Yo una vez tuve uno que el cristal en vez de ser de 16.000Mhz traía una de 8.000 Mhz (venía así) y todo me lo hacía mucho mas lento. Su mundo iba más lento hasta que me dí cuenta de que el problema estaba ahí.
No digo que sea también tu caso, pero hasta que me dio por mirar eso un dia me estuvo mareando.
No es mi intención menospreciar ni mucho menos. Entiendo que es inusual, lo mas probable es que me hayan estafado con los Nano. Pero es interesante y curioso, por eso lo comento. Seguro que solucionando bobadas de este tipo se aprende mucho.
He cambiado el programa y sigue ocurriendo lo mismo:
#define LED_BIN 13
void setup() {
Serial.begin(9600);
delay(100);
pinMode(LED_BIN, OUTPUT);
}
void loop() {
for (int a = 0; a < 3; a++)
{
digitalWrite(LED_BIN, HIGH);
Serial.println("*** On ***");
delay(200);
digitalWrite(LED_BIN, LOW);
Serial.println("*** Off ***");
delay(200);
}
delay(500);
for (int b = 0; b < 3; b++)
{
digitalWrite(LED_BIN, HIGH);
Serial.println("*** On ***");
delay(1000);
digitalWrite(LED_BIN, LOW);
Serial.println("*** Off ***");
delay(1000);
}
}
Pues va a ser algo del cristal, el problema es que es muy pequeño y no alcanzo a leerlo.
He cambiado
Serial.begin(38400);
y ahora puedo leer correctamente desde el puerto serial ¡conectando a 9600!. a Parte del problema con los delays, ¿es posible que pueda hacer correr correctamente un programa si prescindo del uso de delays?
Desde luego, me han timado como a un chino, pero tal vez pueda hacerlo funcionar. El programa que tengo que cargar realmente es otro más complejo. lo probaré...
Bueno, pero comienza entonces mirando tu placa y busca la identificación del cristal que esta usando.
No es por nada pero recuerdas que te dije que era un problema de BAUDIOS... resulto que si lo era asociado claro al cristal.
Cuando compres algo siempre revisa las calificaciones pero además léelas y te aclaro que a todos nos pueden timar.
Intenta, si acaso, hacerle una foto con el movil y así despues poder ampliarla, o con el zoom, si te es demasiado pequeño de leer y no dispones de otro sistema es el más a mano que solemos tener
Los podrás aprovechar para algunas cosas que hagas que sean más simples y no le afecte tanto el tema de la lentitud como hice yo con el que tuve. Pero al menos ya no te calientas más la cabeza con algo que no se entendía el porqué. Saludos