아두이노 오류가 생겨서 질문드립니다
동작: 적외선 리모컨으로 스텝모터.서보모터,led 제어
#include <Servo.h> // 서보모터 라이브러리
#include <IRremote.h> // 적외선 리모컨 라이브러리
int sensor = A0; // 적외선 리모컨 수광 다이오드 신호선
int motor = 12; // 서보모터
int DIR = 7; //회전방향 7번
int STEP = 8; //회전 8번
int led_blue = 9; // 파란색 led
int led_red = 10; // 빨간색 led
Servo servo; // servo 라이브러리를 사용해주기 위해 servo객체 생성
IRrecv irrecv(sensor); // IRremote를 사용해주기 위해 irrecv객체 생성
decode_results results; // 디코드한 결과값
int angle = 0; // 서보모터 각도 값
void setup() {
servo.attach(motor); // 모터 시작
irrecv.enableIRIn(); // 수광 다이오드 시작
Serial.begin(9600); // 추가한 부분입니다
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
pinMode(motor,OUTPUT); // 모터 출력
pinMode(sensor, INPUT); // 수광 다이오드 입력
pinMode(led_blue, OUTPUT); // led 출력
pinMode(led_red, OUTPUT); // led 출력
}
void loop() {
if (irrecv.decode(&results))
{
int data = results.value;
Serial.println(data, HEX); //추가함
if(data == 0x30cf) // 1번
{
angle += 15; // 각도값 15 추가
if (angle > 180) // 각도가 180이 넘어갈 때
angle = 180; // 각도값 최대를 180으로
servo.write(angle); // 서보모터 각도 이동
break;
}
if(data == 0x18e7) // 2번 버튼을 눌렀을 때
{
angle -= 15; // 각도값 15 감소
if(angle < 0) // 각도값이 0도보다 적을 때
angle = 0; // 각도값 최소값을 0으로
servo.write(angle); // 서보모터 각도 이동
break;
}
if(data == 0x10ef) // 4번을 눌렀을 경우
{
digitalWrite(DIR,HIGH); // + Direction //시계방향
for(int x = 0; x <200; x++) //시계방향으로 1바퀴, 1회에 1.8도 200회에 360도
{
digitalWrite(STEP,HIGH);
delayMicroseconds(2000); // 회전속도 클수록 느리게회전
digitalWrite(STEP,LOW);
delayMicroseconds(2000);
}
}
if(data == 0x38c7) // 5번을 눌렀을 경우
{
digitalWrite(DIR,LOW); // + Direction //반시계방향
for(int x = 0; x <200; x++) //반시계방향으로 1바퀴
{
digitalWrite(STEP,HIGH);
delayMicroseconds(2000); // 회전속도 클수록 느리게회전
digitalWrite(STEP,LOW);
delayMicroseconds(2000);
}
}
irrecv.resume(); // 수광 다이오드 다음 값 받기
}
if(angle >= 0 && angle <= 60) // 서보모터의 각도가 0 ~ 60 사이일 때
digitalWrite(led_blue, HIGH); // 파란색 led 출력
else if (angle >= 120 && angle <= 180 ) // 서보모터의 각도가 120 ~ 180 사이일 때
digitalWrite(led_red, HIGH); // 빨간색 led 출력
else { // 그 외의 값일 때 파란색, 빨간색 led 둘 다 OFF
digitalWrite(led_blue, LOW);
digitalWrite(led_red, LOW);
}
}
인데 컴파일시 stray '\302' in program 이란 에러가 나옵니다
저희가 직접만든건데 인터넷 연결이안되서 한글로 옮겨서 했거든요 이게 복붙하면 생기는 에러라고해서 엔터,탭 흔적 다지우고 해라해서 하고 했는데도 계속 나옵니다ㅠㅠ
|