Академический Документы
Профессиональный Документы
Культура Документы
Y CONTROL ORIENTADO AL
CONOCIMIENTO Y APLICACIÓN
DE LOS SISTEMAS EMBEBIDOS
SESION 04
José Luis Albites Sanabria
MSc. Biomedical Engineering
Brown University, USA
correo: jose.albsab@gmail.com
Celular: 982890844
¿Por qué nos comunicamos?
COMUNICACIÓN SERIAL
La comunicación serial envía información mediante una secuencia de
bits. Para ello se necesitan al menos dos conectores para realizar la
comunicación de datos, RX (recepción) y TX (transmisión).
Las placas Arduino UNO disponen de un puerto serie que opera a nivel
TTL 0V/ 5V, por lo que son directamente compatibles con la conexión
USB. Los pines empleados para la comunicación serial en el arduino
son: 0 (RX) y 1 (TX). Mientras estemos haciendo comunicación serial no
podemos usar estos pines como entradas o salidas digitales.
COMANDOS COMUNICACIÓN SERIAL
Serial.begin(rate): Abre un Puerto serie y especifica la velocidad de
transmisión. La velocidad típica para comunicación con el ordenador es
de 9600 aunque se pueden soportar otras velocidades.
void setup(){
Serial.begin(9600); // abre el Puerto serie
} // configurando la velocidad en 9600 bps
void loop() {
if (Serial.available() > 0) {// pregunta si hay dato disponible
}
}
COMANDOS COMUNICACIÓN SERIAL
Serial.read(): Lee o captura un byte (carácter) desde el puerto serie.
Devuelve -1 si no hay ninguno.
void loop() {
if (Serial.available() > 0) { // Pregunta si hay dato disponible
dato = Serial.read(); // Lee el dato disponible
}
}
Serial.println(data,data type): Imprime o envía un número o una cadena
de caracteres al puerto serie, seguido por un retorno de carro y salto de
línea (CR y LF).
Serial.print(data,data type): Al igual que el anterior imprime o envía un
número o una cadena de caracteres al puerto serie, pero sin salto de
línea.
TIPOS DE DATOS A ENVIAR
Serial.print(n)
Envía el valor de n como un número decimal en caracteres ASCII.
int n = 20;
Serial.print(b); // envía “20".
Serial.print(n, DEC)
Envia el valor de n como un número decimal en caracteres ASCII.
int n = 20;
Serial.print(n, DEC); // envía “20".
Serial.print(n, HEX)
Vuelca o envía el valor de b como un número
hexadecimal en caracteres ASCII.
int n = 20;
Serial.print(n, HEX); // envía “14".
TIPOS DE DATOS A ENVIAR
Serial.print(n, OCT)
Envía el valor de n como un número octal en caracteres ASCII.
int n = 20;
Serial.print(n, OCT); // envía “24".
Serial.print(n, BIN)
Envía el valor de n como un número binario en caracteres ASCII.
int n = 20;
Serial.print(n, BIN); // envía “10100".
TIPOS DE DATOS A ENVIAR
Serial.print(n, BYTE)
Envía el valor de n como un byte.
int n = 48;
Serial.print(n, BYTE); // Devuelve caracter ASCII del valor
48
Serial.print(str)
Envía la cadena de caracteres como una cadena ASCII.
Serial.print(“Hola!"); // envía “Hola!"
En esta experiencia se leerá el estado del sensor LDR (AI) y será mostrado al
usuario a través del "Monitor Serial", además de observar que existen
diferentes maneras de imprimir la información (ASCII, decimal, hexadecimal,
binaria).
EXPERIENCIA 2
MATERIALES:
- 1 resistencia 10k.
- 3 Jumpers.
- 1 LDR.
EXPERIENCIA 2
¿Qué aprendimos en la
cuarta sesión?