Está en la página 1de 15

Arduino

Comunicacin Serial

Qu es comunicacin serial?
Es mandar todos los bits de datos al mismo tiempo. Es mandar los bits por USB. Es mandar los bits en un tren de datos.

Baud Rate
Es bsicamente la tasa de transferencia de datos en cierta unidad de tiempo. Ejemplo de Baud Rate tpicos:
300 1200 2400 4800 9600 14400 19200 28800 38400 57600 115200

Paso 0
No se requiere aadir ninguna librera ya que por omisin los maneja arduino para comunicarse por medio del puerto USB (serialmente) con la computadora. Corresponde a los pines digitales 0 y 1. No hay que tener nada conectado a estos pines durante la comunicacin/grabacin del arduino.

Paso 1
Serial.begin(datarate) Hay que emplearla para configurar la velocidad de transferencia.

Paso 2
Serial.available() Sirve para detectar si hay una transmisin serial llegando al arduino lo que permite empezar a realizar un procedimiento.

if (Serial.available()) { ... bla, bla, ....}

Paso 3
Serial.read() Lee la transmisin serial y debe de ser almacenada en una variable de tipo byte, ya que arduino realiza la tx en bloques de bytes.

Ejemplo: variableByte=Serial.read();

Paso 4
Serial.print(VariableByte); Permite la impresin del contenido de la variable

Paso 5
Serial.println(VariableByte) Realiza la misma funcin que Serial.print(VariableByte) pero agrega el salto de lnea e inicio de una nueva lnea.

Paso 6
Serial.write(VariableByte) Realiza una funcin similar a Serial.print(VariableByte) pero a diferencia de esta interpretara el contenido directamente como un cdigo asccii. Ejemplo: Serial.print(33); //Imprime el caracter // ascii de !

Paso 7.
Programar un cdigo de comunicacin serial entre 2 arduinos de forma que uno realice la transmisin (TX) de un cdigo y al recibirlo (RX) el otro arduino mande el mensaje al display lcd; entonces el segundo arduino realizara las veces de TX y el primer arduino de RX mostrando en el display lcd el mensaje recibido.

Libreria SoftwareSerial()
Se emplea para realizar la TX/RX serial usando pines digitales diferentes al 0 y 1. Inlcuirla al principio Usar el begin(BaudRate)

Uso
SoftwareSerial Nombre(RxPin, TxPin) Nombre: Identificador de la conexin serial RxPin: Pin de recepcin serial TxPin: Pin de transmisin serial

flush()
Nombre.flush() Sirve para limpiar el bus o buffer de datos.

strncmp()
strncmp(string1, string2, numberOfCharacters)

Sirve para comparar 2 bytes Ejemplo:

if (strncmp("goodnight", "room", 4) == 0)