Arduino Serial
Arduino Serial
funcionamiento
Administrador marzo 22, 2019 Arduino, Comunicación 2 comentarios
El Serial en Arduino, se refiere a un puerto que se utiliza para comunicar dos dispositivos
digitales. Se usan dos pines, RX y TX. Por ejemplo dependiendo del tipo de tarjeta, puede
haber 1 o mas puertos. Estos puertos consisten de dos pines llamados RX y Tx. Por lo
general los datos a enviar estan codificados en caracteres.
Por ejemplo, cada puerto esta identificado por un nombre unico, en el lenguaje Arduino
son:
En el Arduino UNO R3, el serial se controla mediante los pines 0 y 1. Esto es para los
puertos reales, ya que se pueden usar otros pines como puertos seriales virtuales. En el
siguiente tema platicaremos que podemos enviar por un puerto serial.
COMUNICACIÓN ARDUINO SERIAL
Por lo general en la comunicación serial con Arduino, se envían caracteres codificados
en ascii. Estos caracteres representan la mayoria de los caracteres usados en los idiomas
que usan caracteres occidentales. Por ejemplo, para la agrupación de estos caracteres se
denomina con el estandanr UTF-8. En la siguiente tabla se muestran equivalencias para
algunos caracteres y su representación en numeros binarios y hexadecimales.
Para poder enviar caracteres en formato ascii se usan las funciones de Arduino Serial print
y println. Por ejemplo, la siguiente instrucción:
Serial.println(«Hola Mundo!);
Serial.begin(9600);
La instrucción anterior permite inicializar los pines RX y Tx para que puedan ser usados
como puerto serial. Además configura el puerto con una velocidad estandar de 9600
Baudios por segundo. El puerto en Arduino Serial se configura con los siguientes
parametros:
Si quieres ver como recibir datos seriales, o leer datos seriales te recomiendo que veas
nuestro tutorial sobre la funcion Arduino serialEvent.
Arduino serialEvent – recepción serial
asíncrona
Administrador enero 29, 2018 Arduino, Basicos generales 1 comentario
La función de Arduino serialEvent te permite recibir datos seriales de una forma parecida
a una interrupción o de forma asíncrona. Entonces está función sólo se ejecuta si existen
datos seriales en el buffer del puerto serial. La función de Arduino Serial Read se usa para
leer a estos datos seriales. Es importante mencionar que esta función no es asíncrona
propiamente, sino que es ejecutada en cada iteración de la función loop. Por lo tanto si la
función loop demora mucho, así será la demora de la recepción de los datos seriales. Esta
función no es compatible con el Arduino Esplora, Leonardo y Micro.
SINTAXIS DE LA FUNCIÓN DE ARDUINO
SERIALEVENT
La sintaxis de la función de Arduino serialEvent sólo requiere definir a la función void
serialEvent() después de la función loop. Entonces dentro de esta función se puede agregar
las instrucciones para la lectura de los datos seriales mediante el serial read. El propósito de
esta función es ejecutarse al inicio de cada iteración para la función loop. Esto se realizará
hasta encontrar un carácter del código ascii que nos permita saber si ya se termino la
transmisión. Para dicho evento, normalmente se utilizan a los caracteres \n o \r.
void serialEvent( ){
char vectorChar[20];
void setup() {
Serial.begin(115200);
cadenaCharEntrada.reserve(20);
void loop() {
Serial.println(numeroEntero);
cadenaCharEntrada = "";
if (CaracterEntrada == '\n') { //Si el char o byte recibido es un fin de linea, activa la bandera
finCadena = true; //Si la bandera finCadena = 1, entonces la transmision esta
completa
}
ELEMENTOS DEL CÓDIGO DE EJEMPLO
El código del ejemplo anterior contiene ciertas instrucciones que permiten la recepción
serial.
String. La variable del tipo string permite guardar una cadena de caracteres. Por ejemplo,
un string es como un vector de variables char, pero con mejoras.
bool. Es una variable que puede guardar dos estados, false o true. Esta variable se utiliza
para saber si ya recibió o no el fin de la línea de transmisión.
Serial.available(). Está función te regresa verdadero, si hay dos sin leer en el buffer de
entrada serial. También regresa falso si ya no hay información para leer.
Serial.read(). Lee un byte a la vez de puerto serial. Es por eso que se utiliza en conjunto con
el while(serial.avialable()) para leer todos y cada uno de los bytes recibidos.
.toChayArray() . Permite convertir un string a un vector de caracteres.
atoi. Esta función nos permite convertir un vector de caracteres a una variable entera.
OTRAS FUNCIONES DE ARDUINO
Arduino serial Read.
analogWrite.
Arduino String.
pinMode.
Arduino Round.
millis.
Arduino atoi.