본문 바로가기

아두이노

블루투스 센서와 조도 센서를 사용한 스마트 창문 제어

반응형

블루투스 센서와 조도 센서를 사용한 스마트 창문 제어 시스템을 만들기 위한 아두이노 코딩을 아래와 같은 파트로 나눠 설명하겠습니다.

  1. 이론 소개:
    • 이 프로젝트는 블루투스 센서와 조도 센서를 결합하여 스마트 창문을 제어하는 시스템을 만드는 것입니다. 조도 센서로 주변 조명 수준을 감지하고, 블루투스를 통해 창문을 열거나 닫습니다.
  2. 준비물:
    • 아두이노 보드 (예: Arduino Uno)
    • 블루투스 모듈 (예: HC-05 또는 HC-06)
    • 조도 센서 (예: BH1750)
    • 서보 모터
    • 점퍼 와이어
    • 브레드보드 또는 납땜기 (선택 사항)
    • 스마트폰 앱 또는 블루투스 터미널 앱
  3. 비슷한 센서 모델명:
    • 블루투스 모듈: HC-05, HC-06
    • 조도 센서: BH1750
  4. 추천 보드 및 간단한 설명:
    • Arduino Uno: 입문자에게 적합하며 다양한 센서와 모듈과 호환성이 높습니다.
  5. 회로 구성:
    • 블루투스 모듈, 조도 센서, 서보 모터를 아래와 같이 연결합니다.
      • 블루투스 모듈: VCC - 5V, GND - GND, TX - RX, RX - TX
      • 조도 센서: VCC - 5V, GND - GND, SDA - A4, SCL - A5
      • 서보 모터: 신호 - 디지털 핀 (예: 9번 핀), VCC - 5V, GND - GND
  6. 코딩 내용:
    • 아래 코드는 조도 센서로 주변 조명 수준을 감지하고, 블루투스 모듈을 통해 스마트폰 앱으로 조도 정보를 전송하며, 앱에서 'O' 또는 'C' 명령을 받아 서보 모터를 움직입니다.

 

 

#include <SoftwareSerial.h>
#include <Wire.h>
#include <Servo.h>
#include <BH1750.h>

SoftwareSerial bluetooth(2, 3); // RX, TX
Servo myservo;
BH1750 lightSensor;

void setup() {
  bluetooth.begin(9600);
  myservo.attach(9);
  lightSensor.begin();
}

void loop() {
  float lux = lightSensor.readLightLevel();
  if (bluetooth.available()) {
    char command = bluetooth.read();
    if (command == 'O' && lux < 100) {
      myservo.write(90); // 서보 모터를 열린 위치로 회전
    }
    if (command == 'C') {
      myservo.write(0); // 서보 모터를 닫힌 위치로 회전
    }
  }
}

 

 

7. 코딩 내용 설명:

  • 조도 센서를 사용하여 주변 조명 수준을 측정합니다.
  • 블루투스 모듈을 통해 스마트폰 앱으로 조도 정보를 전송하며, 앱에서 'O' 명령을 받아 조명이 어두울 때만 창문을 열고, 'C' 명령을 받아 창문을 닫습니다.

8. 코드 업로드 및 테스트:

  • 위 코드를 아두이노 보드에 업로드합니다.
  • 스마트폰 앱 또는 블루투스 터미널 앱을 사용하여 블루투스로 아두이노와 연결하고 명령을 전송하여 창문을 제어합니다.

9. 응용 업그레이드:

  • 이 프로젝트를 확장하여 다양한 센서와 기능을 추가할 수 있습니다. 예를 들어, 온도 센서를 추가하여 온도에 따라 창문을 제어하거나, 시간 일정을 설정하여 자동으로 창문을 열고 닫을 수 있습니다.

10. 전문용어 및 설명:

  • 블루투스: 무선 통신 기술로, 짧은 거리에서 데이터를 주고받을 수 있습니다.
  • 조도 센서: 주변 조명 수준을 측정하는 센서입니다.
  • 서보 모터: 특정 각도로 회전하는 모터로, 위치 제어에 사용됩니다.

11. 기타:

  • 이 프로젝트를 통해 스마트 창문 제어 시스템을 구축하고, 에너지 효율적인 조명 관리를 할 수 있습니다.
반응형