Arduino - Arduineando

Anuncio
Arduino
Taller de Arduino
Comunicación con el Arduino
Eduardo Sacristán Ruiz-Funes
Arduino
Comunicación:
●
●
Utilizando la biblioteca Serial
–
Con el Monitor Serial
–
Con Processing
–
Con otros lenguajes
Con otros protocolos
–
Usando un shield con xBee
Arduino
Comunicación con el Arduino
●
●
●
●
●
Todos los Arduinos tienen al menos un
puerto serial, UART o USART
Usa los pines 0 (RX) y 1 (TX) y/o el USB
Nos permite comunicarnos con el Arduino
Lo podemos hacer por el conector USB
Tiene un buffer de 128 bytes
Arduino
Comunicación con el Arduino
●
El arduino puede funcionar:
–
–
●
conectado a una computadora
independientemente
Y se puede comunicar:
–
–
–
–
con la computadora a la que está conectado
a través del puerto serial con otro equipo
con otros equipos usando varios protocolos
usando algún shield de comunicación
Arduino
Comunicación usando Serial
●
●
Es un biblioteca incorporada al lenguaje
Con varias funciones o métodos:
–
–
–
–
–
–
Serial.begin(9600); para iniciar la comunicación
Serial.available(); para saber si hay datos
Serial.read(); para leer los datos de entrada
Serial.print(dato); para enviar datos a la pc
Serial.println(dato); print con retorno de línea
y otras más
Arduino
Serial.begin(velocidad);
●
●
●
●
Se usa para inicializar la comunicación
Abre el puerto serie con la velocidad indicada
La velocidad está dada en baudios, baudrate
Ambos extremos deben usar el mismo
baudrate.
Serial.begin(9600);
Arduino
Serial.available();
●
Para saber si hay datos en el buffer
–
–
●
devuelve el número de bytes en el buffer
un cero si no hay datos
Podemos usarla con un if
if (Serial.available() > 0) {
// lee los datos
}
Arduino
Serial.read();
●
Para leer los datos en el buffer
–
–
●
devuelve el primer byte disponible en el buffer
o un -1 si no hay datos
Podemos usarla en una asignación
datoEntrada = Serial.read();
Arduino
Serial.print(dato);
●
Para enviar un dato.
–
–
–
●
Serial.println(dato)
–
●
envía el dato por el serial
el dato puede ser de cualquier tipo
lo envía como ASCII
envía con un retorno de línea
La podemos usar con:
Serial.print(variable);
Serial.print(“cadena de texto”);
Arduino
Otras funciones de Serial
●
end() - termina la conexión
●
peek() - lee el siguiente dato sin removerlo
●
flush() - vacia el buffer
●
write() - envía el dato en binario
Arduino
Como podemos usar Serial
●
Desde el monitor serial
–
●
Lo abrimos desde el toolbar
Desde un lenguaje de programación
–
Que pueda escribir y/o leer en el puerto serial
Arduino
Otras opciones de comunicación
●
●
Usando otros protocolos de comunicación
– tipo SPI o 12C
Usando shields con equipos de
comunicación
– ethernet, wi-fi, bluetooth, xbee, ...
Arduino
Proyectos
●
●
●
●
Recibiendo datos en el Monitor Serial
Enviando datos desde el Monitor Serial
Conectando dos arduinos con el serial
Recibiendo datos con Processing
●
Enviando datos con Processing
●
Enviando y recibiendo con Python
Descargar