아두이노 루프 제어 관련 질문
조회수 550회
특정 조도값이상이면 반시계방향으로 1440도 회전, 작으면 시계방향으로 1440도 회전하는 프로그램을 만들고 있는데 이렇게 코드를 작성하면 만약에 특정 조도값이 이상이기에 회전을 했는데 또 조도값이 이상이면 회전하면서 총 반시계방향으로 2880도를 회전하는데 제 의도는 반시계 방향으로 1440도 회전했으면 조도값이 작아질때까지 가만히 있다가 조도값이 작아질때 까지 기다리고 시계방향으로 회전하는 이런 프로그램을 작성하려면 코드를 어떤식으로 수정해야 할까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
아래 코드 참고하세요.
- 코드
#include <Stepper.h> #define LIGHT A0 const int steps_rotation=2048; // 한바퀴 const int rotation_number=4; int light=0; bool clock_mode=true; Stepper stepper(steps_rotation, 8, 10, 9, 11); void setup() { stepper.setSpeed(5); // rpm Serial.begin(9600); } void loop() { light=analogRead(LIGHT); if(clock_mode && light>600) { stepper.step(steps_rotation*rotation_number); clock_mode=false; Serial.println(light); } else if(!clock_mode && light<500) { stepper.step(-steps_rotation*rotation_number); clock_mode=true; Serial.println(light); } }
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력