7. Used ESP32 Bluetooth 2 (LED) - EnglishNo/ESP32 GitHub Wiki

๋ธ”๋ฃจํˆฌ์Šค๋ฅผ ์ด์šฉํ•ด LED ๋น› ์ ๋ฉธ์‹œํ‚ค๊ธฐ

20230416_185509

์ฝ”๋“œ ์ž‘์„ฑ


#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

(์ •์ƒ์ ์œผ๋กœ ์ปดํŒŒ์ผ์ด ์‹คํ–‰๋˜๋Š” ๋ชจ์Šต)

LED ํšŒ๋กœ ์„ค๊ณ„

20230416_165100

(์ž์„ธํ•œ ์„ค๊ณ„ - https://github.com/EnglishNo/ESP32/wiki/Light-of-LED-is-lighted-to-ESP32
ํ˜น์€ https://github.com/EnglishNo/ESP32/wiki/Lighted-Two-LED)

-์ €๋Š” GPIO 22์—์„œ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฐ ์‹์œผ๋กœ ํšŒ๋กœ๋„๋ฅผ ๊ตฌ์„ฑํ–ˆ์œผ๋‹ˆ, ํ•˜๊ณ  ์‹ถ์€ ํ•€์„ ๊ฒฐ์ •ํ•ด ์œ„์˜ ์ถœ์ฒ˜๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ํšŒ๋กœ๋„๋ฅผ ๊ตฌ์„ฑํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋ฃจํˆฌ์Šค ์‹œ๋ฆฌ์–ผ ํ„ฐ๋ฏธ๋„ ์•ฑ ์ค€๋น„

Screenshot_20230413_152313_Google Play Store

(์ž์„ธํ•œ ๋‚ด์šฉ - https://github.com/EnglishNo/ESP32/wiki/I'm-used-ESP32-Bluetooth#-%EB%B8%94%EB%A3%A8%ED%88%AC%EC%8A%A4-%EC%8B%9C%EB%A6%AC%EC%96%BC-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8F%B0%ED%95%98%EA%B3%A0-esp32-%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94-%EB%B2%95-)

-์œ„์˜ ์•ฑ์„ ๊นŒ์…จ์œผ๋ฉด, ์œ„์˜ ์ถœ์ฒ˜์— ๋“ค์–ด๊ฐ€์…”์„œ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!

Screenshot_20230416_182747_Serial Bluetooth Terminal

-์ด์ œ ๋ธ”๋ฃจํˆฌ์Šค ์‹œ๋ฆฌ์–ผ ํ„ฐ๋ฏธ๋„ ์•ฑ ํ•˜๋‹จ์—์„œ 'o', 'O', '0'๋ฅผ ์ž…๋ ฅํ•˜๋ฉด LED์— ๋ถˆ์ด ์ผœ์งˆ ๊ฒ๋‹ˆ๋‹ค! 'x'๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ ๋ฐ˜๋Œ€๋กœ ๋ถˆ์ด ๊บผ์ง€๊ฒŒ ๋˜๊ณ ์š”!

์ด๋ฒˆ ์‹ค์Šต์—์„œ ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ 

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ "read()" ํ•จ์ˆ˜๋Š” ์ž…๋ ฅํ•œ ๊ฐ’์„ ์ฝ์–ด์˜ค๋Š” ํ•จ์ˆ˜๋กœ, ๋งŒ์•ฝ ๋ธ”๋ฃจํˆฌ์Šค ์‹œ๋ฆฌ์–ผ ์•ฑ์—์„œ 'o'๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, 'o'๋ฅผ ๋„ฃ๊ณ ์ž ํ•˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ฑฐ๊ธฐ์— ๊ทธ๋Œ€๋กœ 'o' ๋ฌธ์ž๊ฐ€ ๋„ฃ์–ด์ง„๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ "available()" ํ•จ์ˆ˜๋Š” ์‹œ๋ฆฌ์–ผ ํฌํŠธ๋กœ๋ถ€ํ„ฐ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์‹œ๋ฆฌ์–ผ ํฌํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.
  • "(BluetoothSerial ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ด๋ฆ„).begin()"์—์„œ ๊ด„ํ˜ธ ์•ˆ์—์„œ ๋ฌธ์žฅ์„ ๋„ฃ์œผ๋ฉด, ๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์žฅ์œผ๋กœ ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์ด ์ •ํ•ด์ง„๋‹ค.

์ด๋ฒˆ ์‹ค์Šต์—์„œ ์–ด๋ ค์› ๋˜ ์  ๋ฐ ํ•ด๊ฒฐ ๊ณผ์ •

  • ์ฒ˜์Œ์— Chat GPT๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๋ฌผ์–ด๋ณผ ๋•Œ, ์ฒ˜์Œ ๋ดค๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ•จ์ˆ˜๋“ค์ด ์žˆ์–ด ์–ด๋ ค์šธ ์ค„ ์•Œ์•˜์ง€๋งŒ, ์ €๋ฒˆ ์‹ค์Šต์—์„œ ์จ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋กœ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.
  • ๊ทผ๋ฐ ์ปดํŒŒ์ผํ• ๋ ค๊ณ  ํ•˜๋ฉด ์ธ์‹ ์•ˆ๋˜๋Š” ํ•จ์ˆ˜(์˜คํƒ€), ์‹ค์ˆ˜๋กœ ๋„ฃ์–ด์ง„ ๋‹จ์–ด, ';' ๋ฏธ ์ž‘์„ฑ, ์ฝ”๋“œ ์ž‘์„ฑ ์‹ค์ˆ˜ ๋“ฑ์œผ๋กœ ์ธ ์ปดํŒŒ์ผ์ด ์‹คํŒจํ–ˆ์œผ๋‚˜, ์ˆœ์„œ๋Œ€๋กœ ํ•ด๊ฒฐํ•˜๋‹ˆ ๋‚˜์ค‘์— ์ปดํŒŒ์ผ์ด ๋˜์—ˆ๋‹ค.
  • ์ปดํŒŒ์ผ์ด ์™„๋ฃŒ๋˜๊ณ , ๋ธ”๋ฃจํˆฌ์Šค ์‹œ๋ฆฌ์–ผ ํ„ฐ๋ฏธ๋„ํ•˜๊ณ  ESP32๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜, ์—ฐ๊ฒฐ์ด ์‹คํŒจํ–ˆ๋‹ค๊ณ  ํ•ด, "Serial.print()" ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ํ‚ฌ ๋•Œ ๊ทธ๋‚˜๋งˆ ์ž‘๋™๋˜์—ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ "available()" ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ํ†ต์‹  ์‹คํŒจํ•˜๊ณ  ์™„๋ฃŒ๋ฅผ ์„ฑ๊ณตํ• ๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ๊ฐ™์€ ๊ฐ’์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅ๋˜๊ณ , ์ž๊พธ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•„ "available()" ํ•จ์ˆ˜๋ฅผ ์ œ๊ฑฐํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ •์ƒ์ ์œผ๋กœ LED ๋ถˆ์ด ์ผœ์กŒ๋‹ค.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ