lunes, 16 de mayo de 2022

El monitor serie (IDE Arduino)

Controlar el display de la tarjeta multifunción sin ninguna ayuda es complicado; por ello, de momento, utilizaremos el monitor serie que tiene el IDE Arduino para visualizar datos. Arduino se comunica con el ordenador a través del cable USB utilizando un puerto serie y podemos transmitir datos del uno al otro.

Para activar el monitor serie hay que tener conectada la tarjeta y seleccionarlo en el menú herramientas, se abrirá la ventana adjunta:


El siguiente programa envía al monitor serie el número 1, después de un segundo la palabra "Hola" y pasados dos segundos se repite el ciclo.
/*
 * monitorSerie.ino
 * Escribimos en el monitor Serie del IDE Arduino el número 1
 * seguido de la palabra Hola, a intervalos de tres segundos.
 */


void setup() {
  Serial.begin(9600);   //fijamos la velocidad de transmisión
                        //en 9600 baudios (bits por segundo)
}

void loop() {
  Serial.print(1);            //escribimos 1
  delay(1000);
  Serial.println("  Hola");   //escribimos y pasamos línea
  delay(2000);
}


Ahora visualizaremos en el monitor serie el estado de los tres pulsadores; es decir, si están presionados o liberados.

/*
 * monitorSeriePulsadores.ino
 * Monitorizamos el estado de los pulsadores en el monitor
 * serie,indicando si están presionados o liberados.
 * Usamos un variante de la instrucción if
 * if condición        si se cumple se ejecutan instruciones1
 *    instrucciones1
 * else                en caso contrario se ejecutan instruciones2
 *    instrucciones2
 */

void setup() {
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(A3, INPUT);
  Serial.begin(9600);

}

void loop() {
  if(digitalRead(A1) == LOW) {        //si pulsador presionado
    Serial.print("D1 presionado");    //   escribe D1 presionado
  }else{                              //en caso contrario  
    Serial.print("D1 liberado");      //   escribe D1 liberado
  }
  if(digitalRead(A2) == LOW) {
    Serial.print("   D2 presionado");
  }else{
    Serial.print("   D2 liberado");
  }
  if(digitalRead(A3) == LOW) {
    Serial.println("   D3 presionado");  
  }else{
    Serial.println("   D3 liberado");
  }
  delay(1000);
}



Ejercicios propuestos:

1.- Hacer un programa que visualice en el monitor serie vuestro nombre, transcurridos 5 segundos,  la edad (en la misma línea) y pasados otros 5 segundos la dirección (en la línea siguiente). Tras 5 segundos más en ciclo se repite.