BASIC4MCU | 질문게시판 | 답변 : 답변 : 답변 : 조도센서로 led, 서보모터, 스텝모터 제어하기
페이지 정보
작성자 master 작성일2020-06-29 21:54 조회3,232회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=13005
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2020-06-29 오후 10:00:18// by Ok-Hyun Park//LED와 서보모터가 cds의 값을 읽어오는 동안만 스텝모터가 작동을 하고LED와 서보모터가 작동하는동안은 스텝모터가 회전을 하지않습니다.스텝모터는 계속 회전을 하되 if/else 조건에 따라 rpm만 15/8로 하고싶습니다.//#include <Stepper.h>int stepsPerRevolution=2037;Stepper s_motor(stepsPerRevolution,11,9,10,8);#include <Servo.h>Servo sv;int motor=3;//int cds=A0;int LEDa=4,LEDb=7;//int Angle=0,TargetAngle=0; //서보int Step=0,TargetStep=0; //스텝int mode=0,v=0,val;//void setup(){Serial.begin(9600); sv.attach(motor);s_motor.setSpeed(15);pinMode(cds,INPUT);pinMode(LEDa,OUTPUT); pinMode(LEDb,OUTPUT);digitalWrite(LEDa,1);}//void loop(){val=analogRead(cds);if(v!=val){ v=val;Serial.print("cds_sensor: "); Serial.println(val);}//if(650<=val){ mode=1; TargetAngle=180; digitalWrite(LEDb,0); s_motor.setSpeed(15); }else { mode=0; TargetAngle= 0; digitalWrite(LEDb,1); s_motor.setSpeed( 8); }//if(mode){ // mode=1if(Angle<TargetAngle){ s_motor.step(11); Angle++; sv.write(Angle); }}else{ // mode=0if(Angle>TargetAngle){ s_motor.step(11); Angle--; sv.write(Angle); }}}
댓글 0
조회수 3,232등록된 댓글이 없습니다.