์ค๋์ Bluetooth ํต์ ์ ์ฃผ์ ๋ก ์ด์ผ๊ธฐ๋ฅผ ํ ๊ฐ ํฉ๋๋ค. ์๋๋ ๋์ค์ ํ ์์ ์ด์๋๋ฐ Servo Motor๋ฅผ ์กฐ์ด์คํฑ์ผ๋ก ์ ์ดํ๊ณ ์ค์์น ๋ฒํด์ผ๋ก ์ ์ดํ๋ ํฌ์คํ๋ฅผ ์ฐ๋ค ๋ณด๋๊น ๋์ค์ Bluetooth๋ฅผ ํฌ์คํธํ๊ณ ์์ฉ ์์ ๋ก LED๋ Servo Motor๋ฅผ ๋ณต์ต์ฐจ์์ ํฌ์คํ
์ ํ ๊ฒ ๊ฐ์์ ์ด์ฐธ์ ํ๋ฒ์ ํด๋ฒ๋ฆฌ๋๊ฒ ์ข์ ๊ฒ ๊ฐ์์ ์ค๋์ ํฌ์คํธ ์ฃผ์ ๋ก ์ ์ ํ๋ค์. ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก Bluetooth ํต์ ์ผ๋ก ๋ค์ด ๊ฐ๊ฒ ์ต๋๋ค.
๋ ๊ฐ์ Rx, Tx๋ง ๋ฌด์จ ํ์ธ์ง๋ง ์์๋ฉด ๋ฉ๋๋ค. ๋ ํ๋ง ์ ์๋์ด๋ ธ์ ์ฐ๊ฒฐํ๋ฉด ๋ฌด์ ํต์ ์ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
ํ์ง๋ง ์ด Bluetooth HC-06 ๋ชจ๋์ ์๋์ด๋ ธ์ ์ฐ๊ฒฐํ ๋ ์ ์๊ฐํ๊ณ ์ฐ๊ฒฐํ์ ์ผ ํฉ๋๋ค. ๋ฌผ๋ก ์๋ฌด ํ์๋ค ์ฐ๊ฒฐํด๋ ์๊ด์ ์์ต๋๋ค๋ง ์๋์ด๋ ธ์ ์ฐ๊ฒฐ ํ์ ๋ ํด๋น ํ์ด ์ด๋ค ํ์ธ์ง์ ๋ํ ์ ์๋ฅผ ๋จธ๋ฆฌ์์์ ๋ด๋ฆฌ์ ์ผ ํฉ๋๋ค.
๋ค์ ํ๋ก๋์์ ์ค๋ช ํ๊ฒ ์ง๋ง Bluetooth Rxํ์ ์๋์ด๋ ธ์์ ์ฌ์ฉ ํ Txํ์ ์ฐ๊ฒฐํด์ผ ํ๊ณ Bluetooth Txํ์ ์๋์ด๋ ธ์์ ์ฌ์ฉ ํ Rxํ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ์ด ๋ถ๋ถ๋ง ์ฃผ์ํ์๋ฉด ๋ฉ๋๋ค. ์ฆ, ์๋์ด๋ ธ๊ฐ ๋ณด๋ด๋ ๋ฐ์ดํฐ ํ์ ์๋์ด๋ ธ ์์ฒด๋๊น Txํ์ด๊ฒ ์ฃ . ๊ทธ๊ฒ Bluetooth๊ฐ ์ฝ์ผ๋๊ฐ Rx์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด๊ณ Bluetooth๊ฐ ๋ณด๋ด๋ ๋ฐ์ดํฐ๋ Bluetooth์ Txํ์์ ๋์์ ์๋์ด๋ ธ๊ฐ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ํด์๋ ์๋์ด๋ ธ์ Rxํ์์ ์ฝ์ด๋ค์ด๊ฒ ์ฃ . ์ด๋ ๊ฒ ์๊ฐํ์๋ฉด ๋ ๋ฏ ์ถ๋ค์.
0,1 ์ ์๋์ด๋ ธ ์์ฒด ์๋ฆฌ์ผํต์ ํ์ ๋๋ค. ์ด๊ณณ์ Bluetooth๋ฅผ ์ฐ๊ฒฐํด๋ ๋๊ธด ํ๋๋ฐ ์ฒ์์ ๋ฐ๋ก ์ฐ๊ฒฐํด ์ฃผ์ธ์.
Bluetooth Tx ํ์ ์๋์ด๋ ธ์ Rx 2๋ฒํ์ ์ฐ๊ฒฐํ๊ณ Bluetooth Rx ์ ์๋์ด๋ ธ์ Tx 3๋ฒํ์ ์ฐ๊ฒฐํฉ๋๋ค. ์ ์ด๋ ๊ฒ ๋ณต์กํ๊ฒ ๋งํ๋๋ฉด ๋์ค์ SoftwareSerial ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด์ ํต์ ์ ํ ๋ ํต์ ํจ์์ ์ธ์ ๋ณ์๋ช ์ ์ผ์น์ํค๊ธฐ ์ํด์ ์ ๋๋ค.
SoftwareSerial::SoftwareSerial(uint8_t rxPin, uint8_t txPin, bool inverse_logic)
์ฌ๊ธฐ์ ์ธ์๊ฐ์ bluetooth์ Tx=rxPin, Rx=txPin์ผ๋ก ๋๊ฒจ์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
const int rxPin = 2;
const int txPin = 3;
SoftwareSerial mySerial(rxPin, txPin);
๋์ถฉ ๋ณ์๋ช ์ SoftwareSerial ์์ฑ์ ํจ์์ ์ธ์ ๋ช ํ๊ณ ์ผ์น ์์ผ ์ ์ฌํ ์ด๋ฆ์ ์จ์ฃผ์ธ์.
๊ฐํน Bluetooth ์ด๋ฆ์ผ๋ก ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ๊ทธ๋ฌ๋ฉด ํผ๋์ด ์๊ธธ ์ ์์ต๋๋ค.
int BT_TX = 2;
int BT_RX = 3;
์ด๋ด๋
SoftwareSerial mySerial(BT_TX, BT_RX);
์ด๋ ๊ฒ ์ด๋ฆ์ ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Bluetooth ๊ด์ ์ผ๋ก ํ์ด๋ฆ์ ๋ง๋ค๋ค ๋ณด๋ ์ด๋ ๊ฒ ๋์ฃ . ์๋ฐํ ๋งํ๋ฉด ์์ฑ์ ํจ์์ ์ธ์ ๋ค์์ (rx, tx)์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ค์ด๊ฐ๋ ๊ฐ์ด ๋ธ๋ฃจํฌ์ค์ (tx, rx)๋ค๊ณ ํด์ ์ด๋ ๊ฒ ์ด๋ฆ ๋ง๋ค๋ฉด ํผ๋ํ ์ ์์ต๋๋ค. ๋ ์ ์์ผ๋ฉด ํจ์ ์ธ์์ ๋ค์์ ์ผ์น์์ผ ์ฃผ์ธ์.
#include
ํด๋น ์์ค์์ 2,3ํ์ ์๋ฆฌ์ผํต์ ํ์ผ๋ก ์ฌ์ฉ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ก์๋๋ 9600์ผ๋ก ๋ ๋ค ํด๋ฒ๋ ธ๋ค์.
[๊ธฐ๋ณธ ์์ค] : ์ด ์ฝ๋ฉ์ ์ ์๋์ด๋ ธ๊ณต์ํํ์ด์ง์ ์๋ ๊ธฐ๋ณธ ์์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๊ฐ๋ง ์์ ํ ์์ค์ ๋๋ค. ์ ๊ฐ ๋ง๋ ๊ฒ ์๋๋ผ ์ ์๋์ด๋ ธ ๊ณต์ํํ์ด์ง์์ ์ ๊ณต๋๋ ์คํ ์์ ์์ค์ ๋๋ค.
#include
const int rxPin = 2;
const int txPin = 3;
SoftwareSerial mySerial(rxPin, txPin); // RX, TX
void setup()
{
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Bluetooth Start!");
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available()) Serial.write(mySerial.read());
if (Serial.available()) mySerial.write(Serial.read());
}
๋ฑํ, ์ด๋ ค์ด ๊ฑด ์์ต๋๋ค. ๋งํฌ ์์ ๋ฅผ ์ํ๋๋ผ๋ ๋๋ถ๋ถ Bluetooth ์ํ ํ ์คํธ๋ฅผ ํ๋ฉด ์ ์์ค์ ๋น์ทํ ๋ฐฉ์์ผ๋ก ๋ค๋ค ์คํ์ ํฉ๋๋ค.
(1) SoftwareSerial ํค๋ํ์ผ ์ฐ๊ฒฐ
(2) SoftwareSerial ๊ฐ์ฒด๋ณ์ ์ ์ธ
(3) ๊ฐ์ฒด๋ณ์.begin(์ ์ก์๋)
(4) if(๊ฐ์ฒด๋ณ์.available()) { byte ch = ๊ฐ์ฒด๋ณ์.read(); }
(5) Serial.write(ch);
๋๊ฐ ์คํ์ ํ๋ ์ด๊ฒ ์ ค ์ฒ์ ๋ค๋ค ํ๋ Bluetooth ์คํ ์์ค์ ๋๋ค. ๊ทธ๋ฅ ์์ฐ์ค๋ฝ๊ฒ ์ด๋ ๊ฒ ์ฝ๋ฉํ๊ฒ ๋ฉ๋๋ค.
์ฌ๊ธฐ์ loop()๋ฌธ์ ํต์ ์ ์ํํ๋ ๋ฌธ์ฅ์ ๋๋ค.
์์ ์ ์๋ฆฌ์ผ ํต์ ์ ํ ๋ ์๋ฆฌ์ผ๋ชจ๋ํฐ์์ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ๋ฉด
if (Serial.available()) {
byte ch = Serial.read();
}
์ด๋ ๊ฒ ์ฝ์์ต๋๋ค. ์๋ฆฌ์ผ ๋ชจํฐํฐ๋ก ์ถ๋ ฅ ํ๋ค๋ฉด
Serial.write(์ถ๋ ฅ๊ฐ);
์ด๋ ๊ฒ ์ฌ์ฉํ์ต๋๋ค. ๋ธ๋ฃจํฌ์ค ํต์ ์์๋ ์ด์ ๊ฐ์ต๋๋ค.
if (mySerial.available()){
Serial.write(mySerial.read());
}
๋ธ๋ฃจํฌ์ค๋ฅผ ํตํด ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ์ถ๋ ฅํ๋ ๋ฌธ์ฅ์ ๋๋ค. ์ด๊ฒ๊ณผ ๋ฐ๋๋ก ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ฃจํฌ์ค๋ก ๋ฐ๋๋ก ๋ณด๋ด๋ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
if (Serial.available()) {
mySerial.write(Serial.read());
}
์ด์ ์ ์๋ฆฌ์ผ ํต์ ์ ํด์๋ ๋ฐฉ์ ๊ทธ๋๋ก ํํ ํ์๋ฉด ๋ฉ๋๋ค. ๋จ์ง ๋ธ๋ฃจํฌ์ค๋ฅผ SoftwareSerial ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก SoftwareSerial ์ ๊ฐ์ฒด ๋ณ์๋ฅผ ์ ์ธํด์ฃผ๊ณ ๊ทธ ๊ฐ์ฒด๋ช ์ผ๋ก ์๋ฆฌ์ผํต์ ํจ์๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
๊ฐ๋จํ ์ ๋ฆฌํ์๋ฉด ํ์ Serial ํต์ ์์ ์๋ฆฌ์ผ๋ชจ๋ํฐ์ ์๋์ด๋ ธ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ผํ๊ฒ Bluetooth๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ํ ํํ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์ ๊ทธ๋ฆผ ์ฒ๋ผ HC-06์ ์ด๋ฆ์ ๊ฐ์ง Blutooth๊ฐ ์กํ๋๋ค. ๋ฑ๋กํ๊ธฐ ์ํด์๋ ๋น๋ฒ์ ์ณ์ผ ํ๋๋ฐ ์ด๊ธฐ ๋น๋ฒ์ "0000", "1234" ๋ ์ค ํ๋๋ก ์ด๊ธฐ ๋น๋ฒ์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค. ๋ ์ค ํ๋๋๊น ๋ ๊ฐ ๋ค ์ ๋ ฅํด์ ์กํ๋ฉด ๊ทธ๊ฑธ๋ก ๋ฑ๋กํ์๋ฉด ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก AT ๋ช ๋ น์ด๋ก ๋น๋ฒ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ ๋๋ ์ค๋ ๊ฑธ๋ก ๊ตฌ๊ธ์คํ ์ด์์ ๋ธ๋ฃจํฌ์ค ์ปจํธ๋กค์ ์ณ์ ์๋ ๊ทธ๋ฆผ์ ์ดํ์ ์ค์นํ๋ค์. ๊ฒฐ๊ณผ๋ง ๋ณด๊ธฐ ์ํด์ ๋์ถฉ ์ ํํ๋ค์. ๋ค๋ฅธ ๊ฒ๋ค๋ ๋ง์ผ๋๊ฐ ํธํ ๊ฑธ๋ก ์ค์น ํ์๋ฉด ๋ฉ๋๋ค.
ํน์, ์ง์ ๋ง๋์๊ณ ์ ํ์๋ ๋ถ๋ค์ ์น์ธ๋ฒคํฐ์์ ์ฑ์ ๋ง๋ค ์ ์์ต๋๋ค. ์คํฌ๋์น ๋ฐฉ์์ผ๋ก ๋ธ๋ก์ผ๋ก ๋ฐฐ์นํ์ฌ ์ง์ ๋ง๋ค ์ ์๋๋ฐ ๊ตฌ๊ธ ๊ฒ์ ํค์๋๋ก "bluetooth ์ฑ์ธ๋ฒคํฐ"๋ก ์น์๋ฉด ๋์์ํ๊ณ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ด ์์ฒญ ๋ง์ต๋๋ค. ์ ํ๋ธ์์ ๊ฒ์ํ์ ๋ ๋ฉ๋๋ค. ๋์์์ ๋ณด๊ณ ๋ฐ๋ผ ๋ง๋์๋ฉด ๋์ค์ ์์ ์ด ์ํ๋ ์คํ์ผ๋ก ๊ฐ์กฐ ํ ์ ์์ต๋๋ค.
Bluetooth๋ฅผ ์ก์๋์ ์ํ์ด์ HC-06์ผ๋ก ์ ๊ฐ ํ์ฌ ์ฐ๋ Bluetooth ๋ชจ๋ ๋ช ์ด ๊ฒ์ ๋์ด ์๋ค์. ์ด๊ธฐ ์ด๋ฆ์ธ AT๋ช ๋ น์ผ๋ก Bluetooth ์ด๋ฆ์ ๋ณ๊ฒฝ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฅ ์ด๊ธฐ ์ด๋ฆ์ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. ํด๋ฆญ์ ํ๋ฉด ์ ๊ทธ๋ฆผ์ฒ๋ผ ์ ํ ๋ชฉ๋ก์ด ์๋๋ฐ ์ ค ์์ Controller mode๋ฅผ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์กฐ์ข ๊ธฐ๊ฐ ๋์ต๋๋ค.
๊ฐ๋จํ ๋ฐฉํฅ๋ฒํด์ 1,2,3,4 ๋ก ์ธํ ํ๋ค์.
์ด์ ์๋์ด๋ ธ IDE๋ฅผ ์ด๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ ์คํธ ํ๋ฉด ๋ฉ๋๋ค.
์ค๋งํธํฐ์์ ๋ฐฉํฅ ์ค์์น๋ฅผ ๋๋ฅด๋ฉด ์๋์ด๋ ธ์ ์ฐ๊ฒฐ๋ Bluetooth๊ฐ ๋ฐฉํฅ ์ค์์น ๊ฐ์ ์ฝ๊ณ ๊ทธ ๊ฐ์ ์๋์ด๋ ธ์์ PC์ ์ฐ๊ฒฐ๋ ์๋์ด๋ ธ IDE ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ค.
์๋ ์คํ ์์ ๋ นํ๋ ๋ฐ์คํฌํ PC์์ ๋ นํํ ์์์ ๋๋ค. PC์์ ์ค๋งํธํฐ์ ์๊ฒฉ์ ์ํ์ฌ ์ค๋งํธํฐ์ PC์์ ๋ณผ ์ ์๊ฒ ํ์๊ณ , ์๋์ด๋ ธ๋ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ์ฐ๊ฒฐ๋์ด ์๋ํ๊ณ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด์ ์ค์น๋ ์๋์ด๋ ธ IDE ์ ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก Bluetooth์์ ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋๋ก ํด๋์์ต๋๋ค. ์ฐธ๊ณ ๋ก ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ ๋ฐ์คํฌํ PC์์ ์๊ฒฉ ์ ์์ ํ์์ต๋๋ค. ๊ฒฐ๋ก ์ ๋ นํ๋ฅผ ํ๊ธฐ ์ํด์ PC๊ฐ ์ค๋งํธํฐ๊ณผ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ฅผ ๋์์ ์๊ฒฉ์ ์ํ์ฌ PC ๋ชจ๋ํฐ์ ๋์์ ๋์ ๋์์ ์กฐ์ ํ์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ นํํ ์์๋ฌผ์ ๋๋ค.
์ ๊ทธ๋ฆผ์ฒ๋ผ ์ค๋งํธํฐ๊ณผ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ฅผ ์๊ฒฉ ์ ์ํ์ฌ ์ฐฝ์ ๋์ด ํ๋ฉด์ ๋๋ค. ์ฐธ ๋ฒ๊ฑฐ๋กญ๊ฒ ๋ นํ์ ํ๋ค์. ์ค๋งํธํฐ์ผ๋ก ์ฐ์๋ ๊ทธ๋ฌ๋ฉด Bluetooth ์ดํ ์กฐ์ ์ ๋ชปํ๋๊น ์ด์ฉ ์ ์์ด ์๊ฒฉ ์ ์ํ์ฌ PC๋ก ๋ นํ๋ฅผ ํ๊ฒ ๋์์ต๋๋ค.
์ 'Start' ๋จ์ด์ ์คํ๊ฐ ๋ค์ ๋ นํ ํ๊ธฐ ๊ท์ฐฎ์์ ๊ทธ๋ฅ ์ฌ๋ฆฝ๋๋ค. ์ฐธ๊ณ ๋ก ์์์์ ์ฒ์ ์คํ์ด ๋๋ฉด "AT"๋ผ๋ ๋จ์ด๋ฅผ ์ณ๋ณด์ธ์ ๊ทธ๋ฆฌ๊ณ ๋ณด๋ด๋ฉด "OK"๋ผ๋ ๋จ์ด๋ก ๋ฆฌํด๋ ๊ฐ์ด ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ์ถ๋ ฅ๋ฉ๋๋ค. ์ด ๋ง์ Bluetooth๊ฐ ์ ์์ ์ผ๋ก ๋์ํ๋ค๋ ์๋ฏธ๊ฐ ๋๊ฒ ์ต๋๋ค.
๊ตฌ๊ธ ๊ฒ์ํ์๋ฉด ๋ ํผ๋ฐ์ค๊ฐ ๋ง์ต๋๋ค. ์ ๊ฐ ๋ดค๋ ์ฌ์ดํธ ๋ ํผ๋ฐ์ค์ธ๋ฐ ๋ช ๋ น์ด๋ค์ ์ ์ดํด๋ณด์๋ฉด ๋ฉ๋๋ค.
Bluetooth ์ค์ ๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๋ช ๋ น์ด์ ๋๋ค. ํ์ฌ Bluetooth ๋ฒ์ , ์ด๋ฆ, ๋น๋ฒ, ์ ์์๋, Master์ Slave ์ค์ ๋ฑ์ ํ ์ ์์ต๋๋ค. ์ฐธ๊ณ ๋ก ๋ฒ์ ์ด ๋ฎ์ ๊ฒฝ์ฐ Master์ Slave์ ๊ณ ์ ๋์ด ์๋๋ฐ ๊ตฌ๋งคํ์ค ๋ ์์ ์ด ์ฐ๋ ๋ชจ๋ธ์ด ๊ณ ์ ์ธ์ง ๊ฒธ์ฉ์ธ์ง๋ฅผ ๊ผญ ํ์ธํ์ธ์.
์ด๋ฆ๊ณผ ๋น๋ฒ๋ง ๋ฐ๊ฟ์ฃผ์๊ณ ์ฌ์ฉํ์๋ฉด ๋ผ์. ์ถ๊ฐ์ ์ผ๋ก ๋ ํผ๋ฐ์ค๋ฅผ ์ฝ์ด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
if (mySerial.available()) Serial.write(mySerial.read());
์ด ํ์ค์ ๋ช ๋ น์ ์ํํ๊ธฐ ์ํด์ ์์ฒญ ๊ธ์ ์ผ๋ค์. ์ด ํ์ค์ด ์ค๋ ๋์ํ๋ ๋ช ๋ น์ ์ ๋ถ์ ๋๋ค. ์ด๊ฑธ ํ๊ธฐ ์ํด์ ์ธํ ํ๋ ๊ณผ์ ์ด ๊ฝค ๊ธธ์๋ค์.
์ง๊ธ๊น์ง Serial ํต์ ์ผ๋ก ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก Serial ๋์ ์ ์ฌ๋ฌ๋ถ๋ค์ด ์๋ช ํ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ๋ง ํ๋ฉด ํต์ ์ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๋ฐฉํฅ ๋ฒํด์ 1,2,3,4 ๋ก ๊ฐ์ ์ธํ ํ์์์. ๊ทธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก Servo ๋จธํด์ ์ ์ด๋ฅผ ์ฝ๋ฉํด ๋ณด์ธ์. ์ด์ ์ค์์น ๋ฒํด์ผ๋ก Servo Motor๋ฅผ ์ ์ด ํ๋๋ฐ ๊ทธ ์์ค๋ ์ค๋ ํต์ ์์ค๋ฅผ ํฉ์ณ์ ์ฝ๋ฉํด๋ณด์๋ฉด ์๋ง๋ ์ฝ๊ฒ ์ฝ๋ฉ์ ํ ์ ์์ ๊ฑฐ๋ผ ์๊ฐ๋ฉ๋๋ค.
์ด๊ฑธ ๋ ๋ด์ผ ํฌ์คํ ํ๊ธฐ ๊ทธ๋ฌ๋๊น์ ์ด ๋ถ๋ถ์ ์ฌ๋ฌ๋ถ๋ค์ด Servo Motor๋ฅผ ์ ์ดํ๋ ํ๋ ๊ฑธ๋ก ๋ง๋ฌด๋ฆฌ ํ ๊น ํฉ๋๋ค.
๋์ค์ ๋ค๋ฅธ ์ฃผ์ ์ ์ค๋ ์ฌ์ฉํ Bluetooth๋ฅผ ํ์ฉํ๋ ๊ฒ์ ํฌ์คํธ ํ๊ฒ ์ต๋๋ค.