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

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

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

基于Raspberry 3 B +的自動點唱機(jī)的制作教程

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-04 10:16 ? 次閱讀

步驟1:Raspberry部件說明:

Raspi必須管理不同的事情:

1)(通過紅外遙控器)到家庭影院的命令

2)音樂文件

3)觸摸屏

4)Arduino的心跳(可管理Wdt(看門狗計時器))

我從16 G SD卡上的Raspbian strech發(fā)行版開始(因為我們只會從SD卡讀取文件,因此不需要使用HDD)。我不會花時間在這部分上,因為網(wǎng)絡(luò)上充斥著有關(guān)它的信息。

讓我們在下一步中查看不同的部分。。..

步驟2:紅外遙控器代碼

由于找不到家庭影院的電路圖,我決定通過遠(yuǎn)程命令驅(qū)動它。

第一步必須完成的工作是學(xué)習(xí)Raspi家庭影院遠(yuǎn)程命令的代碼。

為此,我使用了 Austin Stanton IR代碼

我有一些差異,可能是由于新版本,因為指示者相當(dāng)舊,hardware.conf文件不再存在(至少我沒有找到它)

似乎另外,在tuto中使用的晶體管是PNP晶體管,就我而言,我使用的是2N2222,它是NPN,但結(jié)果是相同的(除了電纜連接?。。。。。。?/p>

引腳分配在/boot/config.txt中給出:

#autorisation de lirc le 2019/07/07

dtoverlay = lirc-rpi,gpio_out_pin = 22,gpio_in_pin = 23

IR LED將如此連接到Raspi的pin22。

重要提示:在學(xué)習(xí)Raspi的代碼時必須使用命令

irrecord --list-namespace

這是我為自動存儲塔創(chuàng)建的文件:

pi @ raspitone:/etc/lirc $ cat lircd.conf

#請花一些時間按照#https://sourceforge.net/p/lirc-remotes/wiki/Check 。..中的描述完成此文件,并通過以下方式將其提供給他人將其發(fā)送到##

#此配置文件是自動生成的

#在2019年5月9日星期四17:33:37使用lirc-0.9.4c(默認(rèn))#使用的命令行:-d/dev/lirc0/root/lircd.conf

#內(nèi)核版本(uname -r):4.14.98-v7 +##遠(yuǎn)程名稱(自配置文件開始):點唱機(jī)

#遠(yuǎn)程設(shè)備的品牌,您所擁有的東西手:#遠(yuǎn)程設(shè)備型號nr:

#遠(yuǎn)程設(shè)備信息網(wǎng)址:

#遠(yuǎn)程設(shè)備是否具有捆綁的捕獲設(shè)備e。 g。,一個

USB加密狗? :

#對于捆綁的USB設(shè)備:usb供應(yīng)商ID,產(chǎn)品ID

#和設(shè)備字符串(使用dmesg或lsusb):

#受控設(shè)備的類型

#(電視,錄像機(jī),音頻,DVD,衛(wèi)星,電纜,HTPC等):

受此遙控器控制的設(shè)備數(shù):

開始使用遙控器

名稱自動點唱機(jī)

位16

標(biāo)志SPACE_ENC | CONST_LENGTH

eps 30

aeps 100

標(biāo)題4470 4496

一個542 1693

零542581

ptrail 553

pre_data_bits 16

pre_data 0xC2CA

差距107863

toggle_bit_mask 0x0

頻率38000

開始代碼

KEY_POWER 0x807F

KEY_AUX 0x8877

KEY_VOLUMEUP 0xCC33

KEY_VOLUMEDOWN 0xDC23

結(jié)束代碼

結(jié)束遠(yuǎn)程

如您所見,我只需要4條命令來驅(qū)動家庭影院

電源(開/關(guān))

AUX =》切換到光輸入通道(因為HC總是在DVD閱讀器上啟動)

和音量+/-

相關(guān)命令通過LIRC命令執(zhí)行:

例如:“ 放棄SEND_ONCE自動點唱機(jī)KEY_VOLUMEUP ”

步驟3:主程序

主程序是用Python編寫的:

由于我是Python的新手,我想可以做很多改進(jìn),但是可以運(yùn)行。。..

具體說明離子:

1)管理圖形屏幕:

為此,我使用的是TKINTER的APPJAR,但針對學(xué)生(我的情況)是文明的,這意味著使用起來容易得多,可能可能性較小,但這足以滿足我的目的。

2)播放mp3文件:

我將mplayer用于python。

3)生成隨機(jī)數(shù)用于以隨機(jī)播放模式播放:

由于我不想每個季度都聽到同一首歌,所以我建立了一個小程序來檢查x以前的數(shù)字列表中是否不存在該數(shù)字(x取決于

據(jù)我所知,python中的randint函數(shù)并不是那么“隨機(jī)”。

4)將“心跳”發(fā)送給Arduino

5)管理文件播放器:

由于Mplayer是異步的,因此當(dāng)文件啟動時,沒有辦法知道Python何時完成(至少我沒有找到簡單的方法)

要解決這個問題,我使用了mplayer命令來給出文件的長度和當(dāng)前文件的進(jìn)度

對于4和5我都使用了Appjar產(chǎn)生定期任務(wù)的可能性(因為appjar是事件程序,這是創(chuàng)建定期事件的一種方式)。函數(shù)是:

#*******************啟動任務(wù)員************** ********

app.registerEvent(taskman)

p.setPollTime(1000)

“任務(wù)管理器”的任務(wù)負(fù)責(zé)人,它是程序中的一個定義,用于管理所有非屏幕事件(播放的文件的結(jié)尾,填充進(jìn)度欄,將心跳發(fā)送給Nano,。..)

啟動后,屏幕如下所示:

以下是程序:(可以通過Notepad ++或Geany打開)

步驟4:Raspberry Part:自動啟動并添加新文件

如果您查看該程序,您會發(fā)現(xiàn)我使用了一些bash文件:

1) Start_jukebox :

實際上,目的是打開家庭影院的電源并切換到D.IN輸入(我的家庭影院中的光學(xué)輸入)

pi @ raspitone:/bin $ cat start_jukebox

#!/bin/bash

激怒SEND_ONCE juke框KEY_POWER

睡眠7

不發(fā)送SEND_ONCE自動點唱機(jī)KEY_AUX

睡眠2

2) stop_jukebox:

關(guān)閉家庭影院電源

pi @ raspitone:/bin $ cat stop_jukebox

#!/bin/bash

請勿發(fā)送SEND_ONCE自動點唱機(jī)KEY_POWER

這兩個bash文件由Python使用 os.system 命令

要啟動Python腳本,我做了一個小bash :

pi @ raspitone:?$ cat dem_jukebox.bash

#!/bin/bash

cd/home/pi

python jukebox_gui.py

對于GUI模式下的自動啟動,我只是在 /etc/xdg/lxsession/中修改了自動啟動文件LXDE-π結(jié)果

的 PI @ raspitone:在/etc/XDG/lxsession/LXDE-pi $ cat自動啟動

@lxpanel --profile LXDE-pi

@pcmanfm --desktop --profile LXDE -pi

@xscreensaver-不飛濺

@lxterminal --command =“ dem_jukebox.bash”

point-rpi

添加新的mp3文件:

要添加新文件,我更喜歡制作一個小的專用Python腳本:

new_song_file.py

我將首先說明系統(tǒng)文件的組織:

所有文件都在/home/中pi

mp3文件存儲在/home/pi/Music 目錄中

每個藝術(shù)家都有自己的子目錄來托管相關(guān)的mp3文件

pi @ raspitone:?/Music/Mike_oldfield $ ls -l 《br》總計760516

-rwxr ----- 1 pi pi 2254923 2017年6月30日A_New_Beginning.mp3

-rwxr ----- 1 pi pi 2691736 6月3日0 2017 Arrival.mp3

-rwxr ----- 1 pi pi 8383244 juin 30 2017 Ascension.mp3

-rwxr ----- 1 pi pi 5410816 juin 30 2017 Blue_Night.mp3

-rwxr ----- 1 pi pi 13125199 juin 30 2017 Castaway_(Instrumental).mp3

-rwxr ----- 1 pi pi 12903583 juin 30 2017 Castaway.mp3

-rwxr ----- 1 pi pi 2969869 juin 30 2017 Celt.mp3

-rwxr ----- 1 pi pi 9047745 juin 30 2017 Chariots_(Instrumental).mp3

-rwxr ----- 1 pi pi 9403263 juin 30 2017 Chariots.mp3

在目錄中的文檔可以找到要播放的文件的內(nèi)置列表。

pi @ raspitone:?/Documents $ cat list.txt

Franz_Ferdinand/Michael_live.mp3

Franz_Ferdinand/evil_and_a_heathen.mp3

Franz_Ferdinand/Walk_Away_live。 mp3

Franz_Ferdinand/love_and_destroy.mp3

Franz_Ferdinand/his_fffire。 mp3

Franz_Ferdinand/eleanor_put_your_boots_on.mp3

Franz_Ferdinand/missing_you.mp3

Franz_Ferdinand/this_fire_(playgroup_remix).mp3

Franz_Ferdinand/Jacqueline.mp3

我們還可以找到播放列表數(shù)據(jù) (但這是由Python腳本構(gòu)建的)

小型Python腳本在格式化后將新音樂(保存在“音樂”中)添加到list.txt中UNIX格式的標(biāo)題

以下是腳本:(可以通過Notepad ++或Geany打開)

第5步:通過Arduino Nano進(jìn)行電源管理

因為我想簡單地開始一些事情,所以我決定通過一個小型的nano來完成:

原理:

按下開始按鈕時,設(shè)備都是戰(zhàn)俘ered后,nano啟動(1或2秒),并通過觸發(fā)繼電器使按鈕觸點分路來接管電源管理。

然后,nano等待35秒以接收來自Raspberry的心跳(意味著啟動過程完成并且自動存儲塔程序已運(yùn)行。)

只要nano接收到心跳,它將保持繼電器打開(看門狗計時器)

如果不再有心跳(表示自動存儲塔)程序已停止)Nano等待20秒(以確保raspi完全停止)以釋放功率繼電器。

自動存儲塔已完全關(guān)閉

我添加了一個開關(guān)以激活nano的輸入以指示維護(hù)模式(我使用自動存儲塔通過ssh和vnc管理其他raspi服務(wù)器)。 Nano然后停用看門狗進(jìn)程

備注:

Raspi的心跳輸入需要下拉(但Nano認(rèn)為Raspi的3.3V為高電平)

可以用NE555完成,但是我很生氣,抽屜里總是裝有nano ?。。?!

這是簡短的C程序(可以用Notepad ++打開)

步驟6:布線

用于屏幕:

一個HDMI電纜和USB電纜在Raspi上用于供電和驅(qū)動屏幕。

對于前面板:

還從Raspi連接了USB電纜,以便可以上傳新的文件或進(jìn)行備份。

從Nano連接USB電纜,以便能夠訪問軟件(必要時進(jìn)行修改)

我還在樹莓派上插入了無線鍵盤加密狗無需使用外部USB插頭即可進(jìn)行維護(hù)

由于使用了Raspberry和Arduino,因此布線非常簡單。

全部位于條形矩陣板上。

使用樹莓2的GPIO:

Pin22(用于IR LED)

Pin 27(用于在Arduino上進(jìn)行心跳)

在Arduino

引腳2用作Raspi的心跳的中斷引腳。

引腳3至5用于驅(qū)動LED的(啟動,WDDT,維護(hù))。

引腳6是維護(hù)開關(guān)。

Pin 7輸出到繼電器屏蔽罩。

以下是壓條文件:

第7步:盒子

由于功率放大器和所用揚(yáng)聲器的不同,我不會做太多描述。

作為信息,家庭影院位于電視的底部。盒子。

只需放在揚(yáng)聲器上方:

1個低音揚(yáng)聲器

2個中型揚(yáng)聲器,我對其進(jìn)行了修改以將它們插入包裝盒中。

打開頂部:

帶有屏幕的前面板,LED,開關(guān)和USB插頭。

木頭:

對于揚(yáng)聲器,側(cè)面我用18毫米木板圍起來。

正面是10毫米膠合板,帶40毫米螺釘。

為便于布線和維護(hù)(如果需要! !?。┪覍㈦娐贩旁谇懊姘搴竺娴某閷现?/p>

為避免過熱,在后面板的底部做了一個大孔,并在后面板上放置了一個5V風(fēng)扇(8厘米)

上面的圖片只是一個想法。

所以,就是這樣?。。。。。。。?!

責(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)注

    116

    文章

    1679

    瀏覽量

    105257
收藏 人收藏

    評論

    相關(guān)推薦

    名單公布!樹莓派5(Raspberry Pi 5)開發(fā)板免費試用!??!

    名單公布: jinsheng、華仔stm32 樹莓派5(Raspberry Pi 5)新主板采用2.4GHz四核64位Arm Cortex-A76處理器,擁有512KB的L2緩存和2MB的共享L3
    發(fā)表于 06-27 15:40

    如何將CYKIT-028 TFT模塊與Raspberry Pi和ESP32微控制器結(jié)合使用?

    我目前正在探索如何將 CYKIT-028 TFT 模塊與 Raspberry Pi 和 ESP32 微控制器結(jié)合使用。 不過,在選擇集成開發(fā)環(huán)境(IDE)和使用 PSOC Creator 的必要性
    發(fā)表于 05-21 07:36

    如何用Arduino制作一個簡易自動喂魚器

    如果你家里養(yǎng)有魚,并想找到一種自動化喂食的方法,這個項目可能會對你有所啟發(fā)。 在這個教程中,作者將展示如何制作自己的基于Arduino的自動喂魚器,讓小魚不在餓肚子。 自動喂魚器的
    發(fā)表于 03-28 11:25

    基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項目

    今天小拜年給大家?guī)淼氖莵碜悦绹腗aker Rob Lauer的基于樹莓派5的蜂窩網(wǎng)絡(luò)項目,了解如何為新的 Raspberry Pi 5 單板計算機(jī)添加低帶寬蜂窩連接。
    的頭像 發(fā)表于 12-25 10:55 ?1055次閱讀
    基于<b class='flag-5'>Raspberry</b> Pi 5的蜂窩物聯(lián)網(wǎng)項目

    RP2040和Raspberry Pi的區(qū)別

    作為 Raspberry Pi 基金會推出的首款微控制器產(chǎn)品,RP2040 標(biāo)志著以單板計算機(jī) (SBC) 而聞名的 Raspberry Pi 基金會的新方向。RP2040 將 Raspberry
    的頭像 發(fā)表于 11-16 17:37 ?783次閱讀
    RP2040和<b class='flag-5'>Raspberry</b> Pi的區(qū)別

    國外大神點評:Orange Pi 3BRaspberry Pi 4最有潛力的替代品,然而價格幾乎只有一半~

    主要觀點:·與RaspberryPi4B相比,OrangePi3B提供了更多的連接選項和存儲能力,適合有特殊需求的高級用戶?!aspberryPi在市場上占據(jù)主導(dǎo)地位,擁有更大的用戶群、豐富的教育
    的頭像 發(fā)表于 11-15 18:44 ?531次閱讀
    國外大神點評:Orange Pi <b class='flag-5'>3B</b>是<b class='flag-5'>Raspberry</b> Pi 4最有潛力的替代品,然而價格幾乎只有一半~

    raspberry pi 0應(yīng)多少伏供電?

    raspberry pi 0 5V 2A供電板太熱,5V 1A可以嗎
    發(fā)表于 11-07 06:52

    3D全息投影的制作教程

    電子發(fā)燒友網(wǎng)站提供《3D全息投影的制作教程.doc》資料免費下載
    發(fā)表于 11-06 17:07 ?3次下載
    <b class='flag-5'>3</b>D全息投影的<b class='flag-5'>制作</b>教程

    如何制作單片機(jī)太陽能自動追光系統(tǒng)?

    如何制作單片機(jī)太陽能自動追光系統(tǒng)
    發(fā)表于 11-03 07:57

    貿(mào)澤成為Raspberry Pi的原廠授權(quán)代理商

    2023 年10 月16 日 – 專注于引入新品的全球半導(dǎo)體和電子元器件授權(quán)代理商貿(mào)澤電子 (Mouser Electronics) 即日起為世界各地的設(shè)計工程師、創(chuàng)客和玩家提供Raspberry
    發(fā)表于 10-19 15:17 ?431次閱讀

    加熱和冷卻樹莓派5(Raspberry Pi5)這是真嘞?

    每當(dāng)發(fā)布新一代的樹莓派(Raspberry Pi)時,熱控制問題都會引發(fā)廣泛討論。人們都在思考是否有必要采取措施以控制熱量,以及如果需要,如何最有效地實現(xiàn)。而這一次,隨著樹莓派5(Raspberry
    的頭像 發(fā)表于 10-13 14:41 ?787次閱讀
    加熱和冷卻樹莓派5(<b class='flag-5'>Raspberry</b> Pi5)這是真嘞?

    Raspberry Pi 3 官方套件入門指南

    Raspberry Pi 3套件介紹Raspberry Pi 3套件安裝Raspberry Pi 3
    發(fā)表于 10-09 07:53

    【樹莓派Pi5】樹莓派 Raspberry Pi 5 正式發(fā)布!

    Raspberry Pi 4 的巔峰,這是 Raspberry Pi 系列計算機(jī)的最新力作。新一代 CPU 性能提升 2-3 倍,GPU 大幅升級,攝像頭、顯示屏和 USB 接口都得到了全面改進(jìn)。而這一次的接口
    的頭像 發(fā)表于 09-28 17:30 ?1779次閱讀
    【樹莓派Pi5】樹莓派 <b class='flag-5'>Raspberry</b> Pi 5 正式發(fā)布!

    完整版Raspberry Pi樹莓派電路圖

    完整版Raspberry Pi樹莓派電路圖大全
    發(fā)表于 09-25 08:00

    Raspberry Pi樹莓派4 Model B產(chǎn)品介紹

    免費分享Raspberry Pi樹莓派 4 Model B產(chǎn)品簡介、機(jī)械制圖、示意圖
    發(fā)表于 09-25 07:49