Robofun 機器人論壇

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

程式碼求救,數值不會歸0

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-3-19 15:02:30 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
float amps = 0;
float maxAmps = 0;
float minAmps = 0;
float lastAmps = 0;
float noise = 0;

void setup() {
Serial.begin(9600);
}

void loop() {
amps = ((512 - analogRead(A0)) * 27.50 / 1023);
amps = (amps + lastAmps) / 2;
lastAmps = amps;
maxAmps = max(maxAmps, amps);
minAmps = min(minAmps, amps);
noise = maxAmps - minAmps;
//Serial.print(amps);
//Serial.print(" ");
Serial.println(noise);
if (Serial.read() != -1) {maxAmps = amps; minAmps = amps;}
delay(1000);
}


這程式碼一開始沒問題A0的數值都有出來,

但是當A0沒有數值進來時 noise 那一行數值並不會歸0,而是讀取到最後一個數值在上面

求解><"
2#
 樓主| 發表於 2016-3-20 14:46:57 | 顯示全部樓層
回復 2# 超新手


   那要怎麼寫才會歸0,還是要重寫?
我這個程式是是交流電,正弦波最小+正弦波最大=電流值,

理論上如果最大跟最小都=0 的話 電流應該=0
3#
 樓主| 發表於 2016-3-22 21:59:36 | 顯示全部樓層
回復 4# 超新手


   =A=好像有點快懂又不太懂的....抱歉,因為我只有寫過取"差值",但是從來沒碰過會上下起伏的...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-1 11:50 , Processed in 0.107042 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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