Puedes utilizar el comando Serial.read()
para obtener datos que llegan a Arduino a través del puerto serial.
El siguiente ejemplo muestra cómo utilizar el ordenador para controlar un LED con Arduino. Utilizaremos el on-board LED, por lo que todo lo que necesitas es cargar este código:
int ledPin=13; int incomingByte; void setup() { Serial.begin(9600); pinMode(ledPin,OUTPUT); } void loop() { if(Serial.available()>0){ incomingByte=Serial.read(); if(incomingByte=='H'){ digitalWrite(ledPin, HIGH); } if(incomingByte=='L'){ digitalWrite(ledPin,LOW); } } }
Abre el monitor del puerto serie desde Herramientas -> Monitor Serial o con el icono al final de la barra de tareas. Hay un cuadro de entrada de texto con el botón enviar al lado. Escribe H en el cuadro de entrada y haz clic en el botón enviar. Deberías ver que se enciende el LED conectado al Pin 13 de tu Arduino. Teclea L y envía. El LED se apagará. Asegúrate de utilizar mayúsculas.
Los comandos utilizados son:
Serial.available()
: Comprueba si hay señales procedentes del puerto serial. Devuelve bientrue
(verdadero) ofalse
(falso). Lee las señales sólo cuando estén disponibles.Serial.read()
: Lee un byte del puerto serie.
Sólo queremos leer del puerto serial cuando haya datos entrantes. Por tanto, primero comprobamos con Serial.available
si hay algo que leer. En ese caso, leemos con Serial.read()
y lo guardamos en incomingByte
. Luego comprobamos si incomingByte
es igual a ‘H’ o ‘L’ y encendemos o apagamos el LED conforme a esto.
¡Sigue experimentando!
- Consulta cualquiera de los ejemplos en Archivo –> Ejemplos –> Castilla –> Help, casi todos hacen uso del puerto serie. Por ejemplo, controla el programa breath light con las señales del puerto serial.
- Si dispones de dos baterías de 9V, haz que un Arduino controle al otro. El Arduino que recibe las señales debe tener el código anterior. El Arduino que envía debe mandar las señales “H” o “L” alternativamente.