# 7 - Comunicación UART

> **Arduino IDE**
>
> [**UNO / MEGA / NANO**](https://docs.microside.com/practicas/arduino-ide)

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FG1x0CexFtth9BvuyghAA%2F21%20-%20Comunicaci%C3%B3n%20Serial%20UART.png?alt=media&#x26;token=bb08af4f-06dd-47d4-adda-df74ad9ebcfd" alt=""><figcaption></figcaption></figure>

## **Introducción**

En esta práctica se implementa una comunicación serial UART (Universal Asynchronous Receiver-Transmitter) enviando comandos a través de una terminal serial (en este ejemplo se utiliza el software Hercules) para el control de encendido o apagado de un LED y revisar el estado de un push button.

## **Descripción**

En esta práctica se implementa una comunicación serial UART a 9600 baudios. Desde una terminal serial (en este ejemplo se utiliza el software Hercules), se envían y reciben datos. Para encender el LED incluido en las tarjetas **UNO,** **MEGA** o **NANO** se envía el número 1, si se desea apagar se envía el número 0. Para recibir el estado del botón BOOT, se envía el signo “?”, si el botón está presionado recibe el número 1, en caso contrario se recibe el número 0.

#### **Materiales:**

1 x Tarjeta **UNO**, **MEGA** o **NANO.**

1 x Push Button.

1 x Juego de cables Dupont.

1 x Protoboard de 830 puntos.

1 x Cable micro USB

#### **Software:**

Windows 8.1 o posterior.

Arduino® IDE. [**Descarga**](https://www.arduino.cc/en/Main/Software)

MICROSIDE v1.0 [**Descarga**](https://microside.com/?smd_process_download=1\&download_id=5472)

Software Hercules [**Descarga**](https://www.hw-group.com/software/hercules-setup-utility)

## &#x20;**Procedimiento**

1. En el apartado de “[**Diagrama Esquemático**](#diagrama-esquematico)” selecciona el modelo de tu tarjeta, realiza las conexiones que se muestran en la imagen y conéctala a la computadora.
2. Ejecuta el software **Arduino® IDE**, crea un nuevo proyecto con el código fuente que se encuentra en el apartado "[**Código**](#codigo)" y compila el programa.

{% hint style="success" %}
Si tienes dudas de cómo realizar los pasos anteriores puedes encontrar un manual de **Arduino® IDE** a través del siguiente [**link**](https://docs.microside.com/practicas/ides/arduino-r-ide).
{% endhint %}

3. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.
4. En el Software Hercules, abre el apartado “Serial” para lograr la comunicación con el módulo convertidor USB a Serial UART y envía los caracteres de esta práctica. En el siguiente [**link**](https://microside.com/wp-content/uploads/2021/12/Hercules-enviando-un-0.png) encontrarás una imagen de referencia del envío de comandos a través del software Hercules.

## Diagrama esquemático

{% tabs %}
{% tab title="UNO" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDVJseulOsqP9ws9kvwx8%2FArduino%20UNO%20Comunicacion%20Serial%20UART.png?alt=media&#x26;token=afa8b495-b4fe-4ddc-b60d-c570b5882f3d" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="MEGA" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FknBwL0ExYzBwzhr6Bm2e%2FArduino%20MEGA%20Comunicacion%20Serial%20UART.png?alt=media&#x26;token=a19c4c18-3052-4717-b273-c69f935ec08a" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="NANO" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAQ3mkl2KN9MzK5hPXf2Y%2FArduino%20NANO%20Comunicacion%20Serial%20UART.png?alt=media&#x26;token=b537e28e-a924-41c7-83fd-a0777edd3da5" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Código

{% tabs %}
{% tab title="Proyecto Arduino" %}
{% embed url="<https://gist.github.com/microside-mx/618383395abeb2f57938eb3914ccaf92#file-7-comunicacionserial-arduino-ino>" %}
{% endtab %}
{% endtabs %}
