BASIC4MCU | 질문게시판 | Delay 함수 대신 DC motor 제어할 수 있는 방법이 있나요?
페이지 정보
작성자 rkawk599 작성일2023-11-18 18:24 조회1,474회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23404
첨부파일
본문
센서 신호가 들어오면 DC 모터 2개가 작동하는 코드를 짜고 있는데, delay 함수를 사용하다보니 모터가 작동할때는 센서 신호를 못 받아오더라구요ㅜㅜㅜ
인터넷 찾아보니 millis 함수로 코드 짜면 해결 가능하다는데 계속 실패하네요... 어떻게 짜면 될까요..??
혹시 또 다른 방법이 있다면 알려주시면 감사하겠습니다ㅜㅜㅜㅜ
댓글 2
조회수 1,474master님의 댓글
master 작성일
void Sensor_on_off(){ proximityADC^=1; motor_cycle++; }
센서는 인터럽트로 루프함수의 딜레이와 상관없이 잘 읽고 있습니다.
master님의 댓글
master 작성일
void loop() {
stateBtn = digitalRead(pinBtn);
if (stateBtn == 1) {
if (state_Btn == 0) {
state_Btn = 1;
}
else if (state_Btn == 1) {
state_Btn = 0;
}
}
if (state_Btn == 1) {
}
else if (state_Btn == 0) {
}
}
조건식이 왜 이렇게 복잡하죠?
void loop() {
stateBtn = digitalRead(pinBtn);
if (stateBtn == 1) {
}
else{ //if (state_Btn == 0)
}
}
이렇게 단순하게 만들어야 할 것 같은데요?