에듀이노-아두이노 전문 교육쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰
뒤로가기

묻고답하기

제목

기술문의 때문에 전화드렸었습니다.

작성자 에듀이노(ip:)

작성일 2018-12-03

조회 38

평점 0점  

추천 추천하기

내용
안녕하세요 에듀이노 입니다.

문의하신 제품은 교환접수를 통해 불량유무 확인이 가능한 점 참고부탁드립니다.

감사합니다 ^^


[ Original Message ]

각 서보모터 아두이노로 연결해서 소스 코드 통해서 업로드 했으나

PWM 제어가 전혀 안 되는 것 같습니다. 파형의 시간을 측정해야 하는데

그게 아니라 on만 되면 전류가 흘러서 한 쪽방향으로 계속해서 돌아갑니다.

아래에 미니멈과 맥시멈의 포지션 값을 조절해도 똑같은 방향으로만 계속 돌아가며 노이즈 생깁니다.

#include <Servo.h> 

Servo servo;

int servoPin = 9;
int current_angle = 0; // current servo position in degrees

int centerServo = 90;  // center servo position
int min_angle     =  55;  // minimum servo position
int max_angle     =  125; // maximum servo position
int turnRate     =  5;  // servo turn rate increment (larger value, faster rate)  

void setup() {
  Serial.begin(9600);
  Serial.println("Robot Arm Control");
  Serial.println("Press a or s to move, spacebar to center");
  Serial.println();
  
  servo.attach(servoPin);
  current_angle = centerServo;
  servo.write(current_angle);
}

void loop()
{
  int angle = current_angle;
  
  if (Serial.available() > 0) {
    char command = Serial.read();

    // User contro:   ASCII 'a' == 97,   ASCII 's' == 115  
    if (command == 97) { angle -= turnRate; }
    if (command == 115) { angle += turnRate; }
    if (command == 32) { angle = centerServo; }

    // Check min, max
    if (angle > max_angle) { angle = max_angle; }
    else if (angle < min_angle) { angle = min_angle; }

    Serial.print("Angle = ");
    Serial.print(angle);
    Serial.println();
  }
  
  if(angle != current_angle) {
    moveServo(angle);
  }
}

// Move servo to target angle
void moveServo(int target_angle) {
  int step_angle = 1;
  if(target_angle < current_angle) { step_angle = -1; }
  
  // This code makes smooth movement
  for(int i = current_angle; i != target_angle; i+=step_angle) {
    //if((target_angle - i) < step_angle && (target_angle - i) > step_angle * -1)  // close to target position, break this loop
    //  break;
    
    servo.write(i);
    delay(15);
  }
  current_angle = target_angle;
}

게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

닫기

첨부파일

비밀번호
수정

비밀번호 입력후 수정 혹은 삭제해주세요.

댓글목록

등록된 댓글이 없습니다.

댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

에게만 댓글 작성 권한이 있습니다.

댓글 입력

이름

비밀번호

내용

/ byte

에게만 댓글 작성 권한이 있습니다.

고객센터

    1670-9626

  • 팩스.063-902-6678
  • 이메일.eduino@robodyne.co.kr
  • Kakao. 에듀이노
  • 운영시간 : AM 10:00 ~ PM 16:30
  • 점심시간 : PM 12:00 - PM 13:00 토/일/공휴일 휴무
  • 고객센터 연결하기
입금계좌
  • 예금주: (주)로보다인시스템
  • 국민. 754801-01-760296
  • 농협. 301-0234-1423-01
  • IBK기업은행. 506-080015-01-016
배송 안내
  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 조건부 무료 : 주문 금액 100,000원 미만일 때 배송비 3,000원을 추가합니다.
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :
    - 제주도, 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
교환/반품 안내
교환 및 반품이 가능한 경우
- 상품을 공급 받으신 날로부터 7일이내 단, 가전제품의
  경우 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 공급받으신 상품 및 용역의 내용이 표시.광고 내용과
  다르거나 다르게 이행된 경우에는 공급받은 날로부터 3월이내, 그사실을 알게 된 날로부터 30일이내

교환 및 반품이 불가능한 경우
- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우
  (예 : 가전제품, 식품, 음반 등, 단 액정화면이 부착된 노트북, LCD모니터, 디지털 카메라 등의 불량화소에
  따른 반품/교환은 제조사 기준에 따릅니다.)
- 고객님의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 단, 화장품등의 경우 시용제품을
  제공한 경우에 한 합니다.
- 시간의 경과에 의하여 재판매가 곤란할 정도로 상품등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
  (색상 교환, 사이즈 교환 등 포함)
«
»