Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 4554|回復: 2
打印 上一主題 下一主題

用Arduino量測IC 555的輸出頻率

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-1-30 17:52:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 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的頻率?
2#
發表於 2012-9-7 13:11:11 | 只看該作者
是否這邊Serial.begin(115200);要改成Serial.begin(9600);,因為arduino跟電腦溝通的鮑率是9600,設定太高有可能會影響。

想請問一下,這個程式是將測得的pwm轉換成頻率,還是arduino可以直接測得頻率??
如是轉換,想請問如何計算出的??
3#
發表於 2012-9-7 15:29:01 | 只看該作者
Serial.print(fq);
  Serial.println( "KHz");
是很耗時的指令,原來的寫法應該本來就很不準了

應該改成
void onTick()
{
  long thistime=millis();
  float fq = 1 / (thistime - lasttime);
  lasttime = thistime;
  Serial.print(fq);
  Serial.println( "KHz");
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-21 21:22 , Processed in 0.173036 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表