Lab2 Arduino
Lab2 Arduino
Lab2 Arduino
co
INTRODUCCIÓN
Comunicación serial
Para iniciar la comunicación serial con Arduino utilizando el Monitor Serial debemos
establecer algunos comandos en el Arduino IDE y luego subirlos al microcontrolador.
El código es el siguiente:
El 9600 indica el baud rate, o la cantidad de baudios que manejará el puerto serie. Se
define baudio como una unidad de medida, usada en telecomunicaciones, que representa
el número de símbolos por segundo en un medio de transmisión ya sea analógico o
digital. Para nuestros propósitos utilizaremos comúnmente una velocidad de símbolo de
9600. Siempre que vayamos a comunicarnos con Arduino vía puerto serie se necesita
invocar la sentencia Serial.begin(9600). Ahora, en la función loop nos encontramos con
una sentencia interesante: Serial.println(‘1’).
Cuando usamos println le estamos diciendo al microcontrolador que tendrá que imprimir
un caracter a través del puero serie. Hay otros métodos como Serial.print o Serial.write
que nos sirven para imprimir o escribir en el puerto serie, sin embargo, el método
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Serial.println agrega un salto de línea cada vez que se envía un dato, lo que es
provechoso para nosotros en algunos casos, especialmente cuando utilizamos el monitor
serial.
Ahora que sabemos cómo enviar datos desde Arduino a través del puerto Serie, podemos
pasar al siguiente paso que es hacer que Arduino reciba datos seriales y los interprete.
Dichos datos los enviaremos a través del monitor serial utilizando el teclado de nuestra
computadora.
En la función loop es donde está la parte importante. La línea que dice Serial.available()>0
es sumamente importante ya que limita la ejecución del código solamente cuando haya
datos disponibles en el puerto serie. Está metida dentro de una estructura selectiva (if).
Cuando haya datos disponibles para leer en el puerto serie, el método Serial.available()
tendrá un número mayor a cero (>0) por lo que cumplirá con la condición establecida en la
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
estructura selectiva y el programa procederá a ejecutar los comandos que estén dentro de
las llaves ({}) del if. Cuando entre en la estructura selectiva, a la variable input se le
asignará un valor que se lea desde el puerto serie mediante el método Serial.read().
Siempre que necesitamos leer algo lo hacemos mediante este método.
Luego de asignarle a input un valor, haremos que el microcontrolador nos devuelva por el
puerto serie el mismo valor que le enviamos desde la computadora. Para ello imprimimos
el valor de input mediante el método Serial.println(input).
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Librería de PanamaHitek
Paso 3: Tenga en cuenta que debe configurar el modelo del Arduino en la opción
herramientasPlaca y seleccionar el modelo del Arduino. En este caso es un Arduino
Uno.
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Adicionalmente se debe seleccionar el puerto serial virtual que conecta el Arduino con el
computador y este se puede configurar en la opción herramientas en este caso es el
puerto COM3
colocar el siguiente codigo debajo del objeto creado para agregar las excepciones
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Logger.getLogger(formularioprincipal.class.getName()).log(Level.SEVERE, null,
ex);
} catch (ArduinoException ex) {
Logger.getLogger(formularioprincipal.class.getName()).log(Level.SEVERE, null,
ex);
}
}
} ;
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
try {
arduino.arduinoRXTX("COM3", 9600, listener);
} catch (ArduinoException ex) {
Logger.getLogger(formularioprincipal.class.getName()).log(Level.SEVERE,
null, ex);
}
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Se ingresa el código del bonto Encender y el Boton Apagar haciendo doble clic en cada
uno de ellos
Botón Encender
try {
arduino.sendData("1");
} catch (ArduinoException ex) {
Logger.getLogger(formulario.class.getName()).log(Level.SEVERE, null,
ex);
} catch (SerialPortException ex) {
Logger.getLogger(formulario.class.getName()).log(Level.SEVERE, null,
ex);
}
Docente: Mg Bryan Fernández E bjfernandez@itsa.edu.co
Botón Apagar
try {
arduino.sendData("0");
} catch (ArduinoException ex) {
Logger.getLogger(formulario.class.getName()).log(Level.SEVERE, null,
ex);
} catch (SerialPortException ex) {
Logger.getLogger(formulario.class.getName()).log(Level.SEVERE, null,
ex);
}
REFERENCIAS BIBLIOGRAFICAS
Arduino. (2016). Arduino UNO | Arduino.cl - Plataforma Open Source para el desarrollo de
prototipos electrónicos. Retrieved September 10, 2019, from http://arduino.cl/arduino-
uno/