|
1.實(shí)驗(yàn)?zāi)康?/strong>
1. 學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡(jiǎn)單I/O 接口的方法。
2. 進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計(jì)方法。
3. 學(xué)習(xí)光敏模塊的工作原理。
4. 學(xué)習(xí)聲音的工作原理。
5. 學(xué)習(xí)F40 7Micropython開發(fā)板與聲音傳感器與光敏傳感器的接線方法以及利用聲音與光控制發(fā)光二極管亮滅。
1.jpg (445.19 KB, 下載次數(shù): 35)
下載附件
2018-8-8 16:16 上傳
407詳情2.png (30.48 KB, 下載次數(shù): 28)
下載附件
2018-8-8 16:16 上傳
2.所需元器件
F407 Micropython開發(fā)板板子一塊
聲音傳感器一個(gè)
光敏傳感器一個(gè)
面包板一塊
發(fā)光二極管若干
數(shù)據(jù)線一條
杜邦線若干
3.光敏傳感器模塊工作原理
1.光敏電阻模塊對(duì)環(huán)境光線最敏感,一般用來(lái)檢測(cè)周圍環(huán)境的光線的亮度,觸發(fā)單片機(jī)或繼電器模塊等;
2.模塊在環(huán)境光線亮度達(dá)不到設(shè)定閾值時(shí),DO端輸出高電平,當(dāng)外界環(huán)境光線亮度超過(guò)設(shè)定閾值時(shí),DO端輸出低電平;
3.DO輸出端可以與單片機(jī)直接相連,通過(guò)單片機(jī)來(lái)檢測(cè)高低電平,由此來(lái)檢測(cè)環(huán)境的光線亮度改變;
4.DO輸出端可以直接驅(qū)動(dòng)本店繼電器模塊,由此可以組成一個(gè)光控開關(guān)。
3.png (226.34 KB, 下載次數(shù): 34)
下載附件
2018-8-8 16:16 上傳
光敏傳感器
4.聲音傳感器模塊工作原理
1.聲音模塊對(duì)環(huán)境聲音強(qiáng)度最敏感,一般用來(lái)檢測(cè)周圍環(huán)境的聲音強(qiáng)度。
2.模塊在環(huán)境聲音強(qiáng)度達(dá)不到設(shè)定閾值時(shí),OUT輸出高電平,當(dāng)外界環(huán)境聲音強(qiáng)度超過(guò)設(shè)定閾值時(shí),模塊OUT輸出低電平;
3.小板數(shù)字量輸出OUT可以與單片機(jī)直接相連,通過(guò)單片機(jī)來(lái)檢測(cè)高低電平,由此來(lái)檢測(cè)環(huán)境的聲音;
4.小板數(shù)字量輸出OUT可以直接驅(qū)動(dòng)本店繼電器模塊,由此可以組成一個(gè)聲控開關(guān);
4.png (148.8 KB, 下載次數(shù): 30)
下載附件
2018-8-8 16:16 上傳
聲音傳感器 硬件接線方法
上面我們已經(jīng)知道光敏傳感器跟聲音傳感器的工作原理,以及三根針腳的作用,那么我們只需講電源正極與電源負(fù)極跟我們F407Micropython開發(fā)板的3.3V跟GND連接起來(lái),然后將光敏傳感器與聲音傳感器的信號(hào)輸出針腳連接到我們F407 Micropython開發(fā)板,本人聲音傳感器信號(hào)輸出引腳連接的是F407 Micropython開發(fā)板的Y1針腳,光敏傳感器信號(hào)輸出引腳連接TOYBoard的Y2針腳,這樣傳感器就連接完畢,然后我們將發(fā)光數(shù)碼管的正極插入面包板正極上,負(fù)極插入面包板的縱向插孔里(a,b,c,d,e,f,g,h,i,j),然后用杜邦線將負(fù)極連接到F407 Micropython開發(fā)板的GND上,燈的正極連接到我們TOYBoard的X1針腳,然后我們聲音大小以及光亮強(qiáng)度來(lái)控制X1針腳輸出高電平或者低電平來(lái)控制發(fā)光二極管的亮滅,接線ok后,編寫main.py,這樣我們的DIY聲光電控開關(guān)就完成了。
5.源代碼
- # main.py -- put your code here!
- import pyb
- from pyb import Pin
- voice = Pin('Y1',Pin.IN)
- light = Pin('Y2',Pin.IN)
- led = pyb.Pin("X1",pyb.Pin.OUT_PP)
- while 1:
- if light.value()==1:
- if voice.value()==1:
- led.value(0)
- pyb.LED(2).off()
- pyb.LED(3).off()
- pyb.LED(4).on()
- else:
- pyb.LED(3).off()
- pyb.LED(4).off()
- led.value(1)
- pyb.LED(2).on()
- pyb.delay(5000)
- else:
- pyb.LED(3).on()
- pyb.LED(2).off()
- pyb.LED(4).off()
- led.value(0)
復(fù)制代碼
|
|