BASIC4MCU | 질문게시판 | 스텝모터 관련 질문
페이지 정보
작성자 에딘 작성일2022-11-13 20:09 조회657회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=21580
본문
빗방울 감지 센서가 물을 감지 했을 때 스텝모터가 작동하면서 문이 열리는 그런 걸 만들고 있거든요..
빗방울 감지 센서는 잘 되고 있는데 스텝모터에서는 진동 같은 거만 나고 안돌아가네요..
사용하고 있는 드라이버는 TB6560 스텝모터는 NEMA 17
#define dirPin 10#define stepPin 11#define stepsPerRevolution 1600boolean window = false;
void setup(){Serial.begin(9600);pinMode(A0, INPUT);pinMode(dirPin, OUTPUT);pinMode(stepPin,OUTPUT); //}
void loop(){int value = analogRead(A0);Serial.print("Rain : ");Serial.println(value);Serial.print("Window : ");if(window==false) Serial.println("Close");else if(window==true) Serial.println("Open");Serial.println("=============================================== ");Serial.println();if(window == false && value==1) //창문이 닫혀있고 비가 안오는 상태{// 동작안함}else if(window == false && value>0) //창문이 닫혀있고 비가 오는 상태{// 동작안함}else if(window == true && value==1) //창문이열려있고 비가 안오는 상태{//동작안함}else if(window == true && value>0) //창문이열려있고 비가 오는 상태{sensor_close();}delay(5000);}void sensor_open(){Serial.println("open");digitalWrite(dirPin, HIGH);digitalWrite(stepPin, HIGH);delayMicroseconds(2000);digitalWrite(stepPin, LOW);delayMicroseconds(2000);Serial.println("stop");window = true;
Serial.print("Window Status : ");Serial.println(window);Serial.println();
}
void sensor_close(){Serial.println("Close");digitalWrite(dirPin, LOW);digitalWrite(stepPin, HIGH);delayMicroseconds(2000);digitalWrite(stepPin, LOW);delayMicroseconds(2000);window = false;
Serial.print("Window Status : ");Serial.println(window);Serial.println();}코드가 잘못된 걸까요..? 아니면 선을 잘못 연결했을까요? 스텝모터 혼자서 공부해서 해보고 싶었는데 여기에 6시간 째 끙끙대고 있네요..
댓글 0
조회수 657등록된 댓글이 없습니다.