정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

toggle 스위치를 이용해서 servomotor를 +1 움직이다 180도되면 다시 -1하는걸 움직일려고 합니다.
한걸음 | 2019-01-24
 

1. 프로젝트 사용한 보드 종류

  아두이노 uno / servo motor /toggle swithch

 

2. 사용한 개발 프로그램명

  

 아두이노 스케치

 

3. 사용한 센서 모델명

 

4. 연결한 회로 설명 (또는 이미지)

 

 

5. 소스코드 (주석 필수)

  

#include <Servo.h> 

int motor = 6;    // 서보모터 핀번호
int value;        // 원형 토글스위치의 값
int angle = 0;    // 서보모터 각도 
Servo servo; 

void setup() {
  Serial.begin(9600);  //시리얼 통신, 속도는 9600
  servo.attach(motor);  //모터 시작
  pinMode(motor,OUTPUT);  //모터 출력
}

void loop() {
  value = digitalRead(A0);  // 토글 스위치의 값 읽기 
  //Serial.println(value);
  
  if(value == HIGH) {   // 토글 스위치의 값이 on 일 때
    if(angle > 180){    // 서보모터의 각도 값이 180도 이상으로 올라갈 때
      delay(10);        // 180에서 더이상 증가하지 못하도록 delay 
    }else{        // 서보모터의 각도 값이 180 이하일때 
    angle++;      // 각도 값 1씩 증가
    servo. write(angle);  // 서모모터 돌려주기
    }
  }else{        // 토글 스위치의 값이 off 일 때
    if(angle < 0){    // 서보모터의 각도 값이 0도 이하로 내려갈 때
      delay(10);      // 0도에서 더이상 감소하지 못하도록 delay 넣어주기
    }else{      // 서모모터의 각도 값이 0 이상일 때
      angle--;  // 각도 값 1씩 감소
      servo.write(angle); // 서보모터 돌려주기
    }
  }
  //Serial.println(angle);
 delay(10);   // 급격한 서보모터의 움직임을 제한하기 위한 delay값
}

 

6. 문제점 및 에러 내용

 https://m.blog.naver.com/PostView.nhn?blogId=eduino&logNo=221230081562&proxyReferer=https%3A%2F%2Fwww.google.com%2F

최근 아두이노 공부중인 학생입니다.

다른분들께서 수행하신 작업을 따라하면서 공부중인데

위에 코드/네이버블로그 나온대로  따라서

toggle switch를 이용해 on/off 왔다갔다 하면서 한번 on 하면 servomotor가 +1증가 ,여러번 on/off하다가 마지막으로 180도 되면 멈췄다가

다시 스위치를 on하면 -1감소 하면서 다시 0으로 가는걸 수행할려는데 수행이 안됩니다..

 

 

1주일동안 시간날때마다 if /else if 사용해가며 고쳐봤는데 안되서 이렇게 올려보게 됬습니다...

제발 알려주세요... 

이전글   |    앱인벤터 rfid 2019-01-24
다음글   |    앱인벤터 아두이노 수치값 통신이 안되는것 같습니다. ... 2019-01-31