# 7 - Comunicación UART

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

<figure><img src="/files/Ofdnv0z5LsM9JbhYd4ap" 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="/files/mBLB31h2o1BOcLETQlLQ" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="MEGA" %}

<figure><img src="/files/Gn2YF8IxhqkujDTAvSW7" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="NANO" %}

<figure><img src="/files/OdCO4xCg7D4YV7Nhv650" 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microside.com/practicas/arduino-ide/7-comunicacion-uart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
