国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Arduino基礎(chǔ)教程:數(shù)字輸出/輸入、模擬輸出/輸入、串口輸出/輸入
所屬分類:Arduino系統(tǒng) 外設(shè)板
上傳用戶:xhq513738
發(fā)布時間: 2012-12-11 10:57
瀏覽:18168次
詳細(xì)說明
摘要:
第一個Arduino程序:數(shù)字輸出
我們知道Arduino的引腳上有數(shù)字量IO和模擬量IO。至于其中它們有什么不同,這里就不再闡述。
而下面將用“點(diǎn)亮一個燈”的簡單程序,說明Arduino的數(shù)字輸出功能。也許很好理解,在單片機(jī)的編程中“點(diǎn)亮一個燈”程序跟寫“Hello World”的程序,兩者有異曲同工之妙。都是占領(lǐng)了硬件編程和軟件編程的TEST地位。
硬件電路連接:將Arduino的第2腳引出來接上1K電阻,將發(fā)光二極管負(fù)極接電阻的另一端,正極接電源(VCC)。
Arduino基礎(chǔ)教程:數(shù)字輸入
在數(shù)字電子的世界中,有輸出,也會有輸入。這跟你在生活中有財(cái)務(wù)支出,也有收入類似。開關(guān)(switch)是一種最基本的輸入形式了。通常我們按一個開關(guān)就能打開電燈,或者按一個開關(guān)打開用電器的電源。開關(guān)的功能是連接或斷開電路。
Arduino的數(shù)字IO口上能讀出兩個狀態(tài)值,一個是高電平(5V),另一個是低電平(0V)。所以我們只要設(shè)計(jì)一個電路能讓Arduino的引腳在高低電平這兩個狀態(tài)值之間切換,就能讓Arduino分辨出開關(guān)的狀態(tài)了。
Arduino基礎(chǔ)教程:模擬輸入
Arduino能對數(shù)字信號進(jìn)行有效的處理和識別,但是生活上很多東西,很多概念都不是一個數(shù)字量。比如說溫度值,就是一個很好的例子,它是一個連續(xù)變化的信號,不可能有0到1的突變。這也是模擬輸入存在的必要性了。
很好理解。我們只要使用傳感器(sensor),將模擬量有效轉(zhuǎn)換為Arduino能夠識別的形式。例如轉(zhuǎn)換成電壓。
再如,一種溫度傳感器能夠?qū)囟戎缔D(zhuǎn)換成0V到5V間的某個電壓,比如0.3V、3.27V、4.99V等等。由于傳感器表達(dá)的是模擬信號,它不會像數(shù)字信號那樣只有簡單的高電平和低電平,而有可能是在這兩者之間的任何一個數(shù)值。至于到底有多少可能的值則取決于模數(shù)轉(zhuǎn)換的精度,精度越高能夠得到的值就會越多。
而Arduino采用的ADC(Analog to Digital Converter),稱模數(shù)轉(zhuǎn)換,每一個模數(shù)轉(zhuǎn)換器的精度都是10bit,也就是說能夠讀取1024(2^10 = 1024)個狀態(tài)。在Arduino的每一個模擬輸入管腳上,電壓的變化范疇是從0V到5V,因此Arduino能夠感知到的最小電壓變化是4.8毫伏(5/1024 = 4.8mV)。
Arduino基礎(chǔ)教程:模擬輸出
既然都有了模擬輸入了,當(dāng)然少不了模擬輸出。還是那個例子,你總吃飯不拉怎么行呢?!開個玩笑,禁止想象!
但也正如你想象的,現(xiàn)實(shí)生活中可能會遇到要輸出0和1之外的數(shù)值。有時候除了開燈,關(guān)燈之外,可能還需要調(diào)光,而調(diào)光也就是模擬的一種輸出方式。
由于Arduino的微控制器只能產(chǎn)生高電平(5V)或者低電平(0V),而不能產(chǎn)生變化的電壓,因此必須采用脈寬度調(diào)制技術(shù)(PWM,Pulse Width Modulation)來模擬電壓變化。
Arduino基礎(chǔ)教程:串口輸出
先這么理解,Arduino是個獨(dú)立的個體,可以說是一個沒有外圍設(shè)備的計(jì)算機(jī)微控制系統(tǒng)。而在一些應(yīng)用的環(huán)境下,我們需要讓Arduino跟其他設(shè)備進(jìn)行通信。在微控制領(lǐng)域,常見的是使用串行通信。我們將通過Arduino連接PC機(jī)進(jìn)行通信,說明串行通信的一個例子:串口輸出功能。
Arduino基礎(chǔ)教程:串口接收
很多時候,我們需要用Arduino接收PC機(jī)下發(fā)的命令,有效的識別后,進(jìn)行相應(yīng)的響應(yīng)。也就是通過PC機(jī)(上位機(jī))控制Arduino(下位機(jī))。
而實(shí)現(xiàn)這一功能 也是通過Arduino的串行口通信來完成的。上一篇文章講了串行口輸出,其實(shí)也就是串行口的一個發(fā)送數(shù)據(jù)功能,而這篇文章,也就是講Arduino串口通信的接收數(shù)據(jù)功能。通過Serial.read()函數(shù),我們可以接收到從串口發(fā)來的數(shù)據(jù)。
一樣的,將Arduino UNO 通過USB線與PC機(jī)連接
詳情見PDF文檔(點(diǎn)擊PDF文檔下載)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
端口寄存器允許在Arduino板上更低級和更快地操縱微控制器的i / o引腳。Arduino板上使用的芯片(ATmega8和ATmega168)有三個端口:
好玩的Arduino,想要開始編程,先來了解幾個基礎(chǔ)知識和編程語言吧
詳解Arduino Uno開發(fā)板的引腳分配圖及定義
Arduino Nano - 開源硬件知識庫
NodeMCU開發(fā)板詳解 (第1章
基于AT89C2051串口的LED數(shù)碼管顯示電路
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服