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

標(biāo)題: Arduino教程-數(shù)值校準(zhǔn) [打印本頁]

作者: 51黑電子論壇    時(shí)間: 2016-1-30 18:39
標(biāo)題: Arduino教程-數(shù)值校準(zhǔn)
Hi,大家好!上一次,我們給大家介紹了一位新成員,代號叫Arduino Mega2560,在這里跟大家提個(gè)醒兒,在以后的學(xué)習(xí)中,只要Arduino UNO能完成的實(shí)驗(yàn),用Mega2560也一定能完成。好,就醬!下面繼續(xù)我們今天新的內(nèi)容。
在實(shí)際使用中,我們很有可能會(huì)遇到一種情況,將模擬信號接口獲取到的數(shù)值進(jìn)行重新校準(zhǔn),以方便我們在項(xiàng)目中接下來的實(shí)際操作中,使用起來更加便捷。今天我們就來一起看看,關(guān)于這個(gè)問題,到底是如何解決的。
首先,還是先來看看,我們都需要哪些硬件吧。
硬件方面
圖片來源:Arduino電路硬件
具體如下:
嗯,看起來沒有陌生的面孔,之前我們都見過的。好,繼續(xù)。
軟件方面Arduino官方提供的IDE
連接電路
圖片來源:Arduino電路連接
還好還好,電路連接也不是特別復(fù)雜。在之前的學(xué)習(xí)中,我們已經(jīng)對光敏電阻學(xué)習(xí)過,所以對它的電路連接應(yīng)該也比較熟悉了。如果一切順利,讓我們進(jìn)行最后一步。
添加幾行代碼首先,還是新建一個(gè)項(xiàng)目窗口。

圖片來源:Arduino官方IDE
然后向其中添加幾行代碼:


  1. // 定義光敏電阻模擬信號引腳常量
  2. const int sensorPin = A0;
  3. // 定義LED神燈數(shù)字信號引腳常量
  4. const int ledPin = 9;
  5. // 定義接收光敏電阻模擬信號數(shù)值變量
  6. int sensorValue = 0;
  7. // 定義光敏電阻模擬信號最小數(shù)值變量,
  8. // 初始化為最大常見整數(shù)值1023。
  9. int sensorMin = 1023;
  10. // 定義光敏電阻模擬信號最大數(shù)值變量,
  11. // 初始化為最小常見整數(shù)值0。
  12. int sensorMax = 0;
  13. // 對Arduino電路板或相關(guān)狀態(tài)進(jìn)行初始化方法
  14. void setup() {
  15.   // 定義13號數(shù)字引腳為輸出類型引腳
  16.   pinMode(13, OUTPUT);
  17.   // 將13號引腳的狀態(tài)初始化為高電壓,
  18.   // 也即將Arduino UNO電路板上自帶的
  19.   // 那盞LED神燈點(diǎn)亮。
  20.   // 點(diǎn)亮此LED神燈的目的是為了清晰的指示
  21.   // 接下來要進(jìn)行的5秒鐘操作。
  22.   digitalWrite(13, HIGH);
  23.   // 在最開始的5秒鐘,不停地獲取光敏電阻的
  24.   // 數(shù)值,以此在這5秒鐘內(nèi)得到其中的最大和
  25.   // 最小數(shù)值。
  26.   while (millis() < 5000) {
  27.     sensorValue = analogRead(sensorPin);
  28.     // 比較獲取到的數(shù)值,
  29.     // 如果比sensorMax數(shù)值大,
  30.     // 則賦值給sensorMax,以此記錄最終得到
  31.     // 的最大值。
  32.     if (sensorValue > sensorMax) {
  33.       sensorMax = sensorValue;
  34.     }
  35.     // 比較獲取到的數(shù)值,
  36.     // 如果比sensorMin數(shù)值小,
  37.     // 則賦值給sensorMin,以此記錄最終得到
  38.     // 的最小值。
  39.     if (sensorValue < sensorMin) {
  40.       sensorMin = sensorValue;
  41.     }
  42.   }
  43.   // 5秒鐘過后,將13號數(shù)字引腳的數(shù)值
  44.   // 設(shè)置為低電壓,以此熄滅Arduino UNO
  45.   // 電路板自帶的那盞LED神燈。
  46.   digitalWrite(13, LOW);
  47. }
  48. // 系統(tǒng)調(diào)用,無限循環(huán)方法
  49. void loop() {
  50.   // 讀取光敏電阻的數(shù)值
  51.   sensorValue = analogRead(sensorPin);
  52.   // 使用map()方法,將獲取到的sensorValue數(shù)值,
  53.   // 從sensorMin~sensorMax的數(shù)值范圍內(nèi),
  54.   // 映射到0~255數(shù)值范圍內(nèi)的某個(gè)數(shù)值。
  55.   sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
  56.   // 保證映射完成之后的sensorValue數(shù)值在0~255范圍內(nèi)。
  57.   // 第一個(gè)參數(shù)是輸入值,
  58.   // 第二個(gè)參數(shù)和第三個(gè)參數(shù)是數(shù)值的取值范圍。
  59.   // 返回值被限定在0~255之間。
  60.   sensorValue = constrain(sensorValue, 0, 255);
  61.   // 將最終校準(zhǔn)后的數(shù)值設(shè)置給LED神燈
  62.   analogWrite(ledPin, sensorValue);
復(fù)制代碼



好!代碼一共就這幾行,只有一個(gè)新面孔,那就是constrain()方法。這個(gè)方法的使用也很簡單,代碼的注釋里已經(jīng)說明了使用方法,這里不再啰嗦。

圖片來源:Arduino官方IDE的文件編輯菜單選項(xiàng)
點(diǎn)擊上圖中標(biāo)有向右指向的箭頭圖標(biāo),將編寫完成的代碼燒入Arduino電路板。如果一切順利,LED神燈的亮度會(huì)隨著光敏電阻的光線強(qiáng)弱進(jìn)行變化。
總結(jié)通過這次學(xué)習(xí),我們知道了如何校準(zhǔn)數(shù)值。這對于主要以模擬信號的傳感器而言,有時(shí)候是非常必要的,可以過濾掉忽高忽低的數(shù)值,并將最終數(shù)值強(qiáng)制變換到指定的某個(gè)數(shù)值范圍內(nèi),對于數(shù)值的穩(wěn)定起到很關(guān)鍵的作用。在我們做的這個(gè)實(shí)驗(yàn)中,光敏電阻越亮,產(chǎn)生的數(shù)值越大,相應(yīng)的LED神燈也就越亮。那如果想讓光敏電阻越暗,LED神燈變的越亮應(yīng)該怎么辦呢?如果改裝一下,就可以變身一款時(shí)髦的應(yīng)急燈嘍!可以開動(dòng)腦筋想一想!
下期預(yù)告對于模擬信號的傳感器,產(chǎn)生的數(shù)值有可能不是非常的穩(wěn)定,或者說偶爾有可能會(huì)產(chǎn)生忽高忽低的數(shù)值,那如何讓獲取到的模擬數(shù)值變的連貫平滑呢?好!下一次我們就解決這個(gè)問題!



作者: ashdood    時(shí)間: 2017-10-23 10:30
樓主,你的下一期在哪呢,需要參考你的消抖思路,共享大愛,贊




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日朝毛片 | 中文字幕1区 | 精品国产乱码久久久久久丨区2区 | 亚洲精品久久久一区二区三区 | 秋霞电影一区二区 | 影音先锋成人资源 | 瑞克和莫蒂第五季在线观看 | 成人福利影院 | 成人a在线观看 | 午夜看看 | 亚洲国产精品99久久久久久久久 | 午夜影院官网 | 免费黄色录像片 | 成人精品区 | 黄色一级大片在线免费看产 | 国产欧美三区 | 视频在线一区 | 超碰97免费观看 | 天天综合亚洲 | 久久国产精品一区二区 | 欧美日韩国产在线观看 | 一区二区三区视频在线观看 | 污污的网站在线观看 | 日韩免费网站 | 欧美精品网 | 91素人| 国产一区二区自拍 | 欧美精产国品一二三区 | 免费看的黄网站 | 正在播放国产精品 | 欧美13videosex性极品 | 一区二区免费高清视频 | 欧美在线观看黄色 | 精品国产成人 | 久久久久成人精品 | 国产福利二区 | 亚洲免费人成在线视频观看 | 亚洲在线免费 | 日韩久久久久久 | 欧美一级在线 | 日韩三级一区 |