본문 바로가기

Study/Arduino

[Arduino] Arduino-Arduino UART Communication

1. UART (UART Port)

1) 연결 회로도

 

2) 소프트웨어

- Master

void setup() {
  Serial.begin(115200);
  while(!Serial);
}

void loop() {
  Serial.write('a');
  delay(1000);
  Serial.write('b');
  delay(1000);
}

 

- Slave

void setup() {
  Serial.begin(115200);
  while(!Serial);
  pinMode(13, OUTPUT);
}

void loop() {
  if(Serial.available()) {
    char data = Serial.read();
    if(data == 'a') {
      digitalWrite(13, 1);
    } else if(data == 'b') {
      digitalWrite(13, 0);
    }
  }
}

 

 

2. UART (SoftwareSerial)

1) 연결 회로도

 

2) 소프트웨어

- Master

#include <SoftwareSerial.h>

SoftwareSerial softwareSerial(2, 3);  // 2:RX, 3:TX

void setup() {
  Serial.begin(115200);
  while(!Serial);
  
  softwareSerial.begin(115200);
  while(!softwareSerial);
}

void loop() {
  Serial.println('a');
  softwareSerial.write('a');
  delay(1000);
  
  Serial.println('b');
  softwareSerial.write('b');
  delay(1000);
}

 

- Slave

void setup() {
  Serial.begin(115200);
  while(!Serial);
  pinMode(13, OUTPUT);
}

void loop() {
  if(Serial.available()) {
    char data = Serial.read();
    if(data == 'a') {
      digitalWrite(13, 1);
    } else if(data == 'b') {
      digitalWrite(13, 0);
    }
  }
}

 

'Study > Arduino' 카테고리의 다른 글

[Arduino] OLED Display  (0) 2022.07.10
[Arduino] ESP32-CAM OpenCV  (0) 2022.07.10
[Arduino] ESP32-CAM Setup  (0) 2022.07.10