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 사용해가며 고쳐봤는데 안되서 이렇게 올려보게 됬습니다...
제발 알려주세요...
|