Uso del terminal serie virtual en Proteus y Arduino

  • Sirve para enviar datos de los sensores al ordenador o para enviar comandos del PC al Arduino.
  • También puede ser útil para depurar programas, observando el valor de ciertas variables que nos interesen.
  • Importante: Si la comunicación serie está activada, no se pueden usar los pines D0 y D1 como entradas/salidas digitales.
  • Si no apareciera la ventana del terminal durante la simulación, escoger en el menú Depuración (Debug) la opción Virtual Terminal.
  • En void setup()Serial.begin(9600), donde en este ejemplo 9600 es la velocidad de transmisión en baudios.
  • Serial.print(“Hola Mundo”); Envía esa frase por el terminal serie. El cursor queda en la mísma línea, al final de la frase.
  • Serial.println(“Hola Mundo”); Envía esa frase por el terminal serie y añade un retorno de línea, saltando a la siguiente.
  • Si la transmisión es muy rápida podemos poner un delay(400) para añadir un retardo, en este caso de 400 milisegundos.
  • Ejemplo
    // Programa para escribir algo a través del terminal serie
    void setup() {
      // Configuración del puerto serie
      Serial.begin(9600);
    }
    void loop () {
      // Envío de datos
      Serial.println("Hola Mundo");
      delay(400);
    }
    
  • Serial.read()
  • Serial.write()
  • Ejemplo
    // Programa para recibir algo a través del terminal serie
    // Declaración de variables
    int mensaje=0; // Almacenará el código ASCII del caracter recibido
    void setup() {
      // Configuración del puerto serie
      Serial.begin(9600);
    }
    void loop () {
      if(Serial.available() > 0)
      {
        // Terminal serie disponible
        // Se almacena el código ASCII recibido
        mensaje=Serial.read();
        // Se visualiza el código ASCII del caracter
        Serial.print("Recibí: ");
        Serial.println(mensaje);
        // Se visualiza el caracter recibido
        Serial.print("Recibí: ");
        Serial.write(mensaje);
        Serial.println();
      }
    }
    

Previa configuración del terminal serie

  • En void setup()Serial.begin(9600), donde en este ejemplo 9600 es la velocidad de transmisión en baudios.

Envío de datos en el programa

  • Serial.print(“Hola Mundo”); Envía esa frase por el terminal serie. El cursor queda en la mísma línea, al final de la frase.
  • Serial.println(“Hola Mundo”); Envía esa frase por el terminal serie y añade un retorno de línea, saltando a la siguiente.

Lectura de datos en el programa

  • Serial.read()
  • Serial.write()
  • doc/tec/elo/uc_arduino/proteus_serie/inicio.txt
  • Última modificación: 2025/01/14 11:45
  • por euloxio