고급 음성 제어 로봇

이 블로그에서는 HC-05 블루투스 모듈과 Arduino 마이크로컨트롤러를 사용하여 고급 음성 제어 로봇을 구축하는 방법을 보여드리겠습니다.



필요한 구성 요소


  • 아두이노 UNO
  • HC-05
  • 기어 모터
  • IC L293D

  • 아두이노 우노



    Arduino는 사용하기 쉬운 하드웨어 및 소프트웨어를 기반으로 하는 오픈 소스 전자 플랫폼입니다. Arduino 보드는 센서의 빛, 버튼의 손가락 또는 트위터 메시지와 같은 입력을 읽고 모터를 활성화하고 LED를 켜고 온라인에 무언가를 게시하는 출력으로 바꿀 수 있습니다. 이를 위해서는 아두이노 프로그래밍 언어(배선 기반)와 프로세싱 기반 아두이노 소프트웨어(IDE)를 사용한다.

    HC-05 블루투스 모듈



    HC-05는 프로젝트에 양방향(전이중) 기능을 추가할 수 있는 널리 사용되는 무선 모듈입니다. 이 모듈을 사용하여 Arduino와 같은 두 개의 마이크로컨트롤러 간에 통신하거나 전화나 노트북과 같은 Bluetooth 지원 장치와 통신할 수 있습니다. 많은 Android 애플리케이션을 이미 사용할 수 있으므로 이 프로세스가 훨씬 쉬워집니다.

    기어 모터



    속도를 낮추고 토크와 힘을 증가시키기 위한 기어박스가 있는 DC 모터입니다. 이러한 유형의 모터는 일반적으로 로봇 응용 분야에 사용됩니다.

    IC L293D



    IC L293D는 4.5~36볼트의 전압 범위에서 최대 600mA의 전류를 구동할 수 있는 듀얼 H-브리지 모터 드라이버 집적 회로입니다.



    Playstore에서 사용할 수 있는 모든 블루투스 모바일 앱을 사용하여 모바일을 블루투스 모듈에 연결할 수 있습니다.

    암호




    #include<SoftwareSerial.h>
    int motorPin1 = 3;
    int motorPin2 = 4;
    int motorPin3 = 5;
    int motorPin4 = 6;
    SoftwareSerial BT(11, 12);
    String readvoice;
    void setup() {
      BT.begin(9600);
      Serial.begin(9600);
      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(5, OUTPUT);
      pinMode(6, OUTPUT);
    }
    
    void loop() {
      while (BT.available()) {
        delay(10);
        char c = BT.read();
        readvoice += c ;
      }
      if (readvoice.length() > 0) {
        Serial.println(readvoice);
        if (readvoice == "forward") {
          digitalWrite(3, HIGH);
          digitalWrite(4, LOW);
          digitalWrite(5, HIGH);
          digitalWrite(6, LOW );
          delay(100);
        }
        else if (readvoice == "backward") {
          digitalWrite(3, LOW);
          digitalWrite(4, HIGH);
          digitalWrite(5, LOW);
          digitalWrite(6, HIGH );
          delay(100);
        }
        else if (readvoice == "right") {
          digitalWrite(3, LOW);
          digitalWrite(4, HIGH);
          digitalWrite(5, HIGH);
          digitalWrite(6, LOW );
          delay(100);
        }
        else if (readvoice == "left") {
          digitalWrite(3, HIGH);
          digitalWrite(4, LOW);
          digitalWrite(5, LOW);
          digitalWrite(6, HIGH );
          delay(100);
        }
        else if (readvoice == "stop") {
          digitalWrite(3, LOW);
          digitalWrite(4, LOW);
          digitalWrite(5, LOW);
          digitalWrite(6, LOW );
          delay(100);
        }
        readvoice = "";
      }
    }
    

    좋은 웹페이지 즐겨찾기