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
D0yD1como entradas/salidas digitales.
Configuración en el Proteus 8.11
- Si no apareciera la ventana del terminal durante la simulación, escoger en el menú
Depuración (Debug)la opciónVirtual Terminal.
Previa configuración del terminal serie
- En
void setup()→Serial.begin(9600), donde en este ejemplo9600es 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.- 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); }
Lectura de datos en el programa
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(); } }
Resumen
Previa configuración del terminal serie
- En
void setup()→Serial.begin(9600), donde en este ejemplo9600es 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()
Contenidos
Vídeos