반응형

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

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

 

예제의 목표는 아래와 같습니다~~!

1.누름버튼 1개를 37번 입력핀에 연결할것!

2.2A2B릴레이를 38번 출력핀에 연결할 것!

3.버튼을 누르면 릴레이가 ON상태를 유지함!

4.버튼을 한번더 누르면 릴레이가 OFF상태를 유지함!

5.버튼을 눌렀을때 릴레이가 ON이면 OFF가 되고 OFF이면 ON으로 바뀌도록함!

 

예제의 소스코드는 아래와 같습니다~~!

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

void setup() {
  Serial.begin(9600); //결과를 PC에 출력하겠다!
  pinMode(37,INPUT); //빨간버튼 
  pinMode(38,OUTPUT); //릴레이
}
void loop() {
  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){
      //버튼이 눌려진것이다!
      digitalWrite(38,!digitalRead(38));
      btn_pressed = false;
    }
  }

  old_btn = now_btn;
}

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

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

 

반응형
Posted by 덕력킹
,