본문 바로가기

아두이노

블루투스 센서와 서보 모터를 활용한 원격 제어

반응형

블루투스 센서와 서보 모터를 사용하여 아두이노를 통해 원격으로 모터를 제어하는 프로젝트를 만들어보겠습니다. 이 프로젝트를 파트별로 설명하겠습니다.

  1. 이론 소개:
    • 이 프로젝트는 블루투스 통신을 통해 스마트폰 또는 컴퓨터에서 아두이노를 제어하여 서보 모터를 원격으로 회전시키는 것입니다.
  2. 준비물:
    • 아두이노 보드 (예: Arduino Uno)
    • 블루투스 모듈 (예: HC-05 또는 HC-06)
    • 서보 모터
    • 점퍼 와이어 및 브레드보드
    • 스마트폰 앱 또는 블루투스 터미널 앱
  3. 비슷한 센서 모델명:
    • 블루투스 모듈: HC-05, HC-06, HM-10
    • 서보 모터: SG90, MG90S
  4. 추천 보드 및 간단한 설명:
    • Arduino Uno: 다양한 센서 및 모듈과 호환성이 높아 입문자에게 적합합니다.
  5. 회로 구성:
    • 아래와 같이 회로를 연결합니다.
      • 블루투스 모듈: VCC - 5V, GND - GND, TX - RX, RX - TX
      • 서보 모터: VCC - 5V, GND - GND, 신호 선 - 아두이노 D9 핀
  6. 코딩 내용:
    • 아래 코드는 블루투스를 통해 스마트폰에서 보낸 데이터를 아두이노에서 읽어 서보 모터를 제어합니다.

 

#include <Servo.h>

Servo myservo;
int pos = 0;

void setup() {
  myservo.attach(9);  // 서보 모터를 9번 핀에 연결
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) {
    char command = Serial.read();
    if (command == 'o') {
      for (pos = 0; pos <= 180; pos += 1) {
        myservo.write(pos);
        delay(15);
      }
    } else if (command == 'c') {
      for (pos = 180; pos >= 0; pos -= 1) {
        myservo.write(pos);
        delay(15);
      }
    }
  }
}

 

7. 코딩 내용 설명:

  • 블루투스로부터 'o' 또는 'c'를 받으면, 모터가 열린 상태로 회전하거나 닫힌 상태로 회전합니다.

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

  • 위 코드를 아두이노 보드에 업로드합니다.
  • 스마트폰 앱 또는 블루투스 터미널 앱을 사용하여 블루투스로 아두이노와 연결하고 'o' 또는 'c'를 보내면 모터가 제어됩니다.

9. 응용 업그레이드:

  • 추가적인 기능을 구현하여 모터를 원하는 각도로 회전하도록 확장할 수 있습니다.

10. 전문용어 및 설명:

  • 블루투스 센서: 무선 통신을 사용하여 데이터를 전송하고 수신하는 센서.
  • 서보 모터: 정확한 각도로 회전하도록 설계된 모터.

11.기타:

  • 이 프로젝트를 확장하여 다른 모터 또는 장치를 제어하는 데 활용할 수 있습니다.
반응형