7. Used ESP32 Bluetooth 2 (LED) - EnglishNo/ESP32 GitHub Wiki
#include <BluetoothSerial.h>
int LED = 22; // ํ ๋ฒํธ 22
BluetoothSerial BT;
void setup() {
// ๋ธ๋ฃจํฌ์ค ํต์ ์ค๋น
BT.begin("ESP32"); // ()์์ ๋ฌธ์ฅ์ ๋ธ๋ฃจํฌ์ค ๋ชจ๋์ ์ด๋ฆ์ ์ง์ ํ๋ ๊ฒ ์ฆ, ๋ธ๋ฃจํฌ์ค ์ด๋ฆ์ "ESP32"๋ก ์ ํ ๊ฒ์ด๋ค.
Serial.begin(115200);
// GPIO 22 ์ถ๋ ฅ๋ชจ๋๋ก ์ค์
pinMode(LED, OUTPUT);
}
void loop() {
char message = BT.read(); // ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋ ํจ์
if (message == 'o' || message == '0' || message == 'O') {
digitalWrite(LED, HIGH); // GPIO 22์ 5V ์ธ๊ฐ
// ์๋ฆฌ์ผ ๋ชจ๋ํฐ ๋ฐ ๋ธ๋ฃจํฌ์ค ์๋ฆฌ์ผ ํฐ๋ฏธ๋ ์ฑ์ ๊ฐ ์ถ๋ ฅ
Serial.println("LED ๋น์ด ์ผ์ก์ต๋๋ค.");
BT.println("LED ๋น์ด ์ผ์ก์ต๋๋ค.");
}
else if (message == 'x') {
digitalWrite(LED, LOW); // GPIO 22์ 0V ์ธ๊ฐ (LED ์ ๋ฉธ ์ข
๋ฃ)
// ์๋ฆฌ์ผ ๋ชจ๋ํฐ ๋ฐ ๋ธ๋ฃจํฌ์ค ์๋ฆฌ์ผ ํฐ๋ฏธ๋ ์ฑ์ ๊ฐ ์ถ๋ ฅ
Serial.println("LED ๋น์ด ๊บผ์ก์ต๋๋ค.");
BT.println("LED ๋น์ด ๊บผ์ก์ต๋๋ค.");
}
}
-.Clipchamp.4.mp4
(์ ์์ ์ผ๋ก ์ปดํ์ผ์ด ์คํ๋๋ ๋ชจ์ต)
(์์ธํ ์ค๊ณ - https://github.com/EnglishNo/ESP32/wiki/Light-of-LED-is-lighted-to-ESP32
ํน์ https://github.com/EnglishNo/ESP32/wiki/Lighted-Two-LED)
-์ ๋ GPIO 22์์ ์์ํ๊ธฐ ์ํด ์ด๋ฐ ์์ผ๋ก ํ๋ก๋๋ฅผ ๊ตฌ์ฑํ์ผ๋, ํ๊ณ ์ถ์ ํ์ ๊ฒฐ์ ํด ์์ ์ถ์ฒ๋ฅผ ์ฐธ๊ณ ํ๋ฉด์ ํ๋ก๋๋ฅผ ๊ตฌ์ฑํ์๋ฉด ๋ฉ๋๋ค.
-์์ ์ฑ์ ๊น์ จ์ผ๋ฉด, ์์ ์ถ์ฒ์ ๋ค์ด๊ฐ์ ์ ์ฐธ๊ณ ํ๋ฉด์ ์ฐ๊ฒฐํ๋ฉด ๋ฉ๋๋ค!
-์ด์ ๋ธ๋ฃจํฌ์ค ์๋ฆฌ์ผ ํฐ๋ฏธ๋ ์ฑ ํ๋จ์์ 'o', 'O', '0'๋ฅผ ์ ๋ ฅํ๋ฉด LED์ ๋ถ์ด ์ผ์ง ๊ฒ๋๋ค! 'x'๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ ๋ฐ๋๋ก ๋ถ์ด ๊บผ์ง๊ฒ ๋๊ณ ์!
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ "read()" ํจ์๋ ์ ๋ ฅํ ๊ฐ์ ์ฝ์ด์ค๋ ํจ์๋ก, ๋ง์ฝ ๋ธ๋ฃจํฌ์ค ์๋ฆฌ์ผ ์ฑ์์ 'o'๋ฅผ ์ ๋ ฅํ๋ฉด, 'o'๋ฅผ ๋ฃ๊ณ ์ ํ๋ ๋ณ์๊ฐ ์๋ค๋ฉด, ๊ฑฐ๊ธฐ์ ๊ทธ๋๋ก 'o' ๋ฌธ์๊ฐ ๋ฃ์ด์ง๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ "available()" ํจ์๋ ์๋ฆฌ์ผ ํฌํธ๋ก๋ถํฐ ์ฝ์ ์ ์๋ ๋ฐ์ดํธ ์๋ฅผ ๋ฐํํ๋ฉฐ, ์๋ฆฌ์ผ ํฌํธ๋ก๋ถํฐ ๋ฐ์ดํฐ๊ฐ ์์ ๋์๋์ง ํ์ธํ ์ ์๋ค๊ณ ํ๋ค.
- "(BluetoothSerial ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ง๋ ๊ฐ์ฒด ์ด๋ฆ).begin()"์์ ๊ดํธ ์์์ ๋ฌธ์ฅ์ ๋ฃ์ผ๋ฉด, ๊ดํธ ์์ ๋ฌธ์ฅ์ผ๋ก ๋ธ๋ฃจํฌ์ค ๋ชจ๋์ ์ด๋ฆ์ด ์ ํด์ง๋ค.
- ์ฒ์์ Chat GPT๋ฅผ ํตํด ์ฝ๋๋ฅผ ๋ฌผ์ด๋ณผ ๋, ์ฒ์ ๋ดค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจ์๋ค์ด ์์ด ์ด๋ ค์ธ ์ค ์์์ง๋ง, ์ ๋ฒ ์ค์ต์์ ์จ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ก๋ ํ ์ ์๋ค๊ณ ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฝ๋๋ฅผ ์์ฑํ๋ค.
- ๊ทผ๋ฐ ์ปดํ์ผํ ๋ ค๊ณ ํ๋ฉด ์ธ์ ์๋๋ ํจ์(์คํ), ์ค์๋ก ๋ฃ์ด์ง ๋จ์ด, ';' ๋ฏธ ์์ฑ, ์ฝ๋ ์์ฑ ์ค์ ๋ฑ์ผ๋ก ์ธ ์ปดํ์ผ์ด ์คํจํ์ผ๋, ์์๋๋ก ํด๊ฒฐํ๋ ๋์ค์ ์ปดํ์ผ์ด ๋์๋ค.
- ์ปดํ์ผ์ด ์๋ฃ๋๊ณ , ๋ธ๋ฃจํฌ์ค ์๋ฆฌ์ผ ํฐ๋ฏธ๋ํ๊ณ ESP32๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ ํ์ผ๋, ์ฐ๊ฒฐ์ด ์คํจํ๋ค๊ณ ํด, "Serial.print()" ํจ์๋ฅผ ์ถ๊ฐํ๊ณ , ์๋ฆฌ์ผ ๋ชจ๋ํฐ๋ฅผ ํฌ ๋ ๊ทธ๋๋ง ์๋๋์๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ "available()" ํจ์๋ฅผ ์ด์ฉํด ํต์ ์คํจํ๊ณ ์๋ฃ๋ฅผ ์ฑ๊ณตํ ๋ ค๊ณ ํ์ผ๋, ๊ฐ์ ๊ฐ์ด ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅ๋๊ณ , ์๊พธ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์ "available()" ํจ์๋ฅผ ์ ๊ฑฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์์ ์ผ๋ก LED ๋ถ์ด ์ผ์ก๋ค.