아두이노블루투스 RC카

아두이노블루투스 RC카

Makerist 0 683

안녕하세요!이번시간에는 

Uno 보드, L9110S 모터 드라이버, HC-06 블루투스 모듈을 사용하여 제어가 되는 아두이노 블루투스 RC자동차의 소스 코드를 작성해 보겠습니다.

#include <SoftwareSerial.h>
 
// 모터 핀 설정
int A_1A = 6;
int A_1B = 11;
int B_1A = 3;
int B_1B = 5;
 
// 블루투스 모듈 핀 설정
int btRxPin = 12; // HC-06 RX 핀 - Arduino D13
int btTxPin = 13; // HC-06 TX 핀 - Arduino D12
 
SoftwareSerial bluetoothSerial(btRxPin, btTxPin); // 소프트웨어 시리얼 객체 생성
 
int speed = 255; // 모터 속도
 
void setup() {
  bluetoothSerial.begin(9600); // 블루투스 통신 시작
  pinMode(A_1A, OUTPUT);
  pinMode(A_1B, OUTPUT);
  pinMode(B_1A, OUTPUT);
  pinMode(B_1B, OUTPUT);
  digitalWrite(A_1A, LOW);
  digitalWrite(A_1B, LOW);
  digitalWrite(B_1A, LOW);
  digitalWrite(B_1B, LOW);
  Serial.begin(9600);
}
 
void loop() {
  char cmd = 0;
   
  // Bluetooth 통신을 통해 명령 받기
  if (bluetoothSerial.available()) {
    cmd = bluetoothSerial.read();
  }
   
  // 시리얼 통신을 통해 명령 받기
  if (Serial.available()) {
    cmd = Serial.read();
  }
 
  // 명령에 따라 모터 제어
  /*
  //analogWrite(A_1A, speed); //A모터 정회전
      analogWrite(A_1B, 0); //A모터 역회전
      analogWrite(B_1A, speed);
      analogWrite(B_1B, 0);
      break;
      */
  switch (cmd) {
    case 'f':
      analogWrite(A_1A, speed);
      analogWrite(A_1B, 0);
      analogWrite(B_1A, speed);
      analogWrite(B_1B, 0);
      break;
    case 'b':
      analogWrite(A_1A, 0);
      analogWrite(A_1B, speed);
      analogWrite(B_1A, 0);
      analogWrite(B_1B, speed);
      break;
    case 'r':
      // 오른쪽 명령 시 A 모터는 정회전, B 모터는 역회전
      analogWrite(A_1A, 0);
      analogWrite(A_1B, 0);
      analogWrite(B_1A, speed);
      analogWrite(B_1B, 0);
      break;
    case 'l':
      // 왼쪽 명령 시 B 모터는 정회전
      analogWrite(A_1A, speed);
      analogWrite(A_1B, 0);
      analogWrite(B_1A, 0);
      analogWrite(B_1B, 0);
      break;
    case 's':
      analogWrite(A_1A, 0);
      analogWrite(A_1B, 0);
      analogWrite(B_1A, 0);
      analogWrite(B_1B, 0);
      break;
  }
}


0 Comments
Category
반응형 구글광고 등
State
  • 현재 접속자 126 명
  • 오늘 방문자 544 명
  • 어제 방문자 3,368 명
  • 최대 방문자 4,586 명
  • 전체 방문자 675,804 명
  • 전체 게시물 26,009 개
  • 전체 댓글수 36 개
  • 전체 회원수 22 명
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand