본문 바로가기

아두이노

블루투스 센서와 조도 센서로 원격 라이트 제어

반응형

블루투스 센서와 조도 센서를 사용한 원격 라이트 제어 아두이노 프로젝트에 대한 상세한 설명을 제공합니다.

  1. 이론 소개:
    • 블루투스 센서: 무선 통신을 사용하여 데이터를 다른 장치로 전송하는 센서입니다.
    • 조도 센서: 주변 환경의 밝기를 측정하고 측정값을 디지털 또는 아날로그로 출력하는 센서입니다.
    • 이 프로젝트는 블루투스 센서와 조도 센서를 결합하여 스마트폰을 통해 조명을 원격으로 제어하는 것을 목표로 합니다.
  2. 준비물:
    • 아두이노 보드 (예: Arduino Uno)
    • 블루투스 모듈 (예: HC-05 또는 HC-06)
    • 조도 센서 (예: LDR 또는 Light Dependent Resistor)
    • 브레드보드
    • LED 및 저항 (220 옴)
    • 블루투스 모듈과 조도 센서를 연결하기 위한 점퍼 와이어
  3. 비슷한 센서 모델명:
    • 블루투스 모듈: HC-05, HC-06, HM-10
    • 조도 센서: LDR, Light Dependent Resistor
  4. 추천 보드 및 간단한 설명:
    • Arduino Uno: 입문자에게 적합하며 다양한 센서와 모듈과 호환성이 높습니다.
  5. 회로 구성:
    • 블루투스 모듈과 조도 센서를 아두이노 보드에 연결합니다.
      • 블루투스 모듈: VCC - 5V, GND - GND, TX - RX, RX - TX
      • 조도 센서: VCC - 5V, GND - GND, Signal - A0 (아날로그 0 핀)
      • LED: Anode - 7번 핀, Cathode - 저항 (220 옴) - GND
  6. 코딩 내용:
    • 아래 코드는 블루투스 모듈을 통해 스마트폰 앱으로 조명을 제어하는 예시입니다.

 

int lightPin = A0; // 조도 센서 연결 핀
int ledPin = 7;   // LED 연결 핀
int brightness = 0;

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

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

  if (Serial.available() > 0) {
    char command = Serial.read();
    if (command == 'H') {
      digitalWrite(ledPin, HIGH);
    } else if (command == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

 

7. 코딩 내용 설명:

  • 조도 센서 값을 읽어와 LED 밝기를 제어합니다.
  • 블루투스 모듈을 통해 'H'를 보내면 LED가 켜지고 'L'을 보내면 LED가 꺼집니다.

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

  • 위 코드를 아두이노 보드에 업로드합니다.
  • 블루투스 시리얼 통신 앱을 사용하여 스마트폰으로 연결하고 LED를 제어합니다.

9. 응용 업그레이드:

  • 스마트폰 앱을 더 확장하여 다양한 기능을 추가할 수 있습니다. 예를 들어, 밝기 조절 슬라이더 추가, 타이머 설정 등이 가능합니다.

10. 전문용어 및 설명:

  • 블루투스 센서: 무선 통신을 사용하여 데이터를 전송하고 수신하는 센서.
  • 조도 센서: 주변 환경의 밝기를 측정하고 측정값을 출력하는 센서.
  • 시리얼 통신: 데이터를 비트 단위로 연속적으로 전송하는 통신 방식.

11. 기타:

  • 이 프로젝트를 통해 스마트 홈 조명 제어 시스템을 구현할 수 있습니다.
반응형