Comunicación Serial
Algo que resulta muy útil al trabajar con microcontroladores, es tener comunicación con la computadora para así ver de alguna forma que está haciendo el microcontrolador. Se puede lograr al desplegar mensajes con la función “print” y verlos en una “terminal” en la computadora.
Por ejemplo un mensaje al inicio de la ejecución del programa que indique que todo anda bien.
Para comunicar la computadora y el Arduino se utiliza el puerto Serial con que cuenta el Arduino y que en la computadora se conoce como puerto “COM” que se identificó en la sección de Configuración Inicial.
Entonces, se requiere hacer uso del puerto Serial en ambos lados, el microcontrolador y la computadora.
Arduino:
void setup() { // --- Rutina para abrir el puerto serial -------- Serial.begin(9600); // -------------------------------------------- // --- Instrucción para mandar un mensaje a la computadora --- Serial.println("Iniciando..."); // -------------------------------------------------------------- }
Este ejemplo mandará el mensaje “Iniciando…” a la computadora al iniciar el programa del Arduino.
Computadora:
Para recibir el mensaje en la computadora, se requiere abrir una terminal, puede utilizarse el “Monitor Serial” que viene incluido en el Software Arduino, para iniciarlo se puede hacer click en el botón ubicado en el extremos superior derecho de la ventana:
Se abrirá una nueva ventana donde se recibirán los mensajes enviados desde el Arduino:
Si el mensaje no se logra ver, se puede reiniciar el programa al presionar el botón de “reset” en la tarjeta Arduino.
Ejemplo:
Mostrar un mensaje que indique cuando el LED del programa anterior enciende y otro mensaje cuando apague.
Una vez inicializado el puerto serie en el setup(), se puede utilizar un Serial.println para mostrar mensajes en la terminal. En este caso, puede quedar:
void setup() {
Serial.begin(9600); pinMode(13, OUTPUT); } void loop() {
Serial.println("LED ENCENDIDO"); digitalWrite(13, HIGH); delay(1000);
Serial.println("LED APAGADO"); digitalWrite(13, LOW); delay(1000); }
Al estar dentro de la función loop(), se repetirá infinidad de veces cada letrero, de modo que cada que encienda el LED se verá en la terminal LED ENCENDIDO y cuando apague LED APAGADO:
LED ENCENDIDO
LED APAGADO
LED ENCENDIDO
LED APAGADO
LED ENCENDIDO
LED APAGADO
Ejercicios:
3B: Mostrar el número de veces que se ha encendido y apagado el LED. (Se requiere utilizar una variable para llevar la cuenta)
(354)