반응형

안녕하세요!
녹칸다입니다!

녹칸다의 산업용 아두이노(fa-duino)의 빠른 내용 전달을 위해서 코드와 작동결과만을 별도로 정리해보도록 하겠습니다~!
녹칸다의 산업용 아두이노 1편에서 7번예제를 정리해보도록 하겠습니다~!

 

이번시간에는 초보적인 방법으로 순차작업을 구현해보도록 하겠습니다~~!

나중에 수준이 높아져야 이해를 할 수 있겠지만 이것은 제약조건이 대단히 많은 초보용 코드입니다~!

난이도를 낮추기 위해서 쉬운코드를 사용하되 완벽하게 작동하지는 않고 개념상 이해를 위한 목적임!

 

아래와 같은 목표를 세우고 진행해보겠습니다~!

1.산업용 아두이노(faduino)의 38번에 파일럿램프연결, 37과 36에 누름버튼을 각각 연결함!

2.36번버튼을 누르면 가상의 붕어빵굽는 작업이 순차적으로 진행함!

3.이때 작업이 진행중이라면 파일럿램프가 켜지고 종료되었다면 파일럿램프가 꺼짐!

4.37번버튼을 누르면 작업이 중료됨!

5.어떤 생산라인에 소프트웨어를 작성함을 가정함!

 

예제에 사용한 소스코드는 아래와 같습니다~~!

//37번에 빨간버튼, 36번에 녹색버튼, 38번에 램프가 있다!
//녹색버튼을 누르면 어떤 작업이 즉시 수행된다
//빨간버튼은 멈출때까지 누르면 멈추는 것이다!
//만약 어떤 작업이 1시간 걸리는 작업이라면 빨간버튼을 최대 1시간 눌르고 있어야 기계를 멈출 수 있다!

bool is_run = false; //true면 기계작동, false면 기계멈춤

void setup() {
  Serial.begin(9600);
  pinMode(38,OUTPUT);
  pinMode(37,INPUT);
  pinMode(36,INPUT);
}
void loop() {
  //버튼이 눌러졌냐 아니냐~
  bool red_btn = digitalRead(37);
  bool green_btn = digitalRead(36);
  if(red_btn == HIGH){
    //빨강버튼 눌려짐!
    is_run = false;
  }
  if(green_btn == HIGH){
    //녹색버튼 눌려짐!
    is_run = true;
  }
  if(is_run == true){
    //버튼을 누르는것과는 전~~혀 상관없는 위치
    digitalWrite(38,HIGH);
    Serial.println("붕어빵틀에 뚜껑을 연다");
    delay(1000);
    Serial.println("붕아빵판죽을 빵틀에 붓는다");
    delay(1000);
    Serial.println("돌려가면서 붕어빵을 굽는다");
    delay(1000);
    Serial.println("붕어빵을 빵틀에서 꺼낸다");
    delay(1000);
    Serial.println("봉지에 담아서 배출한다");
    digitalWrite(38,LOW);
  }
}

작동결과는 녹칸다의 라이브방송중 해당위치를 대략적으로 링크하도록 하겠습니다~~!

(원본 영상이 대략 3시간정도임)

https://youtu.be/g-pJuktzq2c?t=9053 

 

반응형
Posted by 덕력킹
,