반응형




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

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

 

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

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

4.현재 작업중인 내용이 모두 끝났을때 작업종료조건

5.초보자용 코드 수준에서 인터럽트를 이용해서 즉시 종료를 구현한다는 개념이지 이것이 가장 합리적이라는 것은 아님~~!

 

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

//적색버튼이 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);
    Serial.println("붕아빵판죽을 빵틀에 붓는다");
    delay(1000);
    Serial.println("돌려가면서 붕어빵을 굽는다");
    delay(1000);
    Serial.println("붕어빵을 빵틀에서 꺼낸다");
    delay(1000);
    Serial.println("봉지에 담아서 배출한다");
    delay(1000);
  }
}

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

작동결과는 녹칸다의 라이브방송중 해당되는 시간을 링크걸어뒀습니다~~!

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

 

반응형
Posted by 덕력킹
,