Neste projeto veremos como controlar uma placa Arduino com outra placa Arduino. Para isso utilizaremos uma biblioteca chamada Software Serial que permitirá a comunicação entre ambos via link UART. Esta biblioteca já existe no Arduino IDE, sem precisar baixar nada. Para poder controlar a primeira placa usaremos o monitor serial. Isso nos permitirá controlar o LED a partir da primeira placa Arduino. Esta conexão permitirá que você ligue ou desligue um LED.

Dificuldade:

Equipamento necessário

Agora vamos obter o material necessário para o projeto:

  • Uma placa Arduino Uno
  • Um LED vermelho
  • Um resistor de 220 ohms
  • 3 fios de conexão

Esboço do projeto

Como funciona?

Para comunicação via UART entre as duas placas, dois pinos são usados: o TX e o RX da placa Arduino receptora e dois pinos digitais da placa transmissora. Utilizamos então os dois monitores seriais das duas placas para poder gerenciar a comunicação entre elas.

Programa do projeto

Com este programa, para ligar o LED, basta adicionar 1 no monitor serial e depois 0 para desligá-lo:

Aqui está o programa:
#include "SoftwareSerial.h" 
SoftwareSerial serial1(2,3); 

int input; 

void setup()
{
  Serial.begin(9600); 
  serial1.begin(9600); 
}

void loop() 
{
  while (Serial.available()>0){
    input = Serial.parseInt(); 
  if (input == 1){
    Serial.println('1');
    serial1.println('1');
  }
  if (input == 0){
    Serial.println('0');
    serial1.println('0');
  }
}

Como instalar a biblioteca Software Serial?

A biblioteca Software Serial já está incluída no Arduino IDE, então você não precisa instalá-la.

Como modificar o programa?

Este programa atualmente permite que você ligue ou desligue o LED. No entanto, você pode adaptar este programa ao seu projeto, fazendo-o ligar um motor ou outro componente.

Para ativar um componente, você pode adicionar o que quiser no if. Você também pode substituir o 1 por algo como “On”:

  if (input == 1){
    Serial.println('1');
    serial1.println('1');
  }

Para poder desligar este componente, você deve fazê-lo em “input = 0”. Você pode alterar o 0 para colocar Desligado, por exemplo:

 if (input == 0){
    Serial.println('0');
    serial1.println('0');
  }

Simulação de projeto

Aqui está a simulação do projeto no TinkerCAD: