abrir la ventana del monitor serial por hardware o por comando ?

Hola a todos. Hace mucho tiempo que no me paso por el foro, por lo cual pido disculpas de antemano.

Durante algún tiempo he estado "cacharenado" el arduino en algunos proyectos que espero colgar más adelante, pero de momento tengo un problemilla y me gustaría saber si alguien conoce la solución o me puede dar una guía de como poder encontrarla.

La cuestión es que estoy ayundando a mi hijo con un espectrofotómetro controlado por arduino.

El proyecto usa dos placas: Una se encarga de controlar el encendido de un led (fuente de luz), controlar el estado (O/I) de una fotoresistencia (sensor) y el giro de un motor paso a paso (que tiene una reja de difracción, y al girar el eje, los distintos colores pasan por la fotocelda).

La segunda placa lee el voltaje de la ldr en A0 gracias a un pequeño circuito divisor de tension, y para ver las lecturas echamos mano del Monitor Serial o, si queremos graficas, del Serial Plotter.

El problema está en que el movimiento del motor se inicia al pulsar un botón en la primera placa, y la lectura se comienza a hacer en la segunda placa al abrir el Serial, de forma manual. Ambos procesos no están coordinados por programa, con lo cual al comenzar la el movimiento del motor, con las consiguiente excitación de la ldr, el primer valor leeido en el Serial no es siempre el mismo, o por lo menos cercano en cada ejecución.

Las preguntas:

Existe algún comando que abra el monitor serial, o una manera de hacerlo abrir automáticamente al pulsar un botón (hardware), o algún mod del IDE de arduino que contemple esta posibilidad, de manera que siempre que se pulse el botón se coordine la primera lectura del sensor con la apertura del monitor serial?

Sería posible o conveniente "recargar" de tanto proceso una sola placa arduino, es decir, que la misma placa controle el encendido del led, la activación del sensor, el movimiento del motor y la lectura de la entrada A0?

De antemano disculpadme si no he sido muy claro en la exposición del problema, o si he posteado en un hilo que no corresponde y muchas gracias por la ayuda.

En próximos días postearé todo el proyecto, que como vereis consta de sketch muy sencillos.

Porque no usas un programa terminal permanentemente abierto como Termite: a simple RS232 terminal
Yo uso eso y no el monitor serie. Claro que si lo tienes abierto y envias un sketch dará error pero eso es obvio.
Hablamos de código que funciona correctamente y quieres ver la salida serial.

1 Like

Gracias surbyte por responder tan rápido. El código funciona perfectamente y de hecho, puedo ver la salida en el Serial Monitor sin problemas. Lo que estoy buscando desde hace rato ya es que al pulsar un botón en la placa arduino A, se abra automáticamente el Serial Monitor en la placa arduino B. Esto, en principio, me permitiría obtener una sincronización entre la lectura del sensor LDR y el envío de datos al Serial Monitor.

En la práctica lo que está pasando es que cuando presiono el botón de "lectura" en la placa A del espectrofotómetro, la ldr comienza a enviar los datos a la placa B; manualmente debo abrir el Serial para ver los datos. Este solo hecho hace que no siempre coincidia el valor de la primera lectura ya que debería pasar un tiempo constante entre pulsar el botón y el comienzo de la lectura serial. Lo mismo pasará si el Serial está abierto. Si programo la lectura de datos en el serial cada 100 ms (por ejemplo) debería ser muy exacto para presionar el boton que hace que la LDR comience a hacer la lectura siempre en el mismo instante. Por lo tanto se me ocurre que para solucionar esto, debería haber alguna manera de controlar la apertura del serial de la placa B desde un pulso, y así sincronizar el boton de inicio de lectura con Serial Monitor.

Miraré esta opción de un programa terminal externo y comento.

Es que lo que pides no se sinceramente como se puede hacer.
Deberías modificar el código fuente para que haga un llamado directo al monitor serie al terminar.
Mi programa ST + Platformio+ DEVIOT hace eso a veces y otras no.
O sea.. termino de compilar y me auto abre la pantalla del monitor serie pero no siempre