Robofun 機器人論壇

標題: 用Arduino量測IC 555的輸出頻率 [打印本頁]

作者: pizg    時間: 2012-1-30 17:52
標題: 用Arduino量測IC 555的輸出頻率
本帖最後由 pizg 於 2012-2-22 00:36 編輯

下面的程式可以量測NE555低速頻率,

// 量測頻率
volatile long lasttime = 0;

void setup()
{
  Serial.begin(115200);
  pinMode(2, INPUT);
  attachInterrupt( 0, onTick, RISING );
}


void loop()
{
  
}


void onTick()
{
  long thistime=millis();
  float fq = 1 / (thistime - lasttime);
  Serial.print(fq);
  Serial.println( "KHz");
  lasttime = thistime;
}




但無法量測到38KHz,
請問要如何修改電路或程式才能量測38KHz的頻率?
作者: snake0907    時間: 2012-9-7 13:11
是否這邊Serial.begin(115200);要改成Serial.begin(9600);,因為arduino跟電腦溝通的鮑率是9600,設定太高有可能會影響。

想請問一下,這個程式是將測得的pwm轉換成頻率,還是arduino可以直接測得頻率??
如是轉換,想請問如何計算出的??

作者: mzw2008    時間: 2012-9-7 15:29
Serial.print(fq);
  Serial.println( "KHz");
是很耗時的指令,原來的寫法應該本來就很不準了

應該改成
void onTick()
{
  long thistime=millis();
  float fq = 1 / (thistime - lasttime);
  lasttime = thistime;
  Serial.print(fq);
  Serial.println( "KHz");
}




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2