2025년 8월 19일 화요일

AGV 전진 후진 제어하기

#include <MetisAgv.h>

#include <MetisRemoteIO.h>



#define PIN_SW2 25

#define PIN_SW6 29

#define PIN_R_VEL 0

#define PIN_L_VEL 1

#define PIN_R_CW 0

#define PIN_R_CCW 1

#define PIN_L_CW  2

#define PIN_L_CCW 3



int SPEED = 50;
// 스피드를 0~255 범위로 설정할 수 있다


void setup() {
  // put your setup code here, to run once:
    Agv. Initialize (19200);

    Agv.analogWrite (PIN_R_VEL, SPEED);

    Agv.analogWrite (PIN_L_VEL, SPEED);

}


void loop() {
   int FOR = Agv.digitalRead (PIN_SW2);
// 스위치 2번

    int BCK = Agv.digitalRead (PIN_SW6);
// 스위치 6번

    if (FOR == HIGH)
// FOR는 전진

    {

    Agv.digitalWrite(PIN_R_CW, HIGH);

    Agv.digitalWrite(PIN_R_CCW, LOW);

    Agv.digitalWrite(PIN_L_CW, HIGH);

    Agv.digitalWrite(PIN_L_CCW, LOW);

    }

    else if (BCK == HIGH)
// BCK는 후진을 의미

    {

    Agv.digitalWrite(PIN_R_CW, LOW);

    Agv.digitalWrite(PIN_R_CCW, HIGH);

    Agv.digitalWrite(PIN_L_CW, LOW);

    Agv.digitalWrite(PIN_L_CCW, HIGH);

    }

    else

    {

    Agv.digitalWrite(PIN_R_CW, LOW);

    Agv.digitalWrite(PIN_R_CCW, LOW);

    Agv.digitalWrite(PIN_L_CW, LOW);

    Agv.digitalWrite(PIN_L_CCW, LOW);

    }
  // put your main code here, to run repeatedly:

}

####위의 코딩에서 시뮬레이션에서 스위치 SW2, SW6을 클릭하면 전진과 후진을 실행할수 있다//


#include <MetisAgv.h>

#include <MetisRemoteIO.h>


#define PIN_SW2

#define PIN_SW6

#define PIN_R_VEL

#define PIN_L_VEL

#define PIN_R_CW

#define PIN R CCW

#define PIN_L_CW

#define PIN_L_CCW


int SPEED = 50;


void setup() {

    Agv. Initialize (19200);

    Agv.analogWrite (PIN R VEL, SPEED);

    Agv.analogWrite (PIN_L_VEL, SPEED);

}


? #define

-전처리기.

-컴파일 시, 지정된 문자를 숫자로 교체.

-코드의 해석 및 수정이 용의.


? 전역변수

-프로그램의 어디에서나 접근 가능한 변수.


void loop() {

    int FOR = Agv.digitalRead (PIN SW2);

    int BCK = Agv.digitalRead (PIN SW6);

    if (FOR == HIGH)

    {

    Agv.digitalWrite(PIN_R_CW, HIGH);

    Agv.digitalWrite(PIN_R_CCW, LOW);

    Agv.digitalWrite(PIN_L_CW, HIGH);

    Agv.digitalWrite(PIN_L_CCW, LOW);

    }

    else if (BCK == HIGH)

    {

    Agv.digitalWrite(PIN RCW, LOW);

    Agv.digitalWrite(PIN_R_CCW, HIGH);

    Agv.digitalWrite(PIN L CW, LOW);

    Agv.digitalWrite(PIN L CCW, HIGH);

    }

    else

    {

    Agv.digitalWrite(PIN_R_CW, LOW);

    Agv.digitalWrite(PIN_R_CCW, LOW);

    Agv.digitalWrite(PIN_L_CW, LOW);

    Agv.digitalWrite(PIN_L_CCW, LOW);

    }

}



댓글 없음:

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

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