W tym projekcie pokażemy, jak sterować płytką Arduino za pomocą innej płytki Arduino. W tym celu wykorzystamy bibliotekę o nazwie Software Serial, która umożliwi komunikację między nimi poprzez łącze UART. Ta biblioteka już istnieje w Arduino IDE i nie wymaga pobierania.

Aby móc sterować pierwszą kartą, wykorzystamy monitor szeregowy. Umożliwi nam to sterowanie diodą LED z poziomu pierwszej płytki Arduino. To połączenie umożliwi włączanie i wyłączanie diody LED.

Trudność:

Niezbędny sprzęt

Teraz otrzymamy materiały potrzebne do projektu:

  • Płytka Arduino Uno
  • Czerwona dioda LED
  • Rezystor 220 omów
  • 3 przewody łączące

Zarys projektu

Jak to działa?

Do komunikacji pomiędzy dwiema kartami poprzez UART wykorzystywane są dwa piny: TX i RX karty odbiorczej Arduino oraz dwa piny cyfrowe karty nadawczej. Następnie wykorzystujemy dwa monitory szeregowe obu kart, aby móc zarządzać komunikacją między nimi.

Program projektu

Przy użyciu tego programu, aby włączyć diodę LED, wystarczy dodać 1 do monitora szeregowego, a następnie 0, aby ją wyłączyć:

Oto program:
#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');
  }
}

Jak zainstalować bibliotekę Software Serial?

Biblioteka Software Serial jest już zawarta w środowisku Arduino IDE, więc nie ma potrzeby jej instalowania.

Jak zmodyfikować program?

Ten program obecnie umożliwia włączanie i wyłączanie diody LED. Możesz jednak dostosować ten program do swojego projektu, każąc mu włączać silnik lub inny komponent.

Aby włączyć komponent możesz dodać cokolwiek chcesz w if. Możesz również zastąpić 1 czymś innym, na przykład „Wł.”:

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

Aby móc wyłączyć ten komponent należy to zrobić w „input = 0”. Możesz zmienić 0, aby na przykład wyłączyć:

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

Symulacja projektu

Oto symulacja projektu w programie TinkerCAD: