# Comunicaciones

Arduino permite comunicarse con periféricos o con el PC de diferentes formas:

- **Puerto serie (COM)**: Permite una conexión serie (tipo RS232) a través del puerto USB. Utilizada principalmente para programar la placa Arduino desde el ordenador y para comunicar con aplicaciones en un ordenador (consola   
    serie). Con una aplicación de terminal o consola serie podemos visualizar los datos recibidos desde Arduino y enviar datos al Arduino fácilmente.   
    *(José Andrés Echevarría @cantabRobots CC-BY-NC-SA)*  
    <p class="callout success">Para utilizar este puerto hay que determinar antes a qué velocidad se van a transmitir los datos para que todo se sincronice. A la hora de programar en el apartado de *Inicio **se determina la velocidad en baudios** bits por segundo* normalmente 9600</p>
    
      
      
    [![2022-04-13 13_05_27-PROYECTO 00 CONOCEMOS ARDUINO._ - PDF-XChange Viewer.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-13-05-27-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-13-05-27-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)  
    [![2022-04-13 13_06_22-PROYECTO 00 CONOCEMOS ARDUINO._ - PDF-XChange Viewer.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-13-06-22-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-13-06-22-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)  
    *(José Andrés Echevarría @cantabRobots CC-BY-NC-SA)*

<p class="callout info"> La conexión serie de Arduino está accesible en los pines 0 (RX) y 1 (TX), internamente estos pines están conectados al chip que gestiona el USB, en caso de usar la comunicación serie con otros dispositivos conectados a los pines 0 y 1 se deberá desconectar el USB para evitar que se mezclen los datos y no funcione la comunicación. </p>

- **I2C:** Es otro sistema de bus de comunicaciones en serie. Permite crear una pequeña red de dispositivos (pensado principalmente para interconectar otros chips en la propia placa o cerca). La comunicación I2C sólo utiliza 2 cables. 
    - Para el Arduino UNO utiliza SDA=A4 SCL=A5
    - Para el Arduino Nano utiliza SDA=A4 SCL=A5
    - Para el Arduino Mega utiliza SDA=20 SCL=21
    - Para I2C Keyestudio UNO utiliza : SDA=A4 SCL=A5
- Existe una tercera forma de comunicación, la **SPI** (Serial Peripheral Interface), pero no la veremos en este manual.

*(adaptado de José Andrés Echevarría @cantabRobots CC-BY-NC-SA)*

El **Puerto serie COM** lo utilizaremos como comunicaciones entre ordenador y las placas, [aunque aquí puedes ver un ejemplo](https://libros.catedu.es/books/programa-arduino-mediante-codigo/page/42-arduino-arduino) sencillo de comunicación entre dos Arduinos utilizando los pines 0-RX y 1-TX

El **I2C** se utiliza principalmente en la conexión con la pantalla I2C:

[![2022-04-13 13_33_04-PROYECTO 00 CONOCEMOS ARDUINO._ - PDF-XChange Viewer.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-13-33-04-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-13-33-04-proyecto-00-conocemos-arduino-pdf-xchange-viewer.png)  
*(José Andrés Echevarría @cantabRobots CC-BY-NC-SA)*  
[![lcd-arduino.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/lcd-arduino.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/lcd-arduino.png)

Ejemplo de conexión de LCD con **ARDUINO UNO** para ver cómo se programa con código [aquí](https://libros.catedu.es/books/programa-arduino-mediante-codigo/page/35-lcd)