Arduino

아두이노간 UART를 이용한 LED 원격제어하기

작성자 임베디드코리아 작성일25-05-15 18:45 조회183회 댓글0건

첨부파일

<* UART를 이용한 LED 원격제어하기 *>
(1) 아두이노 2대를 이용하여 보는 쪽과 받는 쪽을 지정한다.
(2) UART에서 보내는 쪽은 TX만 받는 쪽은 RX만을 연결한다.
(3) 보내는 쪽은 UART chart에서 보내는 부분만 작성하고
(4) 받는 쪽은 UART chart에서 받는 부부과 LED on/off 부분을 작성한다.

---- < 보내는 쪽 소스 코드 > ----------------------------------
#include <SoftwareSerial.h>

SoftwareSerial MySerial(7, 8); // RX, TX

void setup() {
  Serial.begin(9600);
  MySerial.begin(9600);

  Serial.println("EmbeddedKorea UART Chat and LED !");
}

void loop() {
  if (Serial.available())
      MySerial.write(Serial.read());
   
  delay(10);
}

---------- < 받는 쪽 소스 코드 > -----------------------------------------------------------------------
#include <SoftwareSerial.h>
#include <string.h>

#define ledPIN 3

SoftwareSerial mySerial(10, 11);

void setup(){
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(ledPIN,OUTPUT);
}
 
String stringON = "on";
String stringOFF = "off";
 
void loop(){
  if (mySerial.available()){
    String inString = mySerial.readStringUntil("\n");
    bool ref_on = inString.equals(stringON);
    bool ref_off = inString.equals(stringOFF);
    if(ref_on == 1){
      digitalWrite(ledPIN,HIGH);
      Serial.println(inString);
      }
      else if(ref_off == 1){
        digitalWrite(ledPIN,LOW);
        Serial.println(inString);
        }
        else{
          Serial.println(inString);
          }
    }
   
    if (Serial.available()) {
          mySerial.write(Serial.read());
          }
}