久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 15494|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

Arduino教程-求均值

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
Hi,大家好!今天,我們將一起學(xué)習(xí)一種求均值的方法。有時(shí)候,我們會(huì)碰到一些傳感器,它們所產(chǎn)生的數(shù)值之間,有可能不連貫,或者說(shuō)具有跳躍性,但我們又不想被某些“不和諧”的數(shù)值所干擾,所以我們就需要取之前的一小撮數(shù),通過(guò)計(jì)算均值的方式,對(duì)數(shù)值進(jìn)行處理。
好!簡(jiǎn)單說(shuō)明之后,讓我們看看,具體是怎樣實(shí)現(xiàn)的吧。
硬件方面
圖片來(lái)源:Arduino電路連接
具體包括:
  • Arduino UNO電路板(1塊)
  • 旋轉(zhuǎn)電位計(jì)(1個(gè))
  • 面包板(1塊)
  • 面包線(若干)
上面的配件,我們之前都已經(jīng)見(jiàn)過(guò),不用再多說(shuō)什么。
軟件方面Arduino官方提供的IDE
連接電路
圖片來(lái)源:Arduino電路連接
電路的連接非常的簡(jiǎn)單,不多講。
下面是最后一步,也是最重要的一步!
添加幾行代碼首先,新建一個(gè)項(xiàng)目窗口。

圖片來(lái)源:Arduino官方IDE
向其中添加幾行代碼:


  1. // 定義讀取數(shù)值的數(shù)目,
  2. // 初始化為 10
  3. const int numReadings = 10;
  4. // 定義存儲(chǔ)讀入數(shù)值的數(shù)組
  5. int readings[numReadings];
  6. // 定義指示數(shù)組數(shù)值的索引
  7. int readIndex = 0;
  8. // 定義存儲(chǔ)數(shù)組數(shù)值的總數(shù)
  9. int total = 0;
  10. // 定義數(shù)組數(shù)值的平均數(shù)
  11. int average = 0;
  12. // 定義旋轉(zhuǎn)電位計(jì)的模擬信號(hào)輸入針腳
  13. int inputPin = A0;
  14. // 對(duì)Arduino電路板或相關(guān)狀態(tài)進(jìn)行初始化方法
  15. void setup() {
  16.   // 開(kāi)啟串行通信,并設(shè)置其頻率為9600。
  17.   // 如果沒(méi)有特別要求,此數(shù)值一般都為9600。
  18.   Serial.begin(9600);
  19.   // 初始化存儲(chǔ)讀入數(shù)值的數(shù)組,
  20.   // 講每個(gè)數(shù)值設(shè)置為 0 。
  21.   for (int thisReading = 0; thisReading < numReadings; thisReading++) {
  22.     readings[thisReading] = 0;
  23.   }
  24. }
  25. // 系統(tǒng)調(diào)用,無(wú)限循環(huán)方法
  26. void loop() {
  27.   // 總值中,減去數(shù)組的最后一個(gè)數(shù)值
  28.   total = total - readings[readIndex];
  29.   // 讀入當(dāng)前旋轉(zhuǎn)電位計(jì)的數(shù)值,
  30.   // 并將其存儲(chǔ)到數(shù)組的最后一位。
  31.   readings[readIndex] = analogRead(inputPin);
  32.   // 將最新讀入的數(shù)值加入到總值中
  33.   total = total + readings[readIndex];
  34.   // 將數(shù)組指示索引值加1
  35.   readIndex = readIndex + 1;
  36.   // 判斷數(shù)組指示索引是否超出數(shù)組范圍,
  37.   // 如果是,將數(shù)組指示索引重置為0
  38.   if (readIndex >= numReadings) {
  39.     readIndex = 0;
  40.   }
  41.   // 計(jì)算平均值
  42.   average = total / numReadings;
  43.   // 將最終計(jì)算的平均值輸出到串行調(diào)試窗口。
  44.   Serial.println(average);
  45.   // 延遲一毫秒,
  46.   // 進(jìn)入下一個(gè)循環(huán)。
  47.   delay(1);
  48. }
復(fù)制代碼



輸入完畢!上面的代碼里,沒(méi)有新方法,也沒(méi)有復(fù)雜的數(shù)據(jù)結(jié)構(gòu),只有一個(gè)數(shù)組而已。用到的算法也是蠻簡(jiǎn)單,每次循環(huán)的時(shí)候,減去數(shù)組最后的一個(gè)數(shù)值,隨后將從旋轉(zhuǎn)電位計(jì)新讀入的數(shù)值存入其中,然后計(jì)算總值以及最終的平均值,每次只修改數(shù)組的最后一個(gè)數(shù)值,并計(jì)算平均值。

圖片來(lái)源:Arduino官方IDE的文件編輯菜單選項(xiàng)
點(diǎn)擊上圖中,最右側(cè)放大鏡圖標(biāo)的按鈕,打開(kāi)串口調(diào)試窗口,大致如下圖所示。

圖片來(lái)源:Arduino串口調(diào)試窗口
總結(jié)通過(guò)這次學(xué)習(xí),我們了解了如何對(duì)讀取到的數(shù)值進(jìn)行平均化,去掉當(dāng)中偏大或偏小的數(shù)值。這是一種防止數(shù)值跳變的好方法。
下期預(yù)告我們已經(jīng)學(xué)習(xí)了二十個(gè)星期,接下來(lái),休息,休息一下!


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:177116 發(fā)表于 2017-3-27 21:08 | 只看該作者
必須給樓主一個(gè)贊
回復(fù)

使用道具 舉報(bào)

板凳
ID:137736 發(fā)表于 2017-4-28 18:21 來(lái)自手機(jī) | 只看該作者
很好,簡(jiǎn)單易用
回復(fù)

使用道具 舉報(bào)

地板
ID:322034 發(fā)表于 2018-5-4 13:52 | 只看該作者
總值中,減去數(shù)組的最后一個(gè)數(shù)值為什么呢?
回復(fù)

使用道具 舉報(bào)

5#
ID:322213 發(fā)表于 2018-5-5 02:42 | 只看該作者
哇 謝謝樓主 初學(xué)者的福利啊
回復(fù)

使用道具 舉報(bào)

6#
ID:493412 發(fā)表于 2022-10-27 18:28 | 只看該作者
樓主寫(xiě)的真好,贊一個(gè),專門登錄論壇賬號(hào)來(lái)贊美樓主,代碼以修改到自己的程序了,相當(dāng)經(jīng)典而且寫(xiě)的通俗易懂!
回復(fù)

使用道具 舉報(bào)

7#
ID:137736 發(fā)表于 2023-2-2 20:37 | 只看該作者
滑動(dòng)濾波算法?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品欧美一区二区精品久久久 | 羞羞视频一区二区 | 日本亚洲精品 | 天堂一区在线观看 | 日韩一区二区三区在线观看视频 | 国产精品久久久久久久久久妇女 | 欧美视频免费在线 | 国产网站在线播放 | 一级做a爰片久久毛片 | 天天操天天插天天干 | 国产成人99久久亚洲综合精品 | 久草视 | 国产小u女发育末成年 | 免费一区 | 日韩免费av网站 | 人人做人人澡人人爽欧美 | 黄色精品| 亚洲成人精品影院 | 一区二区三区在线播放视频 | 欧美成人精品一区二区三区 | 精品一区二区久久 | 男女羞羞免费网站 | av资源中文在线 | 免费成人av网站 | 美日韩中文字幕 | 亚洲一区二区三区在线播放 | 久久久91| 中文字幕一区二区三区在线观看 | 日韩欧美一区二区三区在线播放 | 欧美日韩淫片 | 欧美精品久久久久久 | 午夜久久久 | 一本久久a久久精品亚洲 | 成人妇女免费播放久久久 | 国产91亚洲精品一区二区三区 | 秋霞在线一区 | 91精品国产综合久久婷婷香蕉 | 日本中文字幕在线观看 | 午夜视频在线 | 男女羞羞在线观看 | 中文字幕 在线观看 |