티스토리 뷰
728x90
출처 : 블루투스 HC-06 슬레이브 모듈 아두이노 소스 + 안드로이드 앱 소스 | Hard Copy Arduino
HC-06 배선
HC-06 제어 소스
#include <SoftwareSerial.h> SoftwareSerial BTSerial(9, 8); //Connect HC-06. Use your (TX, RX) settings void setup() { Serial.begin(9600); Serial.println("Hello!"); BTSerial.begin(9600); // set the data rate for the BT port } void loop() { // BT –> Data –> Serial if (BTSerial.available()) { Serial.write(BTSerial.read()); } // Serial –> Data –> BT if (Serial.available()) { BTSerial.write(Serial.read()); } }
블루투스(HC-06) 연동 RC CAR 배선
블루투스(HC-06) 연동 RC CAR 소스
#include <SoftwareSerial.h> SoftwareSerial btSerial(9, 8); //Connect HC-06. Use your (TX, RX) settings //모터A 컨트롤 int enA = 6; int IN1 = 7; int IN2 = 5; //모터B 컨트롤 int enB = 3; int IN3 = 4; int IN4 = 2; String receiveStr=""; //받는 문자열 #define MOTER_SPEED 255 // MAX 255 void setup() { pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); Serial.begin(9600); Serial.println("Hello!"); btSerial.begin(9600); // set the data rate for the BT port } void loop() { analogWrite(enA, MOTER_SPEED); analogWrite(enB, MOTER_SPEED); // put your main code here, to run repeatedly: receiveStr=""; while(btSerial.available()) //mySerial에 전송된 값이 있으면 { char myChar = (char)btSerial.read(); //mySerial int 값을 char 형식으로 변환 receiveStr+=myChar; //수신되는 문자를 receiveStr에 모두 붙임 (1바이트씩 전송되는 것을 연결) delay(5); //수신 문자열 끊김 방지 } if (receiveStr.length() > 0) { Serial.println(receiveStr); if (receiveStr == "F") { bothMotorStart(); // 전진 } else if (receiveStr == "S") { stopAllMotor(); } else if (receiveStr == "R") { turnRight(); // 오른쪽으로 턴 } else if (receiveStr == "L") { turnLeft(); // 왼쪽으로 턴 } else if (receiveStr == "B") { bothMotorBack(); // 후진 } } } //모터A,B 정회전 void bothMotorStart() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A,B 역회전 void bothMotorBack() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); } //모터A,B Stop void stopAllMotor() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A 역회전, 모터B 정회전 void turnLeft() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A 정회전, 모터B 역회전 void turnRight() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); } //모터A 정회전, 모터B Stop void motorA_Rotation() { digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A Stop, 모터B 정회전 void motorB_Rotation() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); } //모터A 역회전, 모터B Stop void motorA_Reverse() { digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); digitalWrite(IN3,LOW); digitalWrite(IN4,LOW); } //모터A Stop, 모터B 역회전 void motorB_Reverse() { digitalWrite(IN1,LOW); digitalWrite(IN2,LOW); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); }
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Linux
- KOBA
- Delphi
- 송주경
- Spring MVC
- 일본여행
- BPI-M4
- ubuntu
- MySQL
- SAS
- NDK
- oracle
- Java
- Xcode
- Delphi Tip
- ffmpeg
- sas2009
- 튜닝쇼 2008
- 동경
- 지스타2007
- Mac
- koba2010
- Spring
- 서울오토살롱
- 전예희
- ble
- flex
- android
- JavaScript
- 레이싱모델 익스트림 포토 페스티벌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함