게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
아두이노 소스좀 봐주세요.ㅠㅠ
게시물ID : science_12176짧은주소 복사하기
작성자 : 생화화
추천 : 1
조회수 : 613회
댓글수 : 1개
등록시간 : 2012/06/18 22:38:46
아두이노를 이용해서

적외선 거리센서로 인풋값을 받고 그 값을 이용해 서보모터를 구동하려 하는데 소스가 잘못됬는지 안되네요..

#include <Servo.h>
Servo myservo;
int DisSensor = 7;
int val = 0;
int val1 = 0;

int DisSensorValue= 0;
int timecount =0;

void setup(){
  myservo.attach(9);
  Serial.begin(9600);
}

void loop()
{
  timecount =0 ;
  val = 0;
  pinMode(DisSensor, OUTPUT);
  digitalWrite(DisSensor, LOW);
  delayMicroseconds(2);
  digitalWrite(DisSensor, HIGH);
  delayMicroseconds(5);
  digitalWrite(DisSensor, LOW);
  
  pinMode(DisSensor,INPUT);
  val=digitalRead(DisSensor);
  while(val==LOW){
    val=digitalRead(DisSensor);
  }
  while(val==HIGH){
    val=digitalRead(DisSensor);
    timecount=timecount+1;
  }
  DisSensorValue=timecount;
  Serial.println(DisSensorValue);
  delay(50);
  
  if(DisSensorValue>1600){
    val1=0;
    myservo.write(val1);
    delay(10);
  }
  if((DisSensorValue <= 1600) &&(DisSensor > 50)){
    int val2;
    val2=map(DisSensorValue, 30, 3000, 0, 180);
    val2 = val2 +100;
    myservo.write(val2);
    delay(10);
    
    for(int val1= 0; val1<50; val1++){
      val1=val2+val1;
      myservo.write(val1);
      delay(5);
    }
    for(int val1 =49; val1>0; val1--){
      val1=val2+val1;
      myservo.write(val1);
      delay(5);
    }
  }
}

일단 이런 형태로 했구요. 컴파일은 문제없는데...업로드가 안되네요...
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호