본문 바로가기

아두이노

블루투스 센서와 빛 감지 센서로 원격 조명 제어

반응형

블루투스 센서와 빛 감지 센서를 사용한 원격 조명 제어 시스템을 아두이노로 구현하는 방법을 설명하겠습니다. 이 프로젝트를 파트별로 정리하겠습니다.

  1. 이론 소개:
    • 이 프로젝트는 블루투스 통신을 사용하여 아두이노를 원격으로 제어하여 조명을 켜고 끄는 시스템을 구현합니다.
    • 블루투스 센서를 통해 스마트폰 앱과 아두이노 간에 데이터를 전송하고, 빛 감지 센서를 사용하여 주변 조명 상태를 감지합니다.
  2. 준비물:
    • 아두이노 보드 (예: Arduino Uno)
    • 블루투스 모듈 (예: HC-05 또는 HC-06)
    • 빛 감지 센서 (예: LDR - Light Dependent Resistor)
    • LED (조명 대신 사용)
    • 점퍼 와이어 및 브레드보드
    • 스마트폰 앱 (예: Android용 Bluetooth 터미널 앱)
  3. 비슷한 센서 모델명:
    • 블루투스 모듈: HC-05, HC-06, HM-10
    • 빛 감지 센서: LDR (Light Dependent Resistor)
  4. 추천 보드 및 간단한 설명:
    • Arduino Uno: 입문자에게 적합하며 다양한 센서와 모듈과 호환성이 높습니다.
  5. 회로 구성:
    • 블루투스 모듈과 빛 감지 센서를 아두이노 보드에 연결합니다.
      • 블루투스 모듈: VCC - 5V, GND - GND, TX - RX, RX - TX
      • 빛 감지 센서: 하나의 단자를 5V에 연결하고 다른 단자를 아두이노 아날로그 핀 (예: A0)에 연결합니다.
      • LED를 디지털 핀 (예: 13)에 연결합니다.
  6. 코딩 내용:
    • 아래 코드는 블루투스 모듈을 통해 스마트폰 앱에서 받은 명령에 따라 LED(조명)를 제어합니다.

 

int lightSensorPin = A0; // 빛 감지 센서 핀
int ledPin = 13; // LED 핀
int brightness = 0; // 조명 밝기 (0~255)

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(lightSensorPin);
  brightness = map(sensorValue, 0, 1023, 0, 255);

  if (Serial.available() > 0) {
    char receivedChar = Serial.read();
    if (receivedChar == '1') {
      digitalWrite(ledPin, HIGH); // LED 켜기
    } else if (receivedChar == '0') {
      digitalWrite(ledPin, LOW); // LED 끄기
    }
  }
}

 

 

7. 코딩 내용 설명:

  • 빛 감지 센서의 값을 읽어와서 조명 밝기를 설정합니다.
  • 스마트폰 앱에서 받은 '1' 명령을 받으면 LED를 켜고, '0' 명령을 받으면 LED를 끕니다.

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

  • 위 코드를 아두이노 보드에 업로드합니다.
  • 스마트폰 앱을 사용하여 블루투스를 통해 아두이노와 연결하고, 명령을 보내어 LED(조명)를 제어합니다.

9. 응용 업그레이드:

  • 스마트폰 앱을 확장하여 더 많은 제어 옵션을 추가하거나, 빛 감지 센서를 사용하여 주변 환경에 따라 조명을 조절할 수 있습니다.

10. 전문용어 및 설명:

  • 블루투스 센서: 무선 통신을 사용하여 데이터를 전송하고 수신하는 센서.
  • 빛 감지 센서 (LDR): 주변 빛의 강도를 감지하는 센서.

11. 기타:

  • 이 프로젝트를 확장하여 스마트 홈 자동화 시스템에 통합하거나, 다른 센서와 연동하여 더 많은 기능을 추가할 수 있습니다.
반응형