找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5945|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

python開(kāi)發(fā)實(shí)例:TPYBoard開(kāi)發(fā)板DIY聲光電控開(kāi)關(guān)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:130183 發(fā)表于 2016-11-21 16:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 bodasister 于 2016-11-21 16:58 編輯

        聲光控開(kāi)關(guān)在我們?nèi)粘I钪幸呀?jīng)非常普遍了,幾乎每個(gè)小區(qū)的樓道里都能有聲光控開(kāi)關(guān)的影子。現(xiàn)在也逐漸出現(xiàn)了聲光控的小夜燈,晚上起夜再也不用擔(dān)心太黑、刺眼、找不到開(kāi)關(guān)了!下面就教大家用Python開(kāi)發(fā)板——TPYBoard來(lái)做一個(gè)簡(jiǎn)易的聲光控小燈吧!

詳細(xì)的教程實(shí)例請(qǐng)參考TPYBoard官網(wǎng)網(wǎng)站:http://www.micropython.net.cn


視頻演示請(qǐng)參考QQ交流群:157816561

https://v.qq.com/x/page/f0348ry1xyi.html

這次用的到主要MCU依然是能跑Python的開(kāi)發(fā)板TPYBoard,這款DIY套件在TPYBoard官網(wǎng)上有售,感興趣的朋友可以買(mǎi)回來(lái)DIY哦!

購(gòu)買(mǎi)網(wǎng)址



1.實(shí)驗(yàn)?zāi)康?/font>

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í)TPYboard與聲音傳感器與光敏傳感器的接線方法以及利用聲音與光控制發(fā)光二極管亮滅。

2.所需元器件

  TPYBoard板子一塊

   聲音傳感器一個(gè)

   光敏傳感器一個(gè)

   面包板一塊

   發(fā)光二極管若干

   數(shù)據(jù)線一條

   杜邦線若干

3.光敏傳感器模塊工作原理

   1.光敏電阻模塊對(duì)環(huán)境光線最敏感,一般用來(lái)檢測(cè)周?chē)h(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è)光控開(kāi)關(guān)。


光敏傳感器

4.聲音傳感器模塊工作原理

   1.聲音模塊對(duì)環(huán)境聲音強(qiáng)度最敏感,一般用來(lái)檢測(cè)周?chē)h(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è)聲控開(kāi)關(guān);


5.硬件接線方法

上面我們已經(jīng)知道光敏傳感器跟聲音傳感器的工作原理,以及三根針腳的作用,那么我們只需講電源正極與電源負(fù)極跟我們TPYBoard的3.3V跟GND連接起來(lái),然后將光敏傳感器與聲音傳感器的信號(hào)輸出針腳連接到我們TPYBoard,本人聲音傳感器信號(hào)輸出引腳連接的是TPYBoard的Y1針腳,光敏傳感器信號(hào)輸出引腳連接TOYBoard的Y2針腳,這樣傳感器就連接完畢,然后我們將發(fā)光數(shù)碼管的正極插入面包板正極上,負(fù)極插入面包板的縱向插孔里(a,b,c,d,e,f,g,h,i,j),然后用杜邦線將負(fù)極連接到TPYBoard的GND上,燈的正極連接到我們TOYBoard的X1針腳,然后我們聲音大小以及光亮強(qiáng)度來(lái)控制X1針腳輸出高電平或者低電平來(lái)控制發(fā)光二極管的亮滅,接線ok后,編寫(xiě)main.py,這樣我們的DIY聲光電控開(kāi)關(guān)就完成了。


6.源代碼

  1. <font color="#444444"><font color="#3d464d"># main.py -- put your code here!
  2. import pyb
  3. from pyb import Pin

  4. voice = Pin('Y1',Pin.IN)
  5. light = Pin('Y2',Pin.IN)
  6. led = pyb.Pin("X1",pyb.Pin.OUT_PP)

  7. while 1:
  8.     if light.value()==1:
  9.         if voice.value()==1:
  10.             led.value(0)
  11.             pyb.LED(2).off()
  12.             pyb.LED(3).off()
  13.             pyb.LED(4).on()     
  14.         else:
  15.             pyb.LED(3).off()
  16.             pyb.LED(4).off()
  17.             led.value(1)
  18.             pyb.LED(2).on()
  19.             pyb.delay(5000)
  20.     else:
  21.         pyb.LED(3).on()
  22.         pyb.LED(2).off()
  23.         pyb.LED(4).off()
  24.         led.value(0)</font></font>
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表