질문게시판 > 답변 : 버튼으로 서브모터 각도 조절

TODAY375 TOTAL182,575
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU | 질문게시판 | 답변 : 버튼으로 서브모터 각도 조절

페이지 정보

작성자 master 작성일2018-06-18 23:01 조회170회 댓글7건

본문

	

 

// DateTime : 2018-06-18 오후 11:05:10
// by Ok-Hyun Park
//
#include <LiquidCrystal.h>
#include <Servo.h>
Servo myservo;
LiquidCrystal lcd(13,11,8,3,5,7);
int b1=12,b2=10;
//
void setup(){
  myservo.attach(9);
  lcd.begin(16,2);
}
//
void loop(){
  if(digitalRead(b1)){
    for(int i=0;i<180;i++){
      lcd.setCursor(0,1); lcd.print("Angle: "); lcd.print(i); lcd.print(" ");
      myservo.write(i); delay(10); 
    }
  }
  //
  if(digitalRead(b2)){
    for(int i=180;i>=0;i--){
      lcd.setCursor(0,1); lcd.print("Angle: "); lcd.print(i); lcd.print(" ");
      myservo.write(i); delay(10); 
    }
  }
}

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 7

조회수 170

한성님의 댓글

비공개 작성일

수정해주셔서 감사합니다 !!

한성님의 댓글

비공개 작성일

수정해주신대로 컴파일 해보니깐 버튼을 한번누르면 0에서 180으로 한번에 올라가고 다른 버튼도 180에서 0으로 한번에 내려가길래 제가 다시 수정을 해봤는데 버튼누를 떄마다 순차적으로 값이 바뀌긴 하는데,
if(digitalRead(b1) == HIGH)
++digit

if(digitalRead(b2) == HIGH)
--digit
만 하니깐 범위가 0에서 180까지로 설정이 안됩니다.  아래처럼  for문 으로 수정을 했는데 여기서 더 수정하거나 추가해야 하는 부분이 있을까요 ?
 if(digitalRead(b1) == HIGH){
  for(int digit =0; digit>-1; ++digit);

if(digitalRead(b2) == HIGH){
  for(int digit = 180 ; digit<181; --digit);




master님의 댓글

master 댓글의 댓글 작성일

설마 버튼 누를 때마다 1도씩 증가 또는 하강하겠다는 것은 아니겠죠?
180도 움직이려면 180번 눌러야하는데요?

한성님의 댓글

비공개 댓글의 댓글 작성일

그건아닌데 중간값이 표시가되야해요,, 한번누른다고 바로 180도가 되면 안되고 점차적으로 값이 바뀌어야 해서

master님의 댓글

master 댓글의 댓글 작성일

for(int i=0;i<180;i++){
      lcd.setCursor(0,1); lcd.print("Angle: "); lcd.print(i); lcd.print(" ");
      myservo.write(i); delay(10); // <--- 딜레이를 키우면 서서히 변합니다.
    }
딜레이 때문에 서서히 변할텐데요?

한성님의 댓글

비공개 작성일

딜레이값을 키우면 서서히 변하기는 하는데 연속적으로 값이 변하는건 마찬가지라서,, 불연속적으로 값이 바껴야 합니다. 버튼을 누를때마다 값이 증가해야해서,,

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.

ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017