女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣使樹莓派進(jìn)入房間時播放音樂

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-29 11:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您是否曾經(jīng)想過個人歡迎回家?有了Raspberry Pi和一些簡單的組件,您就可以!在這個簡單的項目中,我們將使用簧片開關(guān)在門打開時觸發(fā)主題曲。盡管您可以使用相同的電路在該項目中使用幾乎任何其他微控制器,但在這里我們將使用Raspberry Pi作為控制器。這是一個演示。

您將需要

您可能已經(jīng)擁有制作所需的所有零件,除了簧片開關(guān)(大約$ 2-3),或者您可以得到一包5個,剛好超過8美元。

一個Raspberry Pi(任何型號都可以使用)。

1 x 220歐姆電阻

1 x 1K歐姆電阻。

3 x 10K歐姆電阻。

1 x磁簧開關(guān)。

1 x LED

2個按鈕開關(guān)。

面包板。

連接線。

電腦揚聲器或類似產(chǎn)品。

進(jìn)入房間后,我們將使用Raspberry Pi播放歌曲,并在面包板上設(shè)計帶有按鈕的電路以延遲激活它,并停止程序。

該項目雖然主要是為了娛樂,但它涵蓋了DIY家庭自動化以及DIY家庭安全中許多應(yīng)用程序的基礎(chǔ)。

入門

讓我們從制作電路開始。確保您的Pi沒電,并按如下所示設(shè)置電路:

怎樣使樹莓派進(jìn)入房間時播放音樂

LED連接到我們pi的引腳7。兩個按鈕開關(guān)分別連接到引腳11和13,簧片開關(guān)連接到引腳15。我們的電源流向引腳1(3v3)和引腳6(Gnd)。

請確保檢查所有內(nèi)容均在正確的位置。

在測試該項目時,它可能有助于將簧片開關(guān)置于您的面前,以便您輕松切換它打開或關(guān)閉。在這種情況下,舌簧開關(guān)已經(jīng)安裝在門上方。項目啟動并運行后,您可以使用磁帶將開關(guān)暫時連接到門上,或者如果您更有信心,可以將其更永久地連接以用于將來的項目中!

將Pi的3.5mm插孔輸出連接到揚聲器系統(tǒng)。一旦所有內(nèi)容放在一起,它應(yīng)該看起來像這樣:

請注意,此處使用的面包板具有電源軌,與Fritzing圖相反

現(xiàn)在打開您的Pi的電源,并使用SSH訪問它,以便我們可以訪問終端。如果您不確定如何執(zhí)行此操作,本指南可以為您提供幫助。如果您將Raspberry Pi與顯示器,鼠標(biāo)和鍵盤一起使用,請?zhí)^此步驟并打開終端。

在開始之前,值得檢查您是否最新。在終端中輸入sudo apt-get update。

現(xiàn)在我們可以繼續(xù)讓Pi與電路進(jìn)行通訊了。

測試設(shè)置

開始,讓我們使用一個簡單的程序檢查電路。如果您確信到目前為止一切都正確,您可以跳過此步驟,盡管我建議您這樣做,因為這樣可以避免以后出現(xiàn)頭痛。

如果您以前從未使用過Python編程并且感到有點畏縮,有很多很棒的網(wǎng)站可以幫助您入門。

在終端中,創(chuàng)建一個新腳本:

nano test.py

打開后,將此代碼添加到文件中,然后按Ctrl-C退出,并遵循保存對話框:

#This code was written for an article on www.MakeUseOf.com by Ian Buckley.

import RPi.GPIO as GPIO

import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7,GPIO.OUT)

GPIO.setup(11,GPIO.IN)

GPIO.setup(13,GPIO.IN)

GPIO.setup(15,GPIO.IN)

while True:

GPIO.output(7,GPIO.HIGH)

if (GPIO.input(11)==1):

print(“Button on GPIO 11”)

time.sleep(1)

if (GPIO.input(13)==1):

print(“Button on GPIO 13”)

time.sleep(1)

if (GPIO.input(15)==1):

print(“Button on GPIO 15”)

time.sleep(1)

GPIO.cleanup()

此代碼讀取按鈕的值并打印到當(dāng)它們改變時的屏幕。兩個按鈕具有下拉電阻,因此按下時它們報告為高電平。只要其隨附的磁鐵閉合,磁簧開關(guān)就會報告為HIGH。

運行程序:

python test.py

當(dāng)您按下兩個按鈕并將磁鐵從簧片開關(guān)上拉開時,您應(yīng)該會看到LED亮起,并向屏幕報告。如果您在按按鈕時沒有收到反饋,請再次檢查電路,并確保一切均已連接。完成測試后,請按 CTRL-C 停止程序。

現(xiàn)在我們可以編寫一個簡單的程序設(shè)置,觸發(fā)和重置我們的門傳感器。我們將遍歷各部分的代碼,并簡要說明每個部分的功能,但是如果您想向下滾動完整的代碼以查看完整的內(nèi)容,則可以使用。

我們需要從導(dǎo)入一些模塊開始:

import Rpi.GPIO as GPIO

import pygame.mixer

import time

我們將使用 Pygame 模塊播放音樂。它是Raspbian Jessie的標(biāo)準(zhǔn)配置,并且是編寫Python游戲和許多其他出色項目所需的一切的強大庫。

我們將使用名為 active 的變量決定我們的系統(tǒng)是否處于活動狀態(tài)。讓我們定義幾個為我們執(zhí)行此操作的函數(shù):

def activeSetup():

global active

active=0

print(“Currently Not Active”)

def activeState():

global active

if active==1:

active=0

GPIO.output(7,GPIO.LOW)

print(“Currently Not Active”)

elif active==0:

print (“Activating in 10 seconds”)

for x in range(0,10):

GPIO.output(7,GPIO.HIGH)

time.sleep(0.5)

GPIO.output(7,GPIO.LOW)

time.sleep(0.5)

active=1

GPIO.output(7,GPIO.HIGH)

print(“Currently Active”)

else: return

此處的第一個函數(shù)創(chuàng)建一個名為 active 的變量,并將其設(shè)置為0。給活動狀態(tài)一個數(shù)值意味著,如果您打算以后擴(kuò)展程序以具有不同的活動狀態(tài),則可以對它們進(jìn)行相應(yīng)編號。盡管它可能不是世界上最好的Python編程,但對于這個項目來說已經(jīng)足夠了。

調(diào)用時的第二個函數(shù)檢查系統(tǒng)是否處于活動狀態(tài)(或 active == 1 )。如果是,它將設(shè)置系統(tǒng)為非活動狀態(tài)( active == 0 ),關(guān)閉LED并打印到控制臺。如果不是,那么它會為您提供10秒鐘的倒數(shù)時間,使其離開LED閃爍的房間,然后繼續(xù)顯示系統(tǒng)處于活動狀態(tài)。

現(xiàn)在,我們可以定義一個函數(shù)來觀察我們的磁簧開關(guān):

def watchDoor():

global playing

playing = False

while True:

if active==1 and GPIO.input(15)==1 and playing == False:

playing=True

pygame.mixer.music.play()

if GPIO.input(13)==1:

print(“Stop button pressed: Exiting”)

pygame.mixer.music.stop()

break

if GPIO.input(11)==1:

activeState()

time.sleep(0.5)

我們在這里創(chuàng)建了另一個名為 playing 的變量-只是為了阻止程序嘗試在出現(xiàn)以下情況時反復(fù)開始播放

在while循環(huán)中,第一個if語句開始播放音樂(我們還沒有音樂,但不用擔(dān)心,它來了)。僅當(dāng)系統(tǒng)處于活動狀態(tài),簧片開關(guān)打開且尚未播放時,音樂才能開始播放。

第二個if語句用于退出按鈕。如果按下此按鈕,音樂將停止并且程序?qū)⑼顺觥?/p>

第三個if語句用于切換系統(tǒng)是否處于活動狀態(tài)。此處的 time.sleep 功能是防止在按下按鈕時讀取多個按鈕。

現(xiàn)在是時候設(shè)置Pi的引腳了。

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7, GPIO.OUT,initial=GPIO.LOW)

GPIO.setup(11,GPIO.IN)

GPIO.setup(13,GPIO.IN)

GPIO.setup(15,GPIO.IN)

如果您在使用Pi之前已經(jīng)做過任何實驗,那么您應(yīng)該已經(jīng)熟悉了。引腳7設(shè)置中的 initial = GPIO.LOW 參數(shù)將在初始化后立即將其設(shè)置為低電平。

現(xiàn)在,我們可以調(diào)用函數(shù),將系統(tǒng)設(shè)置為不

activeSetup()

音樂大師!

這時,我們應(yīng)該開始考慮要播放的音樂。您可以選擇所需的任何音樂文件,但是我們現(xiàn)在將選擇適合所有人的內(nèi)容。如果您觀看YouTube,您可能已經(jīng)很熟悉Kevin MacLeod的音樂。讓我們下載他的一首美妙的樂曲,稱為“獨眼大師”。這些內(nèi)容以及他網(wǎng)站上的許多音樂均已獲得知識共享(Creative Commons)的許可,并且有很多充分的理由將這些許可的內(nèi)容用于您的項目。

回到我們的代碼中,我們需要啟動Pygame混音器并加載我們的音樂。

pygame.mixer.init(44100,-16,2,1024)

pygame.mixer.music.set_volume(1.0)

name = “One-eyed Maestro.mp3”

pygame.mixer.music.load(name)

print(“Loaded track - ”+ str(name))

此塊的第一行啟動 Pygame 混音器。括號中的最后一個參數(shù)是緩沖區(qū),該緩沖區(qū)控制播放聲音的延遲。如果以后播放音樂時出現(xiàn)斷斷續(xù)續(xù)的播放,請嘗試將此數(shù)字增加到4096。在Pi 3上可以正常使用的設(shè)置。

如果將音樂文件下載到其他目錄,您的 door.py 程序,定義名稱變量時需要在方括號內(nèi)提供完整路徑。

現(xiàn)在剩下要做的就是建立一個循環(huán)

while True:

if(GPIO.input(13)==1):

print(“Stop button pressed: Exiting”)

pygame.mixer.music.stop()

break

if(GPIO.input(11)==1):

activeState()

time.sleep(0.5)

if(active==1):

watchDoor()

break

GPIO.cleanup()

此while循環(huán)等待來自任一按鈕的輸入,然后退出或?qū)顟B(tài)更改為活動狀態(tài)相應(yīng)地。如果活動狀態(tài)變?yōu)?,則將調(diào)用我們之前定義的 watchDoor 函數(shù),并且在下次打開門時將播放我們的樂曲。我們還調(diào)用 GPIO.cleanup()來重置退出時的引腳,這通常是對Raspberry Pi上所有編程的一個好習(xí)慣。

這就是我們要做的一切啟動并運行該項目,下面是完整的代碼:

import RPi.GPIO as GPIO

import pygame.mixer

import time

def activeSetup():

global active

active=0

print(“Currently Not Active”)

def activeState():

global active

if active==1:

active=0

GPIO.output(7,GPIO.LOW)

print(“Currently Not Active”)

elif active==0:

print (“Activating in 10 seconds”)

for x in range(0,10):

GPIO.output(7,GPIO.HIGH)

time.sleep(0.5)

GPIO.output(7,GPIO.LOW)

time.sleep(0.5)

active=1

GPIO.output(7,GPIO.HIGH)

print(“Currently Active”)

else: return

def watchDoor():

global playing

playing = False

while True:

if active==1 and GPIO.input(15)==1 and playing == False:

playing=True

pygame.mixer.music.play()

if GPIO.input(13)==1:

print(“Stop button pressed: Exiting”)

pygame.mixer.music.stop()

break

if GPIO.input(11)==1:

activeState()

time.sleep(0.5)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7, GPIO.OUT,initial=GPIO.LOW)

GPIO.setup(11,GPIO.IN)

GPIO.setup(13,GPIO.IN)

GPIO.setup(15,GPIO.IN)

activeSetup()

pygame.mixer.init(44100,-16,2,1024)

pygame.mixer.music.set_volume(1.0)

name = “One-eyed Maestro.mp3”

pygame.mixer.music.load(name)

print(“Loaded track - ”+ str(name))

while True:

if(GPIO.input(13)==1):

print(“Stop button pressed: Exiting”)

pygame.mixer.music.stop()

break

if(GPIO.input(11)==1):

activeState()

time.sleep(0.5)

if(active==1):

watchDoor()

break

GPIO.cleanup()

如果您在此處向下滾動以立即獲取完整的代碼,請記住您仍然需要將音樂下載到您的Pi上以使其正常工作!

現(xiàn)在,您應(yīng)該可以正常運行歡迎的主題音樂了!將簧片開關(guān)安裝到門上,然后嘗試一下。令人尷尬的跳舞是可選的,但建議這樣做。

該項目涵蓋了各種形式的家庭監(jiān)控,安全性和自動化的基礎(chǔ)知識,希望它也很有趣!

現(xiàn)在您已經(jīng)走了這么遠(yuǎn),為什么停在那里?您可以添加更多軌道,并讓程序從列表中隨機(jī)選擇一個。您可以添加一個中繼,并在輸入時觸發(fā)其他對象。如果您有家庭音樂系統(tǒng),為什么不為每個房間都準(zhǔn)備主題曲呢?

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    2005

    瀏覽量

    107445
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    樹莓6 傳聞:發(fā)布日期與規(guī)格!

    每當(dāng)我想再為我的收藏增添一款樹莓時,總會在是立即購買還是等待硬件更強大的下一代之間猶豫不決。但新樹莓型號的發(fā)布往往容易被錯過,尤其是在你的信息流被病毒式傳播的貓咪視頻占據(jù)時。因此,
    的頭像 發(fā)表于 07-11 16:21 ?193次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>6 傳聞:發(fā)布日期與規(guī)格!

    【正點原子STM32MP257開發(fā)板試用】5.播放音樂

    前言 感謝正點原子和電子發(fā)燒友論壇提供的這次機(jī)會讓我有機(jī)會體驗這款正點原子STM32MP257開發(fā)板,希望可以借這個機(jī)會好好學(xué)習(xí)一下。 環(huán)境搭建 播放音樂有很多Python庫比如pygame
    發(fā)表于 06-28 14:27

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓

    樹莓是一款小巧便攜的USB供電計算機(jī),可以隱藏起來用于小型項目,如網(wǎng)絡(luò)服務(wù)器或家庭自動化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看樹莓
    的頭像 發(fā)表于 06-26 15:41 ?299次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    搭載代碼的樹莓進(jìn)入國際空間站!

    前言通過歐洲宇航挑戰(zhàn)賽(EuropeanAstroPiChallenge),年輕人通過在國際空間站(ISS)上的樹莓(RaspberryPi)計算機(jī)上運行代碼的獨特體驗,參與計算編程。歐洲宇航
    的頭像 發(fā)表于 06-19 17:11 ?496次閱讀
    搭載代碼的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>進(jìn)入</b>國際空間站!

    樹莓分類器:用樹莓識別不同型號的樹莓

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?407次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識別不同型號的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    樹莓“吉尼斯世界記錄”:將樹莓的性能發(fā)揮到極致的項目!

    樹莓是一款功能強大、體積小巧且高度可定制的設(shè)備,多年來,我們見證了它被應(yīng)用于眾多領(lǐng)域。無論是將其裝入3D打印的經(jīng)典游戲機(jī)外殼,還是簡單地將它隱藏起來作為家庭文件服務(wù)器,我們都報道過在社區(qū)里用樹莓
    的頭像 發(fā)表于 05-22 16:53 ?639次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項目!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1樹莓
    的頭像 發(fā)表于 05-13 16:39 ?433次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    使用TLV320AIC3254EVM-U用PPS控制時候播放音樂,突然中斷,然后又恢復(fù),為什么?

    我使用TLV320AIC3254EVM-U 用PPS 控制時候播放音樂,突然中斷,然后又恢復(fù)。出現(xiàn)頻率很高。用TI的固件并用CS軟件播放時候沒有出現(xiàn)這個問題。 請問大家我需要做什么部分參數(shù)設(shè)置?power tune or 其他?
    發(fā)表于 11-01 07:15

    TPA3116加了MUTE電路后播放音樂音量開到最大喇叭出現(xiàn)雜音怎么解決?

    TPA3116加了MUTE電路后播放音樂音量開到最大喇叭出現(xiàn)雜音(低音最明顯)
    發(fā)表于 10-24 07:23

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    一、樹莓GPIO的用途 樹莓(Raspberry Pi)是一款小巧、功能強大的單板計算機(jī),廣泛應(yīng)用于編程教育、物聯(lián)網(wǎng)項目、家庭媒體中心等領(lǐng)域。GPIO(General Purpos
    的頭像 發(fā)表于 10-22 18:09 ?2676次閱讀

    什么是樹莓樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為學(xué)習(xí)計算機(jī)編程教育而設(shè)計的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?5819次閱讀

    TAS5733L按照初始化的寄存器配置,播放音樂無聲是怎么回事?

    按照貴司提供的初始化的寄存器配置(如附件)設(shè)置,讀取0x05,0x06也是設(shè)定的值。播放音樂此時仍然無聲。 請問,是否還有額外的寄存器需要配置? 謝謝!
    發(fā)表于 10-21 07:41

    樹莓的功能用途是什么

    、科研、工業(yè)控制、物聯(lián)網(wǎng)、多媒體播放、家庭自動化等領(lǐng)域。 樹莓(Raspberry Pi)是一種小型、低成本的單板計算機(jī),由英國的Raspberry Pi基金會開發(fā),其功能和用途非常廣泛。以下是
    的頭像 發(fā)表于 08-30 18:01 ?4601次閱讀

    樹莓裝ubuntu和raspbian哪個更好

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的單板計算機(jī),廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?2836次閱讀

    TPA3116在播放音樂時,聲音非常大時會啪啪響,請問有辦法解決嗎?

    TPA3116在播放音樂時,聲音非常大時(已出現(xiàn)截止失真)會啪啪響,請問有辦法解決么? 用TCD-781曲目測試發(fā)現(xiàn),當(dāng)播放曲目3,4,5時(17hz/0db正弦波),推挽輸出幅度只要超過最大
    發(fā)表于 08-13 08:32