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.
Teraz otrzymamy materiały potrzebne do projektu:
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.
Przy użyciu tego programu, aby włączyć diodę LED, wystarczy dodać 1 do monitora szeregowego, a następnie 0, aby ją wyłączyć:
#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');
}
}
Biblioteka Software Serial jest już zawarta w środowisku Arduino IDE, więc nie ma potrzeby jej instalowania.
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');
}