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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 48548|回復: 13
收起左側

Arduino教程-獲取輸入數字信號

  [復制鏈接]
ID:99556 發表于 2015-12-19 21:40 | 顯示全部樓層 |閱讀模式
Hi,大家好!經過前幾次的學習,我們知道了如何讓LED神燈進行各種閃爍。在學習的過程中,了解到Arduino的基礎知識。單從知識構成來說,我們學習了如何向電器元件發送信號,比如向LED發送的各種閃爍的模擬信號和數字信號。接下來呢,我們將試著挑戰一下如何獲取電器元件的輸入信號。
嗯,這一次我們先試著獲取電器元件輸入的數字信號。為了完成此次學習,我們需要從硬件和軟件兩方面做如下準備。
硬件方面 arduino-read-digital-parts.jpg
圖片來源:Arduino電路配件
具體包括如下:
  • Arduino UNO電路板(1塊)
  • 面包板(1塊)
  • 10k電阻(1個)
  • 按鍵開關(1個)
  • 面包線(3根)
猛然看來,比起前幾次來說,一下子多出來不少部件呢!幾個部件都不復雜,簡單做個介紹。以此圖為例,左上方是面包板,是用來連接復雜電路的,以左邊E和F行號為界線,分為上半部分和下半部分,這兩部分互不連通。上下兩部分的橫向引腳互不連通,縱向引腳處于連通狀態。在用面包板連接電路時。
緊挨著面包板的右側是10k的電阻,這個不必細說,很簡單的元器件。再向右看是一個按鍵開關,這次要獲取的數字信號,就是這個部件發出的。最右側是面包線,可以看作是普通的導線。下面中間的那個電路板自然是Arduino UNO了,之前就已經介紹過,這里不必多說。
好!這次用到的硬件就這些。
軟件方面Arduino官方提供的IDE,和之前一樣。
好的!需要準備的東西就這些。下面就開始動手啦!!
連接電路 arduino-ide-new.jpg
圖片來源:Arduino連接開關按鍵電路示意圖
按照圖中所示,將我們準備的元器件連接好。這里有兩點需要注意,第一點是開關按鍵是長方形的,所以要注意插入面包板時的方向。第二點是面包板上下兩部分的引腳連通性,橫向是不連通的,縱向是連通的。
下面是最后一步!
添加幾行代碼最后,我們還需要加入幾行代碼,來獲取按鍵輸入的數字信號。
首先,像之前一樣,新建一個項目窗口。
arduino-menu.jpg
圖片來源:Arduino官方IDE



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

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

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



代碼就這么多!這次又出現了幾個新面孔,下面做一個介紹。Serial.begin方法的作用是設置串行通信的頻率。這里注意一下pinMode方法的第二個參數,在前面幾次點亮LED神燈的教程里,這里都是OUTPUT,這次設置的是INPUT,作用與之前相反。之前是對LED設置狀態,屬于輸出值,這里是從按鍵獲取狀態,屬于輸入值。digitalRead顧名思義,調用時輸入一個引腳號,可讀取這個引腳輸入的信號。Serial.println方法將數值打印到串口進行顯示。
數一數,這次程序中出現的新面孔,一共只有三個!So easy!最后只需要將程序燒入Arduino即可。
arduino-serial.jpg
圖片來源:Arduino官方IDE的文件編輯菜單選項(注意此處不是指Arduino頂部工具欄)
燒入方法點擊上圖中,標有向右指向的箭頭圖標,即可自動完成從編譯到燒入整個過程。如果不出意外,此時程序已經燒入Arduino。單擊上圖最右側的放大鏡圖標,打開串口調試窗口。此時窗口正在不停的輸出數字0,按下Arduino電路板上的按鍵按鈕,如果一切正常,數字0會變為1。

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


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

………后續持續更新中請打開:http://m.zg4o1577.cn/bbs/dpj-41334-1.html
回復

使用道具 舉報

ID:104667 發表于 2016-1-29 10:12 | 顯示全部樓層
你好樓主,為什么我松開按鍵,輸出的數字變為1,按下變為0?
回復

使用道具 舉報

ID:110085 發表于 2016-3-21 22:46 | 顯示全部樓層
reyern
回復

使用道具 舉報

ID:111051 發表于 2016-3-27 19:50 | 顯示全部樓層
請問樓主,Arduino怎么連接wifi模塊呢,需要哪些步驟
回復

使用道具 舉報

ID:206017 發表于 2017-6-11 16:21 | 顯示全部樓層
通俗易懂 好佩服!!比官方的教學還好
回復

使用道具 舉報

ID:53784 發表于 2018-8-25 15:11 | 顯示全部樓層
“連接電路”沒出現?
回復

使用道具 舉報

ID:53784 發表于 2018-8-27 11:00 | 顯示全部樓層
“連接電路”,無圖?
回復

使用道具 舉報

ID:53784 發表于 2018-8-27 11:09 | 顯示全部樓層
本節圖片有點混亂
回復

使用道具 舉報

ID:835694 發表于 2020-10-28 16:22 | 顯示全部樓層
線路圖
回復

使用道具 舉報

ID:859699 發表于 2020-12-13 20:49 | 顯示全部樓層
樓主,我要模擬量的輸出有什么程序嗎?請告訴我。
回復

使用道具 舉報

ID:859699 發表于 2020-12-14 21:22 | 顯示全部樓層
誰有Arduino的mage328p與MLX9014的電壓輸出信號程序。
回復

使用道具 舉報

ID:844772 發表于 2020-12-15 10:31 | 顯示全部樓層
q221520amlls 發表于 2016-1-29 10:12
**** 作者被禁止或刪除 內容自動屏蔽 ****

估計開的時候你讓管腳懸空,所以它可能是1或0,狀態不一定,可使用內部上拉,如pinMode(pushButton, INPUT_PULLUP);然后,你實際把開關接地了,所以按下是0.樓主沒想到有人認真去做了。
回復

使用道具 舉報

ID:337280 發表于 2021-5-25 10:31 | 顯示全部樓層
q221520amlls 發表于 2016-1-29 10:12
**** 作者被禁止或刪除 內容自動屏蔽 ****

應該是按鈕的正負極接反了
回復

使用道具 舉報

ID:1149997 發表于 2025-5-23 09:24 | 顯示全部樓層
本教程線路圖
digitial.png
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草青青草 | 黄色在线免费观看 | 欧美精品一区二区免费 | 中文日本在线 | 欧美xxxx在线 | 久久久久久国产精品免费免费 | 精品二| 久久偷人| 精精久久| 美国a级毛片免费视频 | 91精品久久久久久久久中文字幕 | 黄色一级大片在线免费看产 | 国产99精品 | 亚洲一区在线日韩在线深爱 | 亚洲一区二区三区免费观看 | 91亚洲国产成人久久精品网站 | 中文字幕一区二区三区在线观看 | 在线看免费 | 亚洲精品视频在线看 | 国产成人av免费看 | 超碰精品在线观看 | 国产精品成人一区二区 | 一级美国黄色片 | 中文字幕亚洲一区二区三区 | 麻豆毛片 | 亚洲三级视频 | 久久精品网 | 一区二区三区回区在观看免费视频 | 99精品国自产在线观看 | 福利影院在线看 | 国产福利视频 | 日韩久久久久久 | 黄视频网址 | 一区二区三区四区电影 | 亚洲精品高清视频 | 操操日 | 日本特黄特色aaa大片免费 | 一区二区三区在线免费 | 免费一区二区三区在线视频 | 精品国产1区2区3区 在线国产视频 | 亚洲第1页|