Ver páginaRevisiones antiguasEnlaces a esta páginaExportar a PDFExportación a ODTVolver arriba Esta página es de solo lectura. Puedes ver la fuente pero no puedes cambiarla. Pregunta a tu administrador si crees que esto es incorrecto. ====== 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. \\ ===== Configuración en el Proteus 8.11 ===== <image shape="thumbnail">{{ :doc:tec:elo:uc_arduino:proteus_serie:serial_config.png?nolink |}}</image> \\ * Si no apareciera la ventana del terminal durante la simulación, escoger en el menú ''Depuración (Debug)'' la opción ''Virtual Terminal''. \\ ===== 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. * 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 <code> // 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); } </code> \\ ===== Lectura de datos en el programa ===== * ''Serial.read()'' * ''Serial.write()'' * Ejemplo <code> // 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(); } } </code> \\ ===== Resumen ===== **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()'' \\ ===== Consulta ===== <WRAP center round help> {{ico:consulta_32.png?nolink|}} Contenidos - [[https://aprendiendoarduino.wordpress.com/2016/07/02/comunicacion-serie-arduino/|Comunicación Serie Arduino]] {{:ico:video.png?nolink|}} Vídeos <TEXT align="center"> <grid><col xs="12" md="6"> <badge>1</badge> [[https://youtu.be/_uck3dUoEA0|Terminal virtual Proteus 8 parte 25 (10m 47s)]] {{ youtube>_uck3dUoEA0? }} \\ </col><col xs="12" md="6"> <badge>2</badge> [[https://youtu.be/dPkDfYxFu7k|Monitor serial de Arduino con Proteus (10m 21s)]] {{ youtube>dPkDfYxFu7k? }} \\ </col></grid> </TEXT> </WRAP> \\ doc/tec/elo/uc_arduino/proteus_serie/inicio.txt Última modificación: 2025/03/27 11:10por euloxio