總網頁瀏覽量

2011年12月10日 星期六

Fan RPM Meter (測量風扇轉速) = Motoduino (Arduino) + CNY70 + 12V Fan

這次利用CNY70及一個沒在用的小風扇,來測量其風扇轉速,方法很簡單, Arduino Sketch如下.
此次利用一顆9V電池當風扇電源.





使用材料如下:
1.電池9V 一顆
2.Motoduino (Arduino) x 1
3.CNY70 光感測器  x 1 (圖中五顆只用一顆)
4.黑色膠帶一小條
5. 少許線材.

Arduino Sketch:
程式說明: 此次是用attachInterrupt(0, rpm_fun, RISING), 第一參數0表示Pin2為外部中斷,
當0-->1時(Rising)就產生中斷執行rpm_fun. 利用 if(rpmcount >= 20) 來調整 RPM resolution.

#############################

volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;

void setup()
{
  Serial.begin(9600);
  attachInterrupt(0, rpm_fun, RISING);
  rpmcount = 0;
  rpm = 0;
  timeold = 0;
  }

void loop()
{
  if (rpmcount >= 20)
  {
    rpm = (30 * 1000 / (millis()- timeold)) * rpmcount;
    timeold = millis();
    rpmcount = 0;
    Serial.println(rpm, DEC);
  }
}
void rpm_fun()
{
  rpmcount++;
}

#############################

有興趣或有問題網友可以發mail來, 謝謝!
My Youtube : http://www.youtube.com/watch?v=I3pIOMORmHQ
My Email : sinocgtchen@gmail.com

相關購買資訊: http://motoduino.com


1 則留言: