Ir al contenido principal

Comunicación serial 2 Arduinos

 Para comunicar serialmente dos arduinos se debe usar los pines Rx y Tx, importante recordar que si una arduino envía tiene conectado el pin Tx,, por lo que la arduino que recibe deberá tener conectado el pin Rx.

  • 0 : RX (pin por el que RECIBE los datos serie)
  • 1 : TX (pin por el que ENVÍA los datos serie)

Se explica con la siguiente imagen. Adicionalmente las tierras deben estar conectadas. La arduino que trae conectado el potenciómetro será la arduino encargada para este primer ejemplo de realizar el envío de un dato para condiciones del potenciómetro, estos datos serán recibidos por la arduino que trae conectado el led para crear un led intermitente en un intervalo específico según reciba información de la primera arduino. 

El código para enviar un dato de manera repetitiva para probar la transmisión es el siguiente:

int sensorValue=0;
void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);

}

void loop()
{
  // read the input on analog pin 0:
  sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(10); // Delay a little bit to improve simulation performance
  Serial.write("a");
  delay(1000);
  Serial.write("b");
  delay(2000);
  Serial.write("c");
  delay(4000);
}

El código para recibir un dato y activar el led es el siguiente:
void setup(){ 
  pinMode(13,OUTPUT);
  Serial.begin(9600);
}
void loop(){ 
        char dato= Serial.read();//Guardamos en la variable dato el valor leido
        Serial.print(dato);
      
      switch(dato){ //Comprobamos el dato
         case 'a':  //Si recibimos una 'a' ...
          for(int i=0; i<20; i++){
               digitalWrite(13,HIGH);
               delay(80);
               digitalWrite(13,LOW);
               delay(80);
          }
          break;
         case 'b':    //si recibimos una 'b' ...
         for(int i=0; i<10; i++){
               digitalWrite(13,HIGH);
               delay(1000);
               digitalWrite(13,LOW);
               delay(1000);
          }
          break;
          default:
           digitalWrite(13,LOW);
           break;
        }
}

Ahora modificaremos el código para enviar un dato en función del potenciómetro:

  • Si el dato es menor que 200 envíe la letra a
  • Si el dato esta entre 200 y 600 envía la letra b
  • y si el dato es mayor a 600 envía la letra c

int sensorValue = 0;
void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);
}

void loop()
{
  // read the input on analog pin 0:
  sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(10); // Un pequeño tiempo
  if (sensorValue<200){
  	Serial.write('a');
    delay(2000);}
  else if (sensorValue>200 && sensorValue<600){
  	Serial.write('b');
    delay(2000);}
  else{
    Serial.write('c');
    delay(2000);}
   
   
}

Ahora modifica el código para enviar el dato del potenciómetro
Arduino 1
int sensorValue = 0;
void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);
}

void loop()
{
  // read the input on analog pin 0:
  sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(10); // Un pequeño tiempo   
}
Arduino 2
int sensorValue = 0;
void setup()
{
   Serial.begin(9600);
}

void loop()
{
  if (Serial.available())
    {
        //char dato= Serial.read();//caracter
      	int dato=Serial.parseInt();// entero
        Serial.println(dato);
        delay(10); // Un pequeño tiempo   
}



Entradas populares de este blog

Clasificación Plantas industriales

Una Planta Industrial es una combinación de recursos materiales y humanos que actúan ordenadamente siguiendo un Proceso de Fabricación, previamente elegido como el más idóneo para actuar en el entorno de la Planta. CLASIFICACIÓN DE LAS PLANTAS INDUSTRIALES Según la naturaleza del proceso que se lleva a cabo   Proceso continuo: se caracterizan por trabajar las 24 horas del día. Son procesos cuyo tiempo es reativamente largo, ejemplo: petroquímica, cemento, acería, papel, etc Proceso repetitivo o discontinuo: la modalidad del tratamiento que se realiza sobre los productos es por lotes. Proceso intermitente: estas plantas organizan su trabajo para satisfacer las demandas específicas de sus clientes de uno u otro producto o servicio. Es decir bajo pedido, por lo que la producción puede ser de bajo volumen   Según el tipo de proceso que predomina            Químico: en las plantas industriales químicas existe un cambio en la naturaleza interna de los materiales; se extraen

AUTOAJUSTE PID: CASO PRÁCTICO DE SINTONIZACIÓN EN IMPRESORA 3D

CONTROLADOR PID Un controlador  PID es permite controlar un sistema en lazo cerrado para que alcance el estado de salida deseado. El controlador PID está compuesto de tres elementos para una acción Proporcional, Integral y Derivativa. Estas tres acciones son las que dan nombre al controlador PID. Recordemos un poco que es un controlador PID y que parámetros debemos ajustar Existe gran interés en realizar la sintonización de controladores PID en diferentes software, a continuación se presenta un ejemplo en el que se simula un control PID usando software libre SCILAB, a través de Xcos AUTOTUNIG AUTOAJUSTE DE CONTROLADORES PID El controlador PID es la solución más común a los problemas prácticos de control. Aunque controladores con acción proporcional e integral han sido utilizados desde la época en que los molinos de viento y las máquinas de vapor eran las tecnologías dominantes, la forma actual del controlador PID emergió con los controladores neumáticos en los años 30 del siglo pasad

INICIOS DE LA INGENIERÍA MECATRÓNICA - HISTORIA

MECATRÓNICA Mecatrónica es la integración sinérgica de la mecánica, la electrónica, el control y los sistemas computacionales, gracias a lo cual es posible la solución de problemas de la industria y la sociedad. ANTECEDENTES HISTÓRICOS El término Mecatrónica , fue introducido por primera vez en 1969 por el ingeniero TETSURO MORI, trabajador de la empresa japonesa Yaskawa. En un principio se definió como la integración de la mecánica y la electrónica en una máquina o producto , pero luego se consolidó como una especialidad de la ingeniería e incorporó otros elementos como los sistemas de computación , los desarrollos de la microelectrónica , la inteligencia artificial, la teoría de control y otros relacionados con la informática , estabilidad y alcanzabilidad . Teniendo como objetivo la optimización de los elementos industriales a través de la optimización de cada uno de sus subprocesos con nuevas herramientas sinérgicas . En los a