반응형

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

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

 

이번 예제는 단일 작업이 아니라 여러개의 작업을 선택적으로 수행해야하는 시나리오를 가정해보겠습니다~~!

주의하실것은 지금 아두이노 코드에 사용하는 delay라는 함수는 나중에 모두 제거되어야할 코드입니다~!

지금은 난이도를 낮추기 위해서 사용하니 참고하세용!

 

아래와 같은 목표를 세워보겠습니다~!

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

2.36번 버튼을 누르면 파일럿 램프가 켜지면서 가상의 순차작업 1번이 수행됨!(붕어빵 굽는 작업)

3.37번 버튼을 누르면 파일럿 램프가 켜짐면서 가상의 순차작업 2번이 수행됨!(잉어빵 굽는 작업)

4.버튼이 2개뿐이기 때문에 작업을 멈추는 버튼은 별도로 없음!(기계는 무조건 작동중임)

 

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

//37번에 빨간버튼, 36번에 녹색버튼, 38번에 램프가 있다!
//붕어빵 굽는 기계가 무한히 작동중이다(멈추는건 없다)
//기본은 붕어뿡을 굽는다
//녹색버튼을 누르면 붕어빵굽는 재료가 들어가고 빨간버튼을 누르면 잉어빵굽는 재료가 들어간다!
//붕어빵 굽는중이면 램프를 켜고, 잉어빵 굽는중이면 램프를 끈다!
bool input = true; //true면 붕어, false면 잉어

void setup() {
  Serial.begin(9600);
  pinMode(38,OUTPUT);
  pinMode(37,INPUT);
  pinMode(36,INPUT);
  //기본이 붕어빵 굽기 이므로 LED는 켜져있어야한다
  digitalWrite(38,HIGH);
}
void loop() {
  //버튼이 눌러졌냐 아니냐~
  bool red_btn = digitalRead(37);
  bool green_btn = digitalRead(36);
  if(red_btn == HIGH){
    //빨강버튼 눌려짐!
    digitalWrite(38,LOW);
    input = false;
  }
  if(green_btn == HIGH){
    //녹색버튼 눌려짐!
    digitalWrite(38,HIGH);
    input = true;
  }
  if(input == true){
    Serial.println("붕어빵틀에 뚜껑을 연다");
    delay(1000);
    Serial.println("붕아빵판죽을 빵틀에 붓는다");
    delay(1000);
    Serial.println("돌려가면서 붕어빵을 굽는다");
    delay(1000);
    Serial.println("붕어빵을 빵틀에서 꺼낸다");
    delay(1000);
    Serial.println("봉지에 담아서 배출한다");
  }else{
    Serial.println("잉어빵틀에 뚜껑을 연다");
    delay(1000);
    Serial.println("잉어빵판죽을 빵틀에 붓는다");
    delay(1000);
    Serial.println("돌려가면서 잉어빵을 굽는다");
    delay(1000);
    Serial.println("잉어빵을 빵틀에서 꺼낸다");
    delay(1000);
    Serial.println("봉지에 담아서 배출한다");
  }
}

예제의 작동결관느 아래 녹칸다의 라이브방송중 해당되는 위치를 링크걸도록 하겠습니다~!(원본 3시간)

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

 

반응형
Posted by 덕력킹
,