Monitor serie

Enlaces donde encontras información:

  • De monitor serie

https://www.luisllamas.es/arduino-puerto-serie/

https://aprendiendoarduino.wordpress.com/category/monitor-serie/

  • Instrucción serial.print()

http://cursoarduinomega.blogspot.com/2015/10/todo-sobre-serialprint.html

 http://diymakers.es/usando-el-puerto-serie-del-arduino/ aqui además vemos una tabla de código ascii

http://manueldelgadocrespo.blogspot.com/p/description-text-strings-can-be.html

Es hora de comunicarnos con el ordenador, lo haremos con instrucción

 Serial.begin(9600);//  Esta instrucción habilita la comunicación.

Este instrucción debe la ponemos dentro de void setup(){

Con ella habilitamos la comunicación con el ordenador, y ATENCIÓN no podemos utilizar los pines 0 y 1 del arduino como entradas o salidas, porque los utiliza para la comunicación, asi que en nuestros programas dejaremos esos pines sin conectar.

Para ver el resultado de la comunicación en el ordenador abrimos en la IDE de arduino el monitor serie

Para ver un texto en el monitor serie utilizo la instrucción

  Serial.print("el texto entrecomillado aparece en el monitor cuando se ejecuta la instrucción");
 Serial.print(variable);  //sino pongo comillas se imprime el valor de la variable
 Serial.println(" texto ");  // si termino con println la siguiente impresión se escribre en al línea siguiente.

En el siguiente programa veras aparecer mensajes de texto en el monitor serie cada segundo, y sera distinto si el pulsador esta activado o no lo está.

Solo hemos utilizado un led y un pulsador, pero te vale el montaje de la protoboard del tema anterior.

Adelantamos el concepto de variable, que veremos un poco más en profundidad en el tema siguiente.

int Led1 = 2; // la variable led1 almacena el valor 2
int Led1 = 2;
int pulsador1= 5;

void setup() 
{
pinMode(Led1,OUTPUT);
pinMode(pulsador1,INPUT);
Serial.begin(9600);

}
void loop() 
{ 
  if (digitalRead(pulsador1) == HIGH)
  {
  digitalWrite(Led1,HIGH); 
  Serial.println (" el led esta encendido ");
  }
  else {
    digitalWrite(Led1,LOW);
    Serial.println (" el led esta apagado "); 
  }
 Serial.print (" el pulsador está conectado al pin ");
 Serial.println(pulsador1);
 Serial.print (" el led1 está conectado al pin ");
 Serial.println(Led1);
 delay (1000); 
}

NOTA: El programa realiza una ejecución cada segundo, por la instrucción delay (1000); por tanto debe de tener accionado el pulsador como mínimo a 1 segundo para asegurarte el funcionamiento.

Ampliamos el programa añadiendo la variable (estadoPulsador1) que toma el valor 0 si no esta pulsado y 1 si esta pulsado con la instrucción

estadoPulsador1=digitalRead(pulsador1);// la variable estadoPulsador1 toma el valor del estado del pin 5, porque pulsador1 vale 5.

int Led1 = 2;
int pulsador1= 5;
int estadoPulsador1; // creo una varible para almacenar el estado del pulsador 1

void setup() 
{
pinMode(Led1,OUTPUT);
pinMode(pulsador1,INPUT);
Serial.begin(9600);

}
void loop() 
{ 
  estadoPulsador1=digitalRead(pulsador1);// la variable estadoPulsador1 toma el valor 1 si esta pulsado o cero si no esta pulsado.
  if (digitalRead(pulsador1) == HIGH)
  {
  digitalWrite(Led1,HIGH); 
  Serial.println (" el led esta encendido ");
  }
  else {
    digitalWrite(Led1,LOW);
    Serial.println (" el led esta apagado "); 
  }
 Serial.print (" el pulsador está conectado al pin ");
 Serial.print(pulsador1);
  Serial.print (" y tiene el valor");
  Serial.println(estadoPulsador1);// 0 no pulsado 1 pulsado
 
  Serial.print (" el led1 está conectado al pin ");
 Serial.println(Led1);
  delay (1000); 
}

Ante cualquier duda o ejercicio relacionado no dudes en ponerlos en comentarios.

OTRO EJEMPLO DE IMPRESIÓN

int a=123; //declaro la variable a y la cargo con 123
int pin_pulsador= 2;//declaro la variable pin_pulsador y la cargo con 2
int pin_led=13; //declaro la variable pin_led y la cargo con 13
int estado_pul; //declaro la variable estado_pul para almacenar el estado del pulsador
int estado_led; //declaro la variable estado_led para almacenar el estado del led

void setup() {
pinMode(pin_led, OUTPUT);
pinMode(pin_pulsador, INPUT);
Serial.begin(9600);// activamos el monitor serie
}
void loop() {
if (digitalRead(pin_pulsador) == HIGH ) digitalWrite(13, HIGH);//si activo el pulsador
else digitalWrite(pin_led, LOW);// sino apago el led
  
estado_pul=digitalRead(pin_pulsador);//leo el estado de la entrada 2 y lo almaceno en la variable pul_1 (0 no pulsado, 1 pulsado)
estado_led=digitalRead(pin_led);//leo el estado de la salida 13 y lo almaceno en la variable led (0 apagado 1 encendido)

Serial.print ("el pulsador esta conectado a pin ");
Serial.println (pin_pulsador);
Serial.print ("el estado del pulsador  1 es  ");////texto entrecomillado  sale en la pantalla monitor serie
Serial.println(estado_pul); //i no esta activado el pulsador 1, escribe 1 si esta pulsado. Como he utilizado  la instrucción terminada en ln, bajo una linea.
Serial.print ("el led esta conectado a pin ");
Serial.println (pin_led);
Serial.print("el estado del led es ");// identico para el estado del led.
Serial.println(estado_led);
Serial.print ("OTRAS IMPRESIONES");
Serial.println (2); // el numero 2
Serial.println (2,BIN); //dos en binario 10
Serial.println (a); // el valor de la variable a
Serial.println ('a');//  el caracter a
Serial.println ('a',DEC); //a en codigo ascii vale 97
Serial.println ("a");// la cadena a
//Serial.println (b); b hace referencia a una variable que al no estar declarada da error

delay (500);//espera medio segundo y vuelve realizar el programa.
}

NOTA: puedo utilizar el montaje tres led tres pulsadores, cambiando las instrucciones

int pin_pulsador= 2; por int pin_pulsador= 5;
int pin_led=13; por int pin_led=2;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *