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);
}
}
}