0% encontró este documento útil (0 votos)
167 vistas

5 - Comunicaciones Serial y Arduino - Arduino

Este documento describe la comunicación serial y cómo funciona con Arduino. Explica que los puertos seriales permiten la comunicación entre Arduino y un ordenador, y que utilizan las líneas RX y TX para transmitir datos en forma de bits. También describe cómo Arduino usa la unidad UART para realizar conversiones de datos y cómo los puertos seriales están conectados a diferentes pines, dependiendo del modelo de Arduino. Finalmente, muestra un ejemplo de cómo usar la comunicación serial entre dos placas Arduino para controlar un LED de forma remota.

Cargado por

Paul Chiliquinga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
167 vistas

5 - Comunicaciones Serial y Arduino - Arduino

Este documento describe la comunicación serial y cómo funciona con Arduino. Explica que los puertos seriales permiten la comunicación entre Arduino y un ordenador, y que utilizan las líneas RX y TX para transmitir datos en forma de bits. También describe cómo Arduino usa la unidad UART para realizar conversiones de datos y cómo los puertos seriales están conectados a diferentes pines, dependiendo del modelo de Arduino. Finalmente, muestra un ejemplo de cómo usar la comunicación serial entre dos placas Arduino para controlar un LED de forma remota.

Cargado por

Paul Chiliquinga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

Comunicaciones: Serial y Arduino/ Arduino

MICROCONTROLADORES

PhD. Carlos D. Gordón G.


UTA -FISEI, Microcontroladores 1
MOTIVACION

UTA - FISEI, Microcontroladores 2


Objetivos

• Establecer las características de Comunicaciones


Serial y Arduino/ Arduino.

UTA - FISEI, Microcontroladores 3


Comunicación Serial

Los puertos serie son la forma principal de comunicar


una placa Arduino con un ordenador.
Gracias al puerto serie podemos, por ejemplo:
• Mover el ratón o simular la escritura de un usuario en
el teclado, enviar correos con alertas,
• Controlar un robot realizando los cálculos en el
ordenador,
• Encender o apagar un dispositivo desde una página
Web a través de Internet, o desde una aplicación
móvil a través de Bluetooth.

UTA - FISEI, Microcontroladores 4


Comunicación Serial

¿QUÉ ES EL PUERTO SERIE?

Un puerto es el nombre genérico con que denominamos


a los interfaces, físicos o virtuales, que permiten la
comunicación entre dos ordenadores o dispositivos.
Un puerto serie envía la 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). No obstante, pueden existir otros
conductores para referencia de tensión, sincronismo de
reloj, etc.
UTA - FISEI, Microcontroladores 5
Comunicación Serial

Un ordenador convencional dispone de varios puertos de


serie. Los más conocidos son el popular USB (universal
serial port) y el ya casi olvidado RS-232 (el de los antiguos
ratones).

UTA - FISEI, Microcontroladores 6


Comunicación Serial

Sin embargo, dentro del ámbito de la informática y


automatización existen una gran cantidad adicional de
tipos de puertos serie, como por ejemplo el RS-485, I2C,
SPI, Serial Ata, Pcie Express, Ethernet o FireWire, entre
otros.

Los puertos de serie como UART. La UART (universally


asynchronous receiver/transmitter) es una unidad que
incorporan ciertos procesadores, encargada de realiza la
conversión de los datos a una secuencia de bits y
transmitirlos o recibirlos a una velocidad determinada.

UTA - FISEI, Microcontroladores 7


Arduino y el Puerto Serie

Prácticamente todas las placas Arduino disponen al


menos de una unidad UART. Las placas Arduino UNO y
Mini Pro disponen de una unidad UART que operan a
nivel TTL 0V / 5V, por lo que son directamente
compatibles con la conexión USB. Por su parte, Arduino
Mega y Arduino Due disponen de 4 unidades UART TTL
0V / 5V.
Los puertos serie están físicamente unidos a distintos
pines de la placa Arduino. Lógicamente, mientras usamos
los puertos de serie no podemos usar como entradas o
salidas digitales los pines asociados con el puerto serie en
uso.
UTA - FISEI, Microcontroladores 8
Arduino y el Puerto Serie
En Arduino UNO y Mini Pro los pines empleados son 0 (RX) y 1 (TX).
En el caso de Arduino Mega y Arduino Due, que tienen cuatro
puertos de serie, el puerto serie 0 está conectado a los pines 0 (RX)
y 1 (TX), el puerto serie 1 a los pines 19 (RX) y 18 (TX) el puerto serie
2 a los pines 17 (RX) y 16 (TX), y el puerto serie 3 a los pines 15 (RX)
y 14 (TX).

UTA - FISEI, Microcontroladores 9


Arduino y el Puerto Serie
Muchos modelos de placas Arduino disponen de un conector USB
o Micro USB conectado a uno de los puertos de serie, lo que
simplifica el proceso de conexión con un ordenador. Sin embargo
algunas placas, como por ejemplo la Mini Pro, prescinden de este
conector por lo que la única forma de conectarse a las mismas es
directamente a través de los pines correspondientes.

Nano Mini Pro

UTA - FISEI, Microcontroladores 10


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 11


Arduino y el Puerto Serie

Set de Instrucciones

UTA - FISEI, Microcontroladores 12


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 13


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 14


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 15


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 16


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 17


Arduino y el Puerto Serie

UTA - FISEI, Microcontroladores 18


Comunicación Arduino - Arduino
Este método es conocido como Comunicación Serial,
implica cambiar el voltaje de la conexion eléctrica entre
el Transmisor y el Receptor a una velocidad especifica.
Cada Intervalo de tiempo representa un bit de
información. El transmisor cambia el voltaje para enviar
un valor de entre 0 y 1 el cual representa el bit en
cuestion y el receptor lee si el voltaje es high o low.

Este ejemplo se basa en el Asynchronous Serial


Communication, donde la velocidad de intercambio de
bits es acordada de forma mutua y cronometrada de
forma independiente entre el Transmisor y el Receptor.

UTA - FISEI, Microcontroladores 19


Comunicación Arduino - Arduino

UTA - FISEI, Microcontroladores 20


Comunicación Arduino - Arduino
Ejercicio: Realizar la comunicación través de un puerto serie denominado
“mySerial” que he creado mediante software, gracias a la librería , en los pines
digitales 10 (Recepción à RX) y 11 (Emisión à TX) de cada uno de los Arduinos. Es
necesario realizar dos montajes, el del “Arduino Emisor”, que va a ser el que
tiene conectado el pulsador (pin digital 4) y está alimentado a través del puerto
USB de nuestro PC, y el del ”Arduino Receptor” que es el que tiene conectado el
LED (pin digital 5

UTA - FISEI, Microcontroladores 21


Comunicación Arduino - Arduino

Tx
// Incluimos la librería
#include <SoftwareSerial.h>
const int Pulsador = 4; // Pin digital para el pulsador
int estadoPulsador = 0; // Variable para ver el estado del pulsador
// Declaro un nuevo puerto para la comunicación serie
SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
mySerial.begin(9600); // Comienzo de la comunicación serie
pinMode(Pulsador, INPUT); // Pin digital 4 como entrada
}

UTA - FISEI, Microcontroladores 22


Comunicación Arduino - Arduino

Tx
void loop()
{
// Lee y almacena el estado del pulsador
estadoPulsador = digitalRead(Pulsador);
// Si el pulsador está presionado
if (estadoPulsador == HIGH)
{
mySerial.write('H'); // Enviamos 'H' por el puerto serie (TX)
}
else
{
mySerial.write('L'); // Enviamos 'L' por el puerto serie (TX)
}
}
UTA - FISEI, Microcontroladores 23
Comunicación Arduino - Arduino
Rx
// Incluimos la librería
#include <SoftwareSerial.h>
const int LED = 5; // Pin digital para el LED
char estado; // Declaro un nuevo puerto para la comunicación serie

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
mySerial.begin(9600); // Comienzo de la comunicación serie
pinMode(LED, OUTPUT); // Pin digital 5 como salida
}

UTA - FISEI, Microcontroladores 24


Comunicación Arduino - Arduino
Rx
void loop()
{
if (mySerial.available()) // Si por el puerto serie llegan datos (RX)
{
// Almaceno el carácter que llega por el puerto serie (RX)
estado = mySerial.read();
if (estado == 'H') // Si es una 'H'
{
digitalWrite(LED, HIGH); // Enciendo el LED (nivel ALTO)
}
if (estado == 'L') // Si es una 'L'
{
digitalWrite(LED, LOW); // Apago el LED (nivel BAJO)
}
}
}

UTA - FISEI, Microcontroladores 25


Muchas Gracias

UTA - FISEI, Microcontroladores 26

También podría gustarte