반응형


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

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

 

이번 예제에서는 아래와 같은 목표가 있습니다~~!

1.적색버튼이 2번, 녹색버튼이 3번에 연결되어있다(입력)
2.녹색버튼을 누르면 붕어빵 굽기 작업이 시작된다!
3.적색버튼을 누르면 붕아빵 굽기 작업이 즉시 종료된다!

4.작업이 즉시 종료되기는 하지만 초보자용 코드 수준에서 편법 비슷하게 구동시키는 코드이므로 향후에 이 문제를 어떻게 해결해야하는지를 학습할 필요가 있다!

 

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

//적색버튼이 2번, 녹색버튼이 3번에 연결되어있다(입력)
//녹색버튼을 누르면 붕어빵 굽기 작업이 시작된다!
//적색버튼을 누르면 붕아빵 굽기 작업이 즉시 종료된다!

bool sw = false; //false면 멈춤, true면 작동!

void setup() {
  Serial.begin(9600);
  //입력과 출력은 pinMode함수로 방향을 결정해주어야한다!
  pinMode(2,INPUT);
  pinMode(3,INPUT);
                                  
  attachInterrupt(digitalPinToInterrupt(2), Interrup1, RISING);
  attachInterrupt(digitalPinToInterrupt(3), Interrup2, RISING);
}
void loop() {
  //sw가 true일때만 붕어빵을 굽겠다!
  if(sw == true){
    Serial.println("붕어빵틀에 뚜껑을 연다");
    delay(1000);
    if(sw == false) return;
    Serial.println("붕아빵판죽을 빵틀에 붓는다");
    delay(1000);
    if(sw == false) return;
    Serial.println("돌려가면서 붕어빵을 굽는다");
    delay(1000);
    if(sw == false) return;
    Serial.println("붕어빵을 빵틀에서 꺼낸다");
    delay(1000);
    if(sw == false) return;
    Serial.println("봉지에 담아서 배출한다");
    delay(1000);
    if(sw == false) return;
  }
}

void Interrup1(){
  Serial.println("붕어빵 굽기 작업 끝!!!");
  sw = false;
}
void Interrup2(){
  Serial.println("붕어빵 굽기 작업 시작!!!");
  sw = true;
}

작동결과는 녹칸다의 라이브방송중 해당 예제의 위치를 링크로 남겨두도록 함!

https://youtu.be/Y68Il4TQfAw?t=5587 

 

반응형
Posted by 덕력킹
,