RC카조립하기 - Egloos

46
RC카조립하기 2016.11 고재관 Version 3

Transcript of RC카조립하기 - Egloos

Page 1: RC카조립하기 - Egloos

RC카조립하기

2016.11

고재관

Version 3

Page 2: RC카조립하기 - Egloos

베이스보드조립

Page 3: RC카조립하기 - Egloos

2

모터조립핀 끼우기

모터조립핀을 베이스보드에끼워 넣습니다.

Page 4: RC카조립하기 - Egloos

3

모터 고정하기

모터조립핀 사이에 모터를끼웁니다.

구멍사이 볼트를 넣습니다.

볼트가 튀어 나오면 너트를끼워 조립 합니다.

조립시에는 나모양의 스크류드라이버를사용합니다.

Page 5: RC카조립하기 - Egloos

4

모터 4개 모두 고정하기

나머지 모터도 조립합니다.

조립할 때 모터의 색상띠를 확인 하세요

Page 6: RC카조립하기 - Egloos

5

모터연결 케이블

나머지 모터도 조립합니다.

조립할 때 모터의 색상띠를 확인 하세요

전선은 한쪽으로 모아서연결합니다.

Page 7: RC카조립하기 - Egloos

배터리연결

Page 8: RC카조립하기 - Egloos

7

배터리 및 배터리홀더

- +

+ -

3.7V 1000mA

3.7V 1000mA +

+

전원+와전원-부분주의요망바뀔경우 화상/화재위험매우높음

Page 9: RC카조립하기 - Egloos

8

외부전원연결하기

-3.7V 1000mA +

다이오드

GNDD+D-5V

IN+

IN-VINGND

5V

GND

<참고용>

Page 10: RC카조립하기 - Egloos

9

모터 & 모터드라이브 전원연결

IN1

IN3

IN2

IN4

22035VRVT

22035VRVT

OUT1

OUT2

OUT4

OUT3GND 5V

12

V

-3.7V 1000mA

3.7V 1000mA +

+

GND

5V

+

-

Page 11: RC카조립하기 - Egloos

10

충전지케이스 조립하기

충전지를 조립합니다.

전지를 빼서 조립한후 다시끼워 넣습니다. +와 – 전극을주의 하세요

+

+

Page 12: RC카조립하기 - Egloos

모터드라이버

Page 13: RC카조립하기 - Egloos

12

모터 & 모터드라이브 데이터연결

IN1

IN3

IN2

IN4

22

03

5V

RV

T2

20

35

VR

VT

OU

T1

OU

T2

OU

T4

OU

T3G

ND

5V

12V

11

10

96

Page 14: RC카조립하기 - Egloos

모터조립

Page 15: RC카조립하기 - Egloos

14

Page 16: RC카조립하기 - Egloos

15

모터 & 모터드라이브 연결

IN1

IN3

IN2

IN4

22

03

5V

RV

T2

20

35

VR

VT

OU

T1

OU

T2

OU

T4

OU

T3G

ND

5V

12V

11

10

9

6

Page 17: RC카조립하기 - Egloos

16

작동확인

void loop(){

digitalWrite( 6, LOW );digitalWrite( 9, HIGH);digitalWrite(10, LOW );digitalWrite(11, HIGH);delay(2000);digitalWrite( 6, LOW );digitalWrite( 9, LOW );digitalWrite(10, LOW );digitalWrite(11, LOW );delay(2000);

}

void setup() {

pinMode( 6,OUTPUT);pinMode( 9,OUTPUT);pinMode(10,OUTPUT);pinMode(11,OUTPUT);

}

Page 18: RC카조립하기 - Egloos

17

모터추가 연결

IN1

IN3

IN2

IN4

22035VRVT

22035VRVT

OUT1

OUT2

OUT4

OUT3GND 5V

12

V

Page 19: RC카조립하기 - Egloos

연결완료

Page 20: RC카조립하기 - Egloos

19

모터 & 모터드라이브 연결

IN1

IN3

IN2

IN4

22

03

5V

RV

T2

20

35

VR

VT

OU

T1

OU

T2

OU

T4

OU

T3G

ND

5V

12V

11

10

9

6

-3

.7V

10

00

mA

3.7

V 1

00

0m

A

+

+

GND5V

Page 21: RC카조립하기 - Egloos

20

블루투스연결

RXTXGNDVCC

3

2

GND

5V

Page 22: RC카조립하기 - Egloos

21

블루투스 프로그램

Page 23: RC카조립하기 - Egloos

22

블루투스 프로그램

Page 24: RC카조립하기 - Egloos

23

블루투스 셋팅값

1 전진

2 후진

3 정지

4 왼쪽으로

5 오른쪽으로

Page 25: RC카조립하기 - Egloos

기타

Page 26: RC카조립하기 - Egloos

25

배터리 충전기만들기

+ -3

.7V

10

00

mA

BAT+

BAT-

Page 27: RC카조립하기 - Egloos

코드리뷰-정속

Page 28: RC카조립하기 - Egloos

27

준비 1/5

#include <SoftwareSerial.h>

SoftwareSerial bluetooth(2,3); // RX, TX @Bluetooth

int IN1 = 6;int IN2 = 9;int IN3 = 10;int IN4 = 11;

Page 29: RC카조립하기 - Egloos

28

진행 2/5

void RCGo(){digitalWrite(IN1, LOW);digitalWrite(IN2, HIGH);digitalWrite(IN3, LOW);digitalWrite(IN4, HIGH);

}

void RCStop(){digitalWrite(IN1, LOW);digitalWrite(IN2, LOW);digitalWrite(IN3, LOW);digitalWrite(IN4, LOW);}

void RCBack(){

digitalWrite(IN1, HIGH);digitalWrite(IN2, LOW);digitalWrite(IN3, HIGH);digitalWrite(IN4, LOW);

}

Page 30: RC카조립하기 - Egloos

29

진행 3/5

void RCLeft(){digitalWrite(IN1, HIGH);digitalWrite(IN2, HIGH);digitalWrite(IN3, LOW);digitalWrite(IN4, HIGH);

}

void RCRight(){digitalWrite(IN1, LOW);digitalWrite(IN2, HIGH);digitalWrite(IN3, HIGH);digitalWrite(IN4, HIGH);

}

Page 31: RC카조립하기 - Egloos

30

기능호출 4/5

void run(int n){

if(n == '1') RCGo();if(n == '2') RCBack();if(n == '3') RCStop();if(n == '4') RCLeft();if(n == '5') RCRight();

}

Page 32: RC카조립하기 - Egloos

31

작동 5/5

void loop() { if (Serial.available()) {int a = Serial.read();Serial.println(a);run(a);

}

if (bluetooth.available()) {int b = bluetooth.read();Serial.println(b);bluetooth.println(b);run(b);

} delay(50);

}

void setup() {pinMode(IN1,OUTPUT);pinMode(IN2,OUTPUT);pinMode(IN3,OUTPUT);pinMode(IN4,OUTPUT);

Serial.begin(9600);bluetooth.begin(9600);

}

Page 33: RC카조립하기 - Egloos

코드리뷰-속도조정

Page 34: RC카조립하기 - Egloos

33

준비 1/5

#include <SoftwareSerial.h>

SoftwareSerial bluetooth(2,3); // RX, TX @Bluetooth

int IN1 = 6;int IN2 = 9;int IN3 = 10;int IN4 = 11;

#define MAX 255int nL = 255;int nR = 255;

Page 35: RC카조립하기 - Egloos

34

진행 2/5

void RCGo(){analogWrite(IN1, 0);analogWrite(IN2, nR);analogWrite(IN3, 0);analogWrite(IN4, nL);

}

void RCStop(){analogWrite(IN1, 0);analogWrite(IN2, 0);analogWrite(IN3, 0);analogWrite(IN4, 0);}

void RCBack(){

analogWrite(IN1, nR);analogWrite(IN2, 0);analogWrite(IN3, nL);analogWrite(IN4, 0);

}

Page 36: RC카조립하기 - Egloos

35

진행 3/5

void RCLeft(){analogWrite(IN1, MAX);analogWrite(IN2, MAX);analogWrite(IN3, 0);analogWrite(IN4, MAX);

}

void RCRight(){analogWrite(IN1, 0);analogWrite(IN2, MAX);analogWrite(IN3, MAX);analogWrite(IN4, MAX);

}

Page 37: RC카조립하기 - Egloos

36

기능호출 4/5

void run(int n){

if(n == '1') RCGo();if(n == '2') RCBack();if(n == '3') RCStop();if(n == '4') RCLeft();if(n == '5') RCRight();

}

Page 38: RC카조립하기 - Egloos

37

작동 5/5

void loop() { if (Serial.available()) {int a = Serial.read();Serial.println(a);run(a);

}

if (bluetooth.available()) {int b = bluetooth.read();Serial.println(b);bluetooth.println(b);run(b);

} delay(50);

}

void setup() {Serial.begin(9600);bluetooth.begin(9600);

}

Page 39: RC카조립하기 - Egloos

코드리뷰-LED추가

Page 40: RC카조립하기 - Egloos

39

준비 1/6

#include <SoftwareSerial.h>

SoftwareSerial bluetooth(2,3); // RX, TX @Bluetooth

int IN1 = 6;int IN2 = 9;int IN3 = 10;int IN4 = 11;

Page 41: RC카조립하기 - Egloos

40

진행 2/6

void RCGo(){digitalWrite(A0, HIGH);digitalWrite(A1, LOW);digitalWrite(IN1, LOW);digitalWrite(IN2, HIGH);digitalWrite(IN3, LOW);digitalWrite(IN4, HIGH);

}

void RCStop(){digitalWrite(A0, LOW);digitalWrite(A1, LOW);digitalWrite(IN1, LOW);digitalWrite(IN2, LOW);digitalWrite(IN3, LOW);

void RCBack(){

digitalWrite(A0, LOW);digitalWrite(A1, HIGH);digitalWrite(IN1, HIGH);digitalWrite(IN2, LOW);digitalWrite(IN3, HIGH);digitalWrite(IN4, LOW);

}

Page 42: RC카조립하기 - Egloos

41

진행 3/6

void RCLeft(){digitalWrite(IN1, HIGH);digitalWrite(IN2, HIGH);digitalWrite(IN3, LOW);digitalWrite(IN4, HIGH);

}

void RCRight(){digitalWrite(IN1, LOW);digitalWrite(IN2, HIGH);digitalWrite(IN3, HIGH);digitalWrite(IN4, HIGH);

}

Page 43: RC카조립하기 - Egloos

42

기능호출 4/6

void run(int n){

if(n == '1') RCGo();if(n == '2') RCBack();if(n == '3') RCStop();if(n == '4') RCLeft();if(n == '5') RCRight();

}

Page 44: RC카조립하기 - Egloos

43

작동 5/6

void setup() {pinMode(IN1,OUTPUT);pinMode(IN2,OUTPUT);pinMode(IN3,OUTPUT);pinMode(IN4,OUTPUT);

pinMode(A0,OUTPUT);pinMode(A1,OUTPUT);

Serial.begin(9600);bluetooth.begin(9600);

}

Page 45: RC카조립하기 - Egloos

44

작동 6/6 if (bluetooth.available()) {int b = bluetooth.read();Serial.println(b);bluetooth.println(b);run(b);x = b;

}

if(x == '2'){

if( b == false) {digitalWrite(A1,HIGH);b = true;

} else {digitalWrite(A1,LOW);b = false;

}}delay(100);

}

int x = '1';bool b = false;

void loop() { if (Serial.available()){int a = Serial.read();Serial.println(a);run(a);x = a;

}

Page 46: RC카조립하기 - Egloos