BASIC4MCU | 질문게시판 | 답변 : 조도센서로 led, 서보모터, 스텝모터 제어하기
페이지 정보
작성자 master 작성일2020-06-29 09:35 조회3,294회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=12997
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2020-06-29 오전 9:40:17// by Ok-Hyun Park//#include <Stepper.h>Stepper s_motor(2037,11,9,10,8);//#include <Servo.h>Servo sv;int motor=3;//int cds=A0;int LEDa=4,LEDb=7;//void setup(){pinMode(cds,INPUT);pinMode(LEDa,OUTPUT); pinMode(LEDb,OUTPUT);sv.attach(motor); s_motor.setSpeed(30);Serial.begin(9600);}//void loop(){s_motor.step(1);int val=analogRead(cds); Serial.print("cds_sensor: "); Serial.println(val);if(650<val){digitalWrite(LEDa,HIGH); digitalWrite(LEDb,LOW);for(int i=0; i<180; i++){ sv.write(i); delay(10); }while(650<val){ delay(100); val=analogRead(cds); }}else{digitalWrite(LEDa,HIGH); digitalWrite(LEDb,HIGH);for(int k=180; k>0; k--){ sv.write(k); delay(10); }while(val>=650){ delay(100); val=analogRead(cds); }delay(500);}}
서보모터 핀은 PWM 핀으로 변경해서 돌려보세요
경우에 따라서는 다른 PWM핀으로 변경해야 할 수도 있습니다.(타이머0,1,2 관계)
//
if(650<val){digitalWrite(LEDa,HIGH); digitalWrite(LEDb,LOW);for(int i=0; i<180; i++){ sv.write(i); delay(10); }while(650<val){ delay(100); val=analogRead(cds); }if()문과 while()문의 조건식이 같아야합니다.//질문 소스에서는 스텝모터 구동 코드가 보이지 않습니다.
댓글 0
조회수 3,294등록된 댓글이 없습니다.