欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 【零知ESP8266教程】快速入門(mén)8-讀取模擬數(shù)值 [打印本頁(yè)]

作者: roc2    時(shí)間: 2019-10-14 10:02
標(biāo)題: 【零知ESP8266教程】快速入門(mén)8-讀取模擬數(shù)值

上次我們一起做了搶答器后,腦回路是不是特別快啦。這時(shí)候我們趁熱打鐵,思考一下。在前面我們一直使用的是數(shù)字引腳(比如:開(kāi)發(fā)板上標(biāo)注的D0、D1、D2等),但是很多情況下我們需要測(cè)量一個(gè)模擬量,比如讀取某個(gè)變化的電壓值,這時(shí)候就需要模擬引腳的功能了(如:A0),下面我們?cè)陔娐分屑尤胍粋(gè)電位器,看看隨著電位器的變化,讀取到的模擬數(shù)值變化。

一、工具原料
電腦,windows系統(tǒng)
零知ESP8266開(kāi)發(fā)板
micro-usb線(xiàn)
電位器
面包板一個(gè)+若干跳線(xiàn)

二、硬件連接





三、方法步驟
1、打開(kāi)零知實(shí)驗(yàn)室軟件開(kāi)發(fā)工具,然后新建項(xiàng)目,輸入以下代碼:

  1. /**
  2. *    文件: 電位器測(cè)試.ino
  3. *    作者: 零知
  4. *    時(shí)間: 2018/06/25 17:59
  5. *    說(shuō)明:
  6. **/
  7.   
  8. int value = 0;//讀取的值
  9.   
  10. // the setup routine runs once when you press reset:
  11. void setup() {
  12.     // put your setup code here, to run once:
  13.         pinMode(LED_BUILTIN, OUTPUT);//設(shè)置板子上的LED燈引腳
  14.         Serial.begin(9600);//打開(kāi)串口,可以在串口監(jiān)視器中查看測(cè)量的數(shù)值
  15. }
  16.   
  17. // the loop routine runs over and over again forever:
  18. void loop() {
  19.     // put your main code here, to run repeatedly:
  20.   
  21.         value = analogRead(A0);
  22.         Serial.println(value);
  23.          
  24.         //讀取一次后,我們讓開(kāi)發(fā)板上的LED燈閃爍一次,表示一次讀取完成
  25.         digitalWrite(LED_BUILTIN, HIGH);
  26.         delay(80);
  27.         digitalWrite(LED_BUILTIN, LOW);
  28.         delay(80);
  29.          
  30.         //延時(shí)一會(huì)兒,讓串口輸出慢一點(diǎn)便于觀(guān)察
  31.         delay(500);
  32. }
復(fù)制代碼

2、按照之前的方式先【驗(yàn)證】,然后【上傳】到開(kāi)發(fā)板中。

四、成果展示



上面步驟成功完成后,我們就可以看到預(yù)期的結(jié)果了,打開(kāi)零知開(kāi)發(fā)工具的【調(diào)試】,然后我們把電位器從開(kāi)始調(diào)到最大,可以看到如下數(shù)據(jù)變化。

五、擴(kuò)展
在上面我們讀取的數(shù)值有些人可能比較迷惑,我們現(xiàn)在把這些原始模擬值轉(zhuǎn)換為實(shí)際的電壓值,編寫(xiě)如下代碼:

  1. /**
  2. *    文件: 電位器測(cè)試.ino
  3. *    作者: 零知
  4. *    時(shí)間: 2019/05/28 17:59
  5. *    說(shuō)明:
  6. **/
  7.   
  8. int value = 0;//讀取的原始模擬數(shù)值
  9. int voltage = 0;//實(shí)際電壓值
  10.   
  11. // the setup routine runs once when you press reset:
  12. void setup() {
  13.     // put your setup code here, to run once:
  14.         pinMode(LED_BUILTIN, OUTPUT);//設(shè)置板子上的LED燈引腳
  15.         Serial.begin(9600);//打開(kāi)串口,可以在串口監(jiān)視器中查看測(cè)量的數(shù)值
  16. }
  17.   
  18. // the loop routine runs over and over again forever:
  19. void loop() {
  20.     // put your main code here, to run repeatedly:
  21.   
  22.         value = analogRead(A0);
  23.         //次函數(shù)就可以把數(shù)值進(jìn)行范圍映射,可以測(cè)量的最大值為4095,而我實(shí)際的最大測(cè)量電壓為3.3v
  24.         voltage = map(value, 0, 1024, 0, 330);
  25.         Serial.println((float)voltage/100.00); //保留兩位小數(shù)
  26.          
  27.         //讀取一次后,我們讓開(kāi)發(fā)板上的LED燈閃爍一次,表示一次讀取完成
  28.         digitalWrite(LED_BUILTIN, HIGH);
  29.         delay(80);
  30.         digitalWrite(LED_BUILTIN, LOW);
  31.         delay(80);
  32.          
  33.         //延時(shí)一會(huì)兒,讓串口輸出慢一點(diǎn)便于觀(guān)察
  34.         delay(500);
  35. }
復(fù)制代碼

然后重新驗(yàn)證代碼后上傳到開(kāi)發(fā)板中,然后打開(kāi)串口監(jiān)視器可以看到當(dāng)我們旋轉(zhuǎn)電位器的時(shí)候,實(shí)際的電壓變化:








歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1