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

標(biāo)題: Arduino教程-獲取輸入數(shù)字信號 [打印本頁]

作者: 51黑電子論壇    時(shí)間: 2015-12-19 21:40
標(biāo)題: Arduino教程-獲取輸入數(shù)字信號
Hi,大家好!經(jīng)過前幾次的學(xué)習(xí),我們知道了如何讓LED神燈進(jìn)行各種閃爍。在學(xué)習(xí)的過程中,了解到Arduino的基礎(chǔ)知識。單從知識構(gòu)成來說,我們學(xué)習(xí)了如何向電器元件發(fā)送信號,比如向LED發(fā)送的各種閃爍的模擬信號和數(shù)字信號。接下來呢,我們將試著挑戰(zhàn)一下如何獲取電器元件的輸入信號。
嗯,這一次我們先試著獲取電器元件輸入的數(shù)字信號。為了完成此次學(xué)習(xí),我們需要從硬件和軟件兩方面做如下準(zhǔn)備。
硬件方面
圖片來源:Arduino電路配件
具體包括如下:
猛然看來,比起前幾次來說,一下子多出來不少部件呢!幾個部件都不復(fù)雜,簡單做個介紹。以此圖為例,左上方是面包板,是用來連接復(fù)雜電路的,以左邊E和F行號為界線,分為上半部分和下半部分,這兩部分互不連通。上下兩部分的橫向引腳互不連通,縱向引腳處于連通狀態(tài)。在用面包板連接電路時(shí)。
緊挨著面包板的右側(cè)是10k的電阻,這個不必細(xì)說,很簡單的元器件。再向右看是一個按鍵開關(guān),這次要獲取的數(shù)字信號,就是這個部件發(fā)出的。最右側(cè)是面包線,可以看作是普通的導(dǎo)線。下面中間的那個電路板自然是Arduino UNO了,之前就已經(jīng)介紹過,這里不必多說。
好!這次用到的硬件就這些。
軟件方面Arduino官方提供的IDE,和之前一樣。
好的!需要準(zhǔn)備的東西就這些。下面就開始動手啦!!
連接電路
圖片來源:Arduino連接開關(guān)按鍵電路示意圖
按照圖中所示,將我們準(zhǔn)備的元器件連接好。這里有兩點(diǎn)需要注意,第一點(diǎn)是開關(guān)按鍵是長方形的,所以要注意插入面包板時(shí)的方向。第二點(diǎn)是面包板上下兩部分的引腳連通性,橫向是不連通的,縱向是連通的。
下面是最后一步!
添加幾行代碼最后,我們還需要加入幾行代碼,來獲取按鍵輸入的數(shù)字信號。
首先,像之前一樣,新建一個項(xiàng)目窗口。

圖片來源:Arduino官方IDE



  1. // 定義2號引腳為按鍵插入引腳
  2. int pushButton = 2;

  3. // 對Arduino電路板或相關(guān)狀態(tài)進(jìn)行初始化方法
  4. void setup() {
  5.   // 開啟串行通信,并設(shè)置其頻率為9600。
  6.   // 如果沒有特別要求,此數(shù)值一般都為9600。
  7.   Serial.begin(9600);
  8.   // 設(shè)置2號引腳為信號輸入引腳
  9.   pinMode(pushButton, INPUT);
  10. }

  11. // 系統(tǒng)調(diào)用,無限循環(huán)方法
  12. void loop() {
  13.   // 讀取按鍵輸入針腳的信號值,
  14.   // 將其存入buttonState變量。
  15.   int buttonState = digitalRead(pushButton);
  16.   // 將獲取的數(shù)字信號值打印到串口顯示
  17.   Serial.println(buttonState);
  18.   // 每次循環(huán)之間,延時(shí)一毫秒執(zhí)行
  19.   delay(1);
  20. }
復(fù)制代碼



代碼就這么多!這次又出現(xiàn)了幾個新面孔,下面做一個介紹。Serial.begin方法的作用是設(shè)置串行通信的頻率。這里注意一下pinMode方法的第二個參數(shù),在前面幾次點(diǎn)亮LED神燈的教程里,這里都是OUTPUT,這次設(shè)置的是INPUT,作用與之前相反。之前是對LED設(shè)置狀態(tài),屬于輸出值,這里是從按鍵獲取狀態(tài),屬于輸入值。digitalRead顧名思義,調(diào)用時(shí)輸入一個引腳號,可讀取這個引腳輸入的信號。Serial.println方法將數(shù)值打印到串口進(jìn)行顯示。
數(shù)一數(shù),這次程序中出現(xiàn)的新面孔,一共只有三個!So easy!最后只需要將程序燒入Arduino即可。

圖片來源:Arduino官方IDE的文件編輯菜單選項(xiàng)(注意此處不是指Arduino頂部工具欄)
燒入方法點(diǎn)擊上圖中,標(biāo)有向右指向的箭頭圖標(biāo),即可自動完成從編譯到燒入整個過程。如果不出意外,此時(shí)程序已經(jīng)燒入Arduino。單擊上圖最右側(cè)的放大鏡圖標(biāo),打開串口調(diào)試窗口。此時(shí)窗口正在不停的輸出數(shù)字0,按下Arduino電路板上的按鍵按鈕,如果一切正常,數(shù)字0會變?yōu)?。

圖片來源:Arduino串口調(diào)試窗口
松開按鍵,輸出的數(shù)字變?yōu)?,按下變?yōu)?。
總結(jié)至此整個挑戰(zhàn)完成!此時(shí)就可以獲取到Arduino上電器元件的操作狀態(tài)。通過這次學(xué)習(xí),我們可以獲取到電器元件所輸入的數(shù)字信號。當(dāng)元器件狀態(tài)改變時(shí),我們可以近乎實(shí)時(shí)的獲取到元器件的當(dāng)前狀態(tài)。這為我們以后通過元器件控制其他電氣設(shè)備提供了一種可能。
下期預(yù)告這一次,雖然我們可以獲取到按鍵開關(guān)的輸入狀態(tài)。但按鍵開關(guān)的輸入狀態(tài)屬于數(shù)字信號,屬于非連續(xù)信號。當(dāng)需要進(jìn)行連續(xù)漸變控制的時(shí)候,數(shù)字信號就會顯得力不從心。下一次,我們將再接再厲,挑戰(zhàn)一下如何獲取元器件輸入的模擬信號!學(xué)完之后,我們就可以通過連續(xù)信號對漸變狀態(tài)進(jìn)行控制!


ohcoder的系列精彩Arduino教程:
Arduino教程-初識Arduino(包含本教程目錄):http://www.zg4o1577.cn/bbs/dpj-41334-1.html
Arduino教程-開篇:http://www.zg4o1577.cn/bbs/dpj-41335-1.html
Arduino教程-點(diǎn)亮LED神燈:http://www.zg4o1577.cn/bbs/dpj-41336-1.html
Arduino教程-讓LED神燈閃爍:http://www.zg4o1577.cn/bbs/dpj-41337-1.html
Arduino教程-讓LED神燈亮度漸變:http://www.zg4o1577.cn/bbs/dpj-41338-1.html
Arduino教程-獲取輸入數(shù)字信號:http://www.zg4o1577.cn/bbs/dpj-41339-1.html
Arduino教程-獲取輸入模擬信號:http://www.zg4o1577.cn/bbs/dpj-41340-1.html
Arduino教程-另一種時(shí)間延遲:http://www.zg4o1577.cn/bbs/dpj-41331-1.html
Arduino教程-按鍵開關(guān):http://www.zg4o1577.cn/bbs/dpj-41341-1.html
Arduino教程-停止抖動!:http://www.zg4o1577.cn/bbs/dpj-41333-1.html
Arduino教程-拋棄外部電阻!:http://www.zg4o1577.cn/bbs/dpj-41332-1.html
Arduino教程-用按鍵開關(guān)計(jì)數(shù):http://www.zg4o1577.cn/bbs/dpj-41330-1.html

………后續(xù)持續(xù)更新中請打開:http://www.zg4o1577.cn/bbs/dpj-41334-1.html

作者: q221520amlls    時(shí)間: 2016-1-29 10:12
你好樓主,為什么我松開按鍵,輸出的數(shù)字變?yōu)?,按下變?yōu)??
作者: lytllll    時(shí)間: 2016-3-21 22:46
reyern
作者: Britannia015    時(shí)間: 2016-3-27 19:50
請問樓主,Arduino怎么連接wifi模塊呢,需要哪些步驟

作者: 烈酒微涼    時(shí)間: 2017-6-11 16:21
通俗易懂 好佩服!!比官方的教學(xué)還好
作者: 三水客    時(shí)間: 2018-8-25 15:11
“連接電路”沒出現(xiàn)?
作者: 三水客    時(shí)間: 2018-8-27 11:00
“連接電路”,無圖?
作者: 三水客    時(shí)間: 2018-8-27 11:09
本節(jié)圖片有點(diǎn)混亂
作者: net2k    時(shí)間: 2020-10-28 16:22
線路圖
作者: wuyiguang    時(shí)間: 2020-12-13 20:49
樓主,我要模擬量的輸出有什么程序嗎?請告訴我。
作者: wuyiguang    時(shí)間: 2020-12-14 21:22
誰有Arduino的mage328p與MLX9014的電壓輸出信號程序。
作者: glinfei    時(shí)間: 2020-12-15 10:31
q221520amlls 發(fā)表于 2016-1-29 10:12
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

估計(jì)開的時(shí)候你讓管腳懸空,所以它可能是1或0,狀態(tài)不一定,可使用內(nèi)部上拉,如pinMode(pushButton, INPUT_PULLUP);然后,你實(shí)際把開關(guān)接地了,所以按下是0.樓主沒想到有人認(rèn)真去做了。
作者: 弓長張    時(shí)間: 2021-5-25 10:31
q221520amlls 發(fā)表于 2016-1-29 10:12
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

應(yīng)該是按鈕的正負(fù)極接反了
作者: 紫電談?wù)?nbsp;   時(shí)間: 2025-5-23 09:24
本教程線路圖

digitial.png (39.42 KB, 下載次數(shù): 0)

digitial.png





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费国产黄网站在线观看视频 | 成人欧美一区二区三区黑人孕妇 | 成人免费精品视频 | 日韩电影中文字幕在线观看 | 亚洲欧洲日本国产 | 欧美三区在线观看 | 亚洲综合一区二区三区 | 成人免费在线观看视频 | 国产精品一区二区三区久久久 | 国产成人免费视频 | 欧美日韩大陆 | 国产在线对白 | 一级黄色影片在线观看 | 久久久久资源 | 亚洲精品一区二区另类图片 | 欧美日韩在线观看一区二区三区 | 日韩成人免费 | 国内精品视频在线 | 成人免费观看男女羞羞视频 | 久久精品久久久久久 | 国产精品99久久久久久宅男 | www.亚洲区| 人人看人人干 | 91文字幕巨乱亚洲香蕉 | 黑色丝袜三级在线播放 | 久久天天综合 | 欧美久久久 | 一区免费| 成人片免费看 | 亚洲网站免费看 | 91观看 | 91爱爱·com | 在线国产欧美 | 午夜伦4480yy私人影院 | 免费在线成人网 | 亚洲男人的天堂网站 | 国产伦精品一区二区三区精品视频 | 久久久久久国产精品 | 日韩免费视频一区二区 | 麻豆视频在线看 | 日韩欧美一区二区三区免费看 |