Leer el puerto serie con Arduino

Este tutorial tiene como objetivo enviar a traves del monitor en serie una letra “a” y encender un LED, si recibe una “b” apagar el led y si se envie cualquier otro caracter no debera ocurrir nada.

Materiales:

  1. Protoboard
  2. Arduino uno
  3. Led
  4. Resistencia de 220 ohmios

Diagrama de conexión:

  1. Conecta el ánodo del LED (la patilla más larga) al pin digital 3 del Arduino.
  2. Conecta el cátodo del LED (la patilla más corta) a uno de los extremos de la resistencia.
  3. Conecta el otro extremo de la resistencia al pin GND del Arduino.

Código fuente:

En la función «void setup()» utilizo como siempre la función «Serial.begin()» para inicilizar el puerto serial. En este caso también lo hago con una velocidad de 9600 bps. Para poder encender el LED configuro el pin al que está conectado como un pin de salida. 

Para leer el puerto serie con Arduino, lo primero que tienes que hacer es comprobar si está disponible o no. ¿Cómo haces ésto? Pues utilizando la función «Serial.available()». Esta función devuelve un 0 si el puerto está ocupado y un 1 si no lo está.

En caso de que esté disponible, utilizo la función «Serial.read()» para leer el puerto serie, y guardo el valor leído en la variable «option». Como te he dicho al principio, si el valor leído es una «a» enciendo el LED y si es una «b» lo apago. 

char option = ' ';
int LED = 12;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available() != 0){
    option = Serial.read();
    if(option == 'a'){
      digitalWrite(LED, HIGH);
    }
    else if(option == 'b'){
      digitalWrite(LED, LOW);
    }
  }
  
  delay(100);
}

(0) Comentarios

No registra comentarios, se el primero en comentar.
Publicar

Pública tu duda o comentario

Resuelve tus dudas con la comunidad.

*Obligatorio*