Arduino

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

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

첨부파일

<* 아두이노 간 UART를 이용한 LED와 Switch 원격 제어하기 *>
(1) 제어하는 쪽에 UART chat 을 이용한다.
(2) 제어 당하는 쪽에는 LED와 Switch를 작성하고

--- < 원겯제어를 위한 UART chat 소스코드 > ----------------------------------
#include <SoftwareSerial.h>

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

void setup() 
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  Serial.println("SEOUL DIGITAL UNIVERSITY!");

  // set the data rate for the SoftwareSerial port
  UARTserial.begin(9600);
}

void loop() // run over and over
{
  // Receive from bluetooth and send it to PC
  if (UARTserial.available())
    Serial.write(UARTserial.read());

  if (Serial.available())
    UARTserial.write(Serial.read());
}

--------- < 제어 당하는 쪽의 LED와 Switch 소스 코드 > -------------------------------------
#include<SoftwareSerial.h>
#include <string.h>

#define ledPIN      3
#define switch_Pin  8

const int rxPin = 2;
const int txPin = 3;

String stringON = "on";
String stringOFF = "off";
 
SoftwareSerial mySerial(rxPin, txPin);


void setup() {
  pinMode(switch_Pin, INPUT);
  pinMode(ledPIN,OUTPUT);
  mySerial.begin(9600);
}

void loop() {
  bool read_switch = digitalRead(switch_Pin);

  if(read_switch){
        mySerial.write("on\n");
        delay(500);
      }else{
        mySerial.write("off\n");
        delay(500);
      }

  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);
      }
      else if(ref_off == 1){
        digitalWrite(ledPIN,LOW);
        }
  }
}