Unidad 3, Práctica 1: Comunicación Serie - gerardonavart/Sistemas-Programables GitHub Wiki

Comunicación Serie

Sistemas Programables | Ingeniería en Sistemas Computacionales | Instituto Tecnológico Superior de Huichapan

Descripción

Es un protocolo de comunicación entre dispositivos que está incluido de manera estándar en prácticamente cualquier dispositivo. Su funcionamiento es muy sencillo. El puerto serial envía y recibe bytes de información un bit a la vez. Típicamente, la comunicación serial se utiliza para transmitir fatos en formato ASCII. Los Arduino, también cuentan con puertos de comunicación seriales. Son conocidos como TX (Envío de Datos) y RX (Recepción de Datos). Dependiendo del modelo de la placa, puede tener uno o más pares de puertos seriales disponibles. Existen tres tipos de comunicación serial:

  • Simplex: Es una comunicación unidireccional, es decir, al comunicar dos Arduinos, un Arduino sólo envía datos y el otro sólo los recibe.
  • Half Dúplex: Es una comunicación bidireccional, pero solo una dirección a la vez. Es decir, que si un par de Arduinos quieren comunicarse, en un momento uno solo enviara datos y en otro momento, este mismo Arduino sólo recibirá datos.
  • Full Dúplex: Es una comunicación bidireccional, en la cual, si dos Arduinos quieren comunicarse, ambos pueden enviar y recibir datos a la vez.

Objetivo

Conocer la comunicación serial en Arduino, así como conocer sus aplicaciones.

Materiales

  • Una placa Arduino UNO
  • Un cable USB
  • Software de Consola PuTTY

Procedimiento

Código de Programación Básico en Arduino

boolean v1=false; boolean v2=false;

int numero1=0; int numero2=0;

void setup() { Serial.begin(9600); delay(1000); Serial.print("Ingrese dos numeros");

}

void loop() { if(v1 && v2){ Serial.print("\nLa suma es "); Serial.print(numero1+numero2); v1=false; v2=false; } } void serialEvent(){ while(Serial.available()){ if(!v1){ numero1=Serial.readString().toInt(); Serial.print("\nPrimer numero:"); Serial.print(numero1); v1=true; }else{ if(!v2){ numero2=Serial.readString().toInt(); Serial.print("\nSegundo numero:"); Serial.print(numero2); v2=true; } } } }

Video en Youtube

Comunicación Serie con PuTTY