《Arduino零基礎(chǔ)C語(yǔ)言編程》課件-ch5-5. 6 燈光調(diào)節(jié)器-模擬角度傳感器_第1頁(yè)
《Arduino零基礎(chǔ)C語(yǔ)言編程》課件-ch5-5. 6 燈光調(diào)節(jié)器-模擬角度傳感器_第2頁(yè)
《Arduino零基礎(chǔ)C語(yǔ)言編程》課件-ch5-5. 6 燈光調(diào)節(jié)器-模擬角度傳感器_第3頁(yè)
《Arduino零基礎(chǔ)C語(yǔ)言編程》課件-ch5-5. 6 燈光調(diào)節(jié)器-模擬角度傳感器_第4頁(yè)
《Arduino零基礎(chǔ)C語(yǔ)言編程》課件-ch5-5. 6 燈光調(diào)節(jié)器-模擬角度傳感器_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

5.6燈光調(diào)節(jié)器--模擬角度傳感器所謂燈光調(diào)節(jié)器,就是可以自由控制燈的亮度,這里通過(guò)一個(gè)模擬角度傳感器來(lái)改變LED燈的亮度。隨著旋轉(zhuǎn)角度的變化,LED亮度也發(fā)生相應(yīng)改變。角度越大,LED燈也就越亮,相反,角度越小,LED燈也就越暗。這里只是用了小小的LED來(lái)做演示效果,如果想運(yùn)用到生活之中的話,也是同樣的原理。那就先做個(gè)小型的燈光調(diào)節(jié)器吧!基于電位器的旋轉(zhuǎn)角度傳感器,旋轉(zhuǎn)角度從0到300度,使用8位AD可以將電壓細(xì)分為255份,使用10位AD可以將電壓細(xì)分為1024份,與Arduino傳感器擴(kuò)展板結(jié)介使用,可以精確地實(shí)現(xiàn)角度微小變化,可以非常容易地實(shí)現(xiàn)與旋轉(zhuǎn)位置相關(guān)的互動(dòng)效果或制作MIDI樂(lè)器。

模擬角度傳感器還能用到很多地方,比如后面會(huì)接觸的舵機(jī),可以通過(guò)這個(gè)傳感器來(lái)控制轉(zhuǎn)動(dòng)角度,又或者以后有機(jī)會(huì)接觸直流電機(jī),可以嘗試下用角度傳感器來(lái)控制轉(zhuǎn)速等等。

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程15.6燈光調(diào)節(jié)器--模擬角度傳感器所需元件1×數(shù)字食人魚(yú)紅色LED發(fā)光模塊1×模擬角度傳感器

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程25.6燈光調(diào)節(jié)器--模擬角度傳感器硬件連接

模擬角度傳感器->模擬0數(shù)字食人魚(yú)紅色LED發(fā)光模塊->數(shù)字1

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程35.6燈光調(diào)節(jié)器--模擬角度傳感器輸入代碼樣例代碼6://燈光調(diào)節(jié)器 intpotPin=0; //電位器連接到模擬0intledPin=10; //LED連接到數(shù)字10voidsetup(){ pinMode(ledPin,OUTPUT); } voidloop(){intsensorValue=analogRead(potPin); //讀取模擬口0的值//通過(guò)map()把0~1023的值轉(zhuǎn)換為0~255intoutputValue=map(sensorValue,0,1023,0,255);analogWrite(ledPin,outputValue);//給LED寫(xiě)入對(duì)應(yīng)值delay(2);}緩慢旋轉(zhuǎn)電位器,仔細(xì)觀察LED的亮度是否發(fā)生變化。

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程45.6燈光調(diào)節(jié)器--模擬角度傳感器硬件分析(模擬輸入—模擬輸出)在呼吸燈一節(jié),我們已經(jīng)學(xué)會(huì)了如何用數(shù)字引腳的PWM口來(lái)做模擬輸出。這一節(jié)將加入互動(dòng)元素,通過(guò)模擬輸入來(lái)控制模擬輸出。

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程55.6燈光調(diào)節(jié)器--模擬角度傳感器代碼回顧

這里主要講下map函數(shù)。函數(shù)格式如下:map(value,fromLow,fromHigh,toLow,toHigh)map函數(shù)的作用是將一個(gè)數(shù)從一個(gè)范圍映射到另外一個(gè)范圍。也就是說(shuō),會(huì)將fromLow到fromHigh之間的值映射到toLow在toHigh之間的值。map函數(shù)參數(shù)含義:value:需要映射的值fromLow:當(dāng)前范圍值的下限fromHigh:當(dāng)前范圍值的上限toLow:目標(biāo)范圍值的下限toHigh:目標(biāo)范圍值的上限

map的神奇之處還在于,兩個(gè)范圍中的“下限”可以比“上限”更大或者更小,因此map()函數(shù)可以用來(lái)翻轉(zhuǎn)數(shù)值的范圍,可以這么寫(xiě):y=map(x,1,50,50,1);這個(gè)函數(shù)同樣可以處理負(fù)數(shù),請(qǐng)看下面這個(gè)例子:y=map(x,1,50,50,-100);回到代碼中,intoutputValue=map(sensorValue,0,1023,0,255);將模擬口讀到的0~1023的值,轉(zhuǎn)換為PWM口的0~255。

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程65.6燈光調(diào)節(jié)器--模擬角度傳感器舉一反三--互動(dòng)電子鼓用一個(gè)模擬壓電陶瓷震動(dòng)傳感器,簡(jiǎn)單的說(shuō),就是檢測(cè)震動(dòng)的傳感器,原理就是通過(guò)鼓的震動(dòng)來(lái)接收的到不同強(qiáng)弱程度的信號(hào),再把該信號(hào)反饋給控制器,控制器來(lái)實(shí)現(xiàn)燈光變化。

所需元件1×數(shù)字食人魚(yú)紅色LED發(fā)光模塊

1×模擬壓電陶瓷震動(dòng)傳感器

2025/2/7Arduino零基礎(chǔ)C語(yǔ)言編程75.6燈光調(diào)節(jié)器--模擬角度傳感器運(yùn)行效果

用手輕輕按下陶瓷片,隨著按下力的不同,LED呈現(xiàn)出不同的亮度。也可以把壓電陶瓷片固定在電子鼓上,跟著節(jié)奏,燈光隨之舞動(dòng)。如果細(xì)心的話,可以發(fā)現(xiàn)互動(dòng)電子鼓的做法與燈光調(diào)節(jié)器一節(jié)是完全類似的。只是這里變換了一種形式,這也就是傳感

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論