반응형

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

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

 

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

1.산업용 아두이노(faduino)의 37번핀과 38번핀을 이용해서 조광형램프를 1개 연결할것!

2.37번핀으로 버튼의 눌려짐을 감지해서 한번 눌려지면 작동되고 한번더 눌러지면 작동이 멈출것!

3.작동은 38번의 출력으로 램프가 1초간격으로 켜짐과 꺼짐을 반복하는 것!

4.완벽하게 하기는 어려우므로 초보자용 코드로 접근해보기!

 

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

//37번 버튼을 누르면 램프가 1초에 한번씩 깜빡이고 한번더 누르면 멈춘다!

bool old_btn = LOW;
bool btn_pressed = false;
unsigned long t = 0;
bool led_start = false;

void setup() {
  pinMode(37,INPUT); //버튼
  pinMode(38,OUTPUT); //램프
}

void loop() {
  //램프를 제어하는 부분
  if(led_start){
    digitalWrite(38,HIGH);
    delay(1000);
    digitalWrite(38,LOW);
    delay(1000);
  }
  //버튼의 디바운스 처리!
  bool now_btn = digitalRead(37);

  if(old_btn == LOW && now_btn == HIGH){
    //상승엣지
    t = millis(); //상승엣지의 시간을 저장한다!
    btn_pressed = true;
  }else if(old_btn == HIGH && now_btn == HIGH){
    //버튼을 누르고 있는중
    if(millis() - t > 10 && btn_pressed == true){
      //버튼이 눌려진것이다!
      led_start = !led_start; //토글!
      btn_pressed = false;
    }
  }

  old_btn = now_btn;
}

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

https://youtu.be/uXZTirk2SYw?t=6242 

 

반응형
Posted by 덕력킹
,