2025년 8월 19일 화요일

가변저항을 이용한 모터속도제어 // 조이스틱을 활용한 AGV 제어 /// 블루투스 모듈을 이용한 AGV 제어

 (001)가변저항을 이용한 모터속도제어

void MotorControl(int a, int B, int C, int D, int S)

{

 }

Agv.digitalWrite(0, A);

Agv.digitalWrite(1, B);

Agv.digitalWrite(2, C);

Agv.digitalWrite(3, D);

Agv.analogWrite (PIN RWS, S);

Agv.analogWrite (PIN LWS, S);



void MotorControl(int a, int B, int C, int D, int S)

{

void loop() [


if (bluetooth.available())


message = (char) bluetooth.read();


switch (message)


24

case 'U':


MotorControl (LOW, HIGH, HIGH, LOW, 25);


break;


MotorControl(HIGH,LOW, HIGH, LOW, 100);

39

25

break:

41

40

case 'D':

43

}

MotorControl(LOW,HIGH, LOW, HIGH, 50);

44

break:

451

case 'R':

case 'L':

MotorControl (HIGH,LOW, LOW, HIGH, 25);

break:

case 'X':

MotorControl (LOW, LOW, LOW, LOW, 0);

break:

28

Agv.printf (message);


1 #include <SoftwareSerial.h>

2 #include <MetisAgv.h>

3 #include <MetisRemote10.h>

4

5 const int Tx = 2;

6 const int Rx = 3:

7 char message:

8 SoftwareSerial bluetooth (Tx, Rx);

9

10 void MotorControl (int A, int B, int C, int D, int S);

11

128 void setup() {

13

14

Agv. Initialize (19200);

151

bluetooth.begin(9600);

2 SoftwareSerial

일반 GPIO를 TTL 레벨의 UART 통신 포트로 사용하기 위해 제공하는 라이브러리 함수.

SoftwareSerial 변수명(Tx핀번호, Rx핀번호): 통신 객체를 새로 생성.

변수명.begin(통신속도) : 통신 속도를 지정하고 비동기 통신을 시작.

int 변수명.available(): 수신 포트에 도착한 매 시지가 존재하면 1을 리턴.

변수명.read(): 수신 포트에 도착한 메시지 1개 를 읽기.

-101-





 (002) 조이스틱을 활용한 AGV 제어

#include <MetisAgv.h>

2 #include <MetisRemote10.h>

3

4 #define PIN RWS O

5 #define PIN LWS 1

6

7 78

int SPEED = 50:

9 const int Threshold = 750:

10 const int L Threshold 250:

11

12 int Range (int VR):

14

waid MotorControl (int A, int B, int C, int D, int S):

15@void setup() {

16 Agv-Initialize (19200);

17

Agv.analogWrite (PIN_RWS, SPEED):

18

Agv.analogWrite (PIN_LWS, SPEED):

19)

2. Const (자료형)

#define과 비슷한 용도로 사용되며, 컴파일 후 절대 변하지 않는 상수,

#define과의 차이는 자료형을 지정 할 수 있다는 특징이 있음.

21 void loop()(

22 int VRx analogRead (A0);

23

int VRy analogRead (Al);

24

25

int x = Range (VRx);

26

int y Range (VRy);

27

26

if(x1 && y ==0)

29日

30

MotorControl (HIGH, LOW, HIGH, LOW, 100);

31

32

else if (x1640)

339

34

35

36

MotorControl (LOW, HIGH, LOW, HIGH, 50);

else if (x=0&y= 1)

37回

38

39

40

MotorControl(LOW,HIGH, HIGH, LOW, 25):

41日 【

42

else if (x == 0 && y=-1)

43 }

MotorControl (HIGH, LOW, LOW, HIGH,25);

45日

1

46

47

1

44 else

MotorControl (LOW, LOW, LOW, LOW,0);

49

50)

Agv.printf("VRx: id, VRy d", VRx, VRY):



53 int Range (int VR)

54日1

55

if (VR <L_Threshold)

56日

72

57

56

}

59

60日

61

62

63

65

66

67}

70

71

69 void MotorControl (int A, int B, int C, int D. inc 5)

return -1;

else if (VR > H_Threshold)

return 1;

}

eise

64日 [

return 0;

}

Agv.digitalWrite(0, A):

Agv.digitalWrite(1, B):

73

Agv.digitalWrite(2, C);

74

Agv.digitalWrite(3, D):

75

76

Agv.analogWrite(PIN_RWS, 3);

Agv.analogWrite (PIN LWS, S):

771


(003) 블루투스 모듈을  이용한 AGV 제어

#include <SoftwareSerial.h>


COMTZ

int x = 2;

int Rx = 3;

AT-NAMEMET-01

5 char message:

6

OKsetnam

7 SoftwareSerial bluetooth (Tx, Rx);

8

gavoid setup() {

10

Serial.begin(9600);

bluetooth.begin(9600);

121

13

14日void loop() {

16日

17

18

if (bluetooth.available())

19

20

21

}

22日 【

23

24

25

26)

자스크로타워스캠프 표시

anding950 보드레이트

출닥 지우기

2. AT 명령어

UART 신호를 다른 통신 프로토콜로 컨버팅하는 모들의 통신 설 정을 하는데 쓰이는 언어.

모듈 제조사마다 차이가 있으므로 해당 제조사의 매뉴얼을 참조.

message = (char) bluetooth.read();

Serial.write (message);

15

HC-06의 경우

if (Serial.available())

message (char) Serial.read();

bluetooth.write (message);

AT: 접속 확인

AT+NAME아이디명 : 아이디 변경

AT+PIN핀번호4자리: 핀번호 변경

-98


#include <MetisAgv.h>

2 #include <MetisRemoteIO.h>

3

4 #define PIN_RWS 0

5 #define PIN LWS 1

6

7 int SPEED = 50;

8

10

9日 void setup() {

11

Agv.analogWrite(PIN_RWS, SPEED);

Agv.analogWrite (PIN_LWS, SPEED);

12

131

14

Agv. Initialize (19200);

15日 void loop() {

16

17

18

int VRy analogRead(Al);

19

Agv.printf("VRx: %d, VRY: %d", VRX, VRY);

201

int VRx = analogRead (A0);

PAGV CONTROL PANEL

COMICOVIJES

Digital Read/Write

Digital Read Only1

RCW

RCCW

LAMPI

SWITCHE

RM1

(M1

Digital Read Only2

LOW

LAMP3

13

SWITCH3

LM3

LAMP2

12

SWITCH2

RM2

M2

LCCW

LAMPM

SWITCHE

IMA

LMA

$1

LIFT UP

LAMPS

SWITCHS

POMS

LMS

52

LIFT ON

LAMP?

SWITCH?

LM7

LAMPS

SWITCHE

LMG

LAMPO

PLS

SWITCHS

LMO

GetSet Parameter

Get Paramatar Only

Test Move Button

RIGHT

SPEED

LEFT

ACCEL

0

FRONT

ANGLE

LEFT 24404

DECELO

ULTRA

REAR

(1023, 512)

(1023, 0)

(1023, 1023)

(512, 0)

(512,512)

+y (512, 1023)

(0,0)

(0, 1023)

(0, 512)

-92-

댓글 없음:

자동차 전면 유리 제상(Defrost/De-icing) 성능”**을 ANSYS Fluent로 해석 ///

도움말  좋은 화면 캡처예요 👍 이 이미지는 ANSYS Fluent → Setup 단계의 General 화면 이고, **“해석의 뼈대(종류·시간·좌표계)를 결정하는 곳”**입니다. 아래에서 화면에 보이는 기능을 영역별로 정확히 설명할게요. 🔧 ...