Robofun 機器人論壇
標題:
請問一下關於步進馬達轉動次數
[打印本頁]
作者:
h220228932
時間:
2015-11-21 22:36
標題:
請問一下關於步進馬達轉動次數
想請問一下各位,我目前是在寫當人體紅外線被觸發時,我的步進馬達要走388步就停止,直到當人離開時再往回走388步。
但目前遇到的問題是他會一直走388步不會停,想請問一下各位這樣的情況要如何解決?
以下是我的程式:
const int PIRSensor = 2; // 紅外線動作感測器連接的腳位
const int ledPin = 13; // LED 腳位
#include <Stepper.h>
const int stepsPerRevolution = 2048; //馬達一圈2048步
int sensorValue = 0; // 紅外線動作感測器訊號變數
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
pinMode(PIRSensor, INPUT);
pinMode(ledPin, OUTPUT);
myStepper.setSpeed(5);
Serial.begin(9600);
}
void loop(){
// 讀取 PIR Sensor 的狀態
sensorValue = digitalRead(PIRSensor);
// 判斷 PIR Sensor 的狀態
if (sensorValue == HIGH) {
Serial.println("clockwise");
myStepper.step(388);
digitalWrite(ledPin, HIGH); // 有人,開燈
delay(3000);
}
else {
Serial.println("counterclockwise");
myStepper.step(-388);
digitalWrite(ledPin, LOW); // 沒人,關燈
delay(3000);
}
}
作者:
超新手
時間:
2015-11-22 07:12
加一個變數來判斷
如果已經後退過了, 就不要再後退
如果已經前進過了, 就不要再前進
以避免重覆執行
作者:
h220228932
時間:
2015-11-22 10:47
感謝大大幫忙,已成功解決 !
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2