코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
스마트 커튼 거의 다 완성했는데, 마무리 쯤에서 스텝모터에 대하여 궁금한 점이 있습니다.
김동한 | 2016-11-29
|
|
---|---|
전 질문에 수박쨈님의 도움으로 map으로 각도로 변환 후, 원하는 각도에서 제어하도록 코드를 완성하였습니다. (수박쨈님 조언 감사드립니다. :D ) 밑에가 저의 코드입니다.
#include <Stepper.h> Stepper motor(STEPS, in4Pin, in2Pin, in3Pin, in1Pin);
void loop() {
if((val>a) && (val<b)){
else if((val>c) && (val<d)){ }
즉, 조도값에 따라 원하는 각도에서 제어가 가능하도록 완성하였습니다.
근데, 저희가 쓰는 모터가 '스텝모터'입니다.
문제는, 실제 커튼에 적용할 시 전원이 reset이 되면 스텝모터가 이전의 각도 즉, 코드상 Nangle도 reset이 되기때문에 마지막 위치를 다시 새로운 시작점이라고 생각하여 전원이 on 일 때 기억하던 절대적인 위치를 다 까먹고 이전의 위치가 전부 reset이 되어버립니다.
전원이 꺼진 상태에서도 전원이 켜졌을 때의 위치 즉, 절대적인 위치를 더욱 상세하게 설정하는 방법이 있나요?
예를들면 전원이 꺼지기 바로 전 120도 쯤에서 멈췄다면, 전원이 켜진 후 120도 위치에서 0도로 시작하는 것이 아니라 120도 위치(즉, 해당 조도센서 값도 기억을 해야겠지요.)를 인식하고 다음 조도센서 값에 알맞게 다시 loop를 돌게 할 수는 없나요??
제가 알기론 서보모터의 각도 하나하나가 마치 좌표처럼 설정되어 있어서 저런 기능이 가능하다던데 맞나요? 답변 부탁드리겠습니다!!
cf) 그리고 혹시 stepper library에서 step motor 설정시 핀 번호를 1,3,2,4 순서냐 4,2,3,1 순서냐, 또는 1,2,3,4와 4,3,2,1 일 때 시계방향, 반시계 방향 등등 핀 번호를 부여하는 순서에 따라 모터의 작동이 달라지던데, 각각 어떻게 해석해야 하나요? 저는 시계/반시계가 모두 필요해서 4,2,3,1로 쓰고 있는데 이것이 모든 스텝모터에서 동일한 조건인지 궁금합니다. |
|
이전글 | 온습도 센서 + 부저 코딩 질문 | 2016-11-28 |
다음글 | 안녕하세요 토양수분세와 피에조부저 관련 질문입니다... | 2016-11-30 |