| 
 | 
7#
 
 
 樓主 |
發表於 2012-8-10 13:43:13
|
只看該作者
 
 
 
版主你好  
我有嘗試用pulseIn() 這功能,可是在馬達轉速固定之下 
讀出來的時間 卻會有很大的差異 
不知道是哪邊有問題 
請版主 幫我看一下囉 
--------------------------------------------------------- 
int encoderPin = 2; 
int var; 
unsigned long time ; 
double rpm ; 
void setup() 
{ 
  Serial.begin(9600); 
  pinMode(encoderPin,INPUT); 
  pinMode(13,OUTPUT); 
} 
void loop() 
{ 
  var = digitalRead(encoderPin); 
  time = pulseIn(encoderPin,HIGH,3000000); 
    unsigned long time3 ; 
    time3 = time *4 *6 ; 
    rpm = 60000000/ time3   ; 
    Serial.print("time:") ; 
    Serial.println(time3); 
    Serial.print("rpm:") ; 
    Serial.println(rpm); 
} |   
 
 
 
 |