산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

블루투스로 다중 서보 모터 제어: Arduino & 안드로이드 앱

부품 및 소모품

부품 수량 비고
Arduino UNO (또는 Mega - 6개 이상 서보 시) 1 RobotDyn UNO 사용
HC-06 블루투스 모듈 1 기타 호환 모듈 가능
서보 모터 6 테스트용 1개로도 가능
점퍼 와이어 세트 (MM/FF/MF) 1
안드로이드 스마트폰 1 앱 설치용

프로젝트 소개

단일 서보 제어 앱에 이어 다중 서보 제어 앱을 제작했습니다. 안드로이드 앱으로 블루투스를 통해 최대 10개 서보까지 제어 가능합니다 (Arduino Mega 사용 시).

앱 다운로드

Google Play 스토어에서 "Bluetooth Servo Control" 등으로 검색하여 다운로드 (제작자 배포 앱). 소스 코드 필요 시 제작자 연락.

배선도

HC-06 설정 변경 (선택)

USB-TTL 프로그래머로 HC-06과 직결하여 AT 명령어로 설정 변경 가능:


AT           → OK 응답 확인
AT+NAMExyz   → 모듈 이름을 "xyz"로 변경 (응답: OKsetname)
AT+PIN1234   → 페어링 PIN을 1234로 변경 (응답: OKsetPIN)
AT+BAUD4     → 보드레이트 9600 설정 (기본값)

상세 명령어는 첨부 PDF 참조.

소스 코드


/* 작성자: Danny van den Brande
   안드로이드 앱으로 다중 서보 제어
   핀 부족 시 Mega 사용 권장 */
#include 

Servo myservo[10];  // 배열로 관리
byte serialA;

void setup() {
  // 서보 핀 할당 (UNO 기준 6개 PWM 핀)
  myservo[0].attach(9);   // 서보 1
  myservo[1].attach(10);  // 서보 2
  myservo[2].attach(11);  // 서보 3
  myservo[3].attach(3);   // 서보 4
  myservo[4].attach(5);   // 서보 5
  myservo[5].attach(6);   // 서보 6
  // myservo[6].attach( ); // 7번 이상 시 Mega에서 핀 지정
  
  Serial.begin(9600);  // HC-06 보드레이트와 일치해야 함
}

void loop() {
  if (Serial.available() > 2) {
    serialA = Serial.read();  // 첫 바이트 (앱에서 보내는 식별자)
    Serial.println(serialA);
    
    unsigned int servopos = Serial.read();      // 하위 바이트
    unsigned int servopos1 = Serial.read();     // 상위 바이트
    unsigned int realservo = (servopos1 * 256) + servopos;  // 16비트 값 복원
    Serial.println(realservo);
    
    // 서보별 값 범위: 1000~1180(서보1), 2000~2180(서보2), ... 6000~6180(서보6)
    for (int i = 0; i < 6; i++) {
      int base = (i + 1) * 1000;
      if (realservo >= base && realservo < base + 180) {
        int angle = map(realservo, base, base + 180, 0, 180);
        myservo[i].write(angle);
        Serial.print("Servo "); Serial.print(i+1); Serial.println(" ON");
        delay(10);
        break;
      }
    }
    // 7~10번 서보 사용 시 주석 해제 및 핀 할당 필요
  }
}

회로도

Fritzing 회로도 이미지 제공: Arduino UNO, HC-06, 6개 서보 병렬 연결. 서보 전원은 별도 배터리/BEC 권장.

주의사항

제조공정

  1. 심플 파이 로봇 – 라즈베리파이로 2WD 자율 로버 만들기
  2. 아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
  3. 아두이노 파워 컨트롤 센터: N-FET, P-FET, 릴레이 & RTC 키트
  4. 라즈베리파이 모터 쉴드로 만드는 안드로이드 제어 원격 주행 로봇
  5. 서보 모터 구동 장애물 회피 로봇: 아두이노 & HC-SR04로 제작하기
  6. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  7. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  8. 아두이노 & MPU6050: SG90 & MG996R 서보 모터 정밀 제어
  9. 서보 모터 설명: 작동 원리와 중요성
  10. 서보 모터 감속기 이해: 기능, 이점, 적용