Cov txheej txheem:

Raspitone: yooj yim siv Jukebox: 7 Cov Kauj Ruam
Raspitone: yooj yim siv Jukebox: 7 Cov Kauj Ruam

Video: Raspitone: yooj yim siv Jukebox: 7 Cov Kauj Ruam

Video: Raspitone: yooj yim siv Jukebox: 7 Cov Kauj Ruam
Video: qhia kom muaj neeg ຕິຕາມkoj tu youtube 2024, Lub Xya hli ntuj
Anonim
Raspitone: yooj yim siv Jukebox
Raspitone: yooj yim siv Jukebox

Nyob zoo, kuv txoj haujlwm tom ntej yog, raws li kuv siv los ua, txoj haujlwm tsis muaj txiaj ntsig zoo:

Qhov no yog jukebox raws li Raspberry 3 B+

Kuv paub, qee yam zoo li no tuaj yeem ua tiav yooj yim nrog lub xov tooj ntawm tes thiab hais lus Bluetooth.

Tab sis rau kuv txoj haujlwm, kuv muaj ob qhov yuav tsum tau ua ua ntej:

Kuv xav ua ib yam dab tsi "vintage".

Thiab tag nrho, muab qhov tseeb tias kuv tus poj niam tsis muaj kev cia siab rau lub khoos phis tawj lossis bluetooth lossis lwm yam los ntawm xyoo pua 21st, (thiab txawm tias 20th), Kuv yuav tsum tau ua qee yam yooj yim heev rau siv ………

Yog li, cov lus qhia tshwj xeeb yog raws li hauv qab no:

Ib zaug nias lub pob kom pib lub tshuab

Lub vijtsam kov (yooj yim heev) los tswj cov nkauj.

Ib qho kov ntawm lub vijtsam kom nres lub tshuab.

Thiab kom muaj lub suab zoo ………

Khoom siv

Rau qhov no kuv siv:

1 Raspberry 3 B+

1 lub tsev xinesmas qub hauv tsev uas tsis muaj txiaj ntsig vim DVD nyeem ntawv OOS (qub Samsung 2.1 nrog lub woofer thiab 2 tus hais lus uas kuv hloov kho kom haum rau lub thawv)

1 HIFIBERRY DIGI+ pawg thawj coj saib (nrog rau qhov tso tawm kom pom rau lub zog Amp)

1 lub peev xwm kov lub vijtsam 7 (kuv lub ntsej muag ua kom yooj yim rau raspberry nrog HDMI cov tswv yim thiab siv tau ntawm USB tab sis ib qho HDMI kov lub vijtsam yuav tsum ua haujlwm)

1 lub hwj chim txuas 5V 5A

1 relay ntaub thaiv npog

1 Arduino nano los tswj lub zog ON/OFF txheej txheem

1 IR coj los tsav lub tsev xinesmas hauv tsev (coj los ntawm 2N2222 NPN transistor)

1 IR tus txais (rau IR cov lej kawm ib feem ntawm txoj haujlwm, Kuv tau txais kuv los ntawm lub qub Multimedia hard disk nrog cov lus txib nyob deb)

3 led ua

1 hloov rau kev saib xyuas hom

1 hloov rau kev ua haujlwm ntawm arduino (thaum lub sijhawm upload cov arduino rov pib dua)

qee qhov txuas JST thiab Dupont

Thiab rau lub thawv

Ntoo thiab plywood (tab sis kuv yuav tsis piav qhia tob txog kev ua lub thawv). tsuas yog hais qhov ntawd, hais txog kev tawg hauv lub thawv, 10 hli plywood thiab 18 hli ntoo yog qhov yuav tsum tau yog tias koj tsis xav pom Jukebox hla chav nyob thaum ua si !!!!

Kauj Ruam 1: Raspberry Tshooj Lus Qhia:

Raspi yuav tsum tswj hwm yam sib txawv:

1) cov lus txib rau xinesmas hauv tsev (ntawm IR chaw taws teeb)

2) cov ntaub ntawv suab paj nruag

3) lub vijtsam kov

4) Lub plawv dhia mus rau Arduino (uas tswj Wdt (saib tus dev timer))

Kuv pib los ntawm Raspbian strech faib rau ntawm 16 G SD daim npav (Raws li peb tsuas yog nyeem cov ntawv los ntawm daim npav SD, kev siv HDD tsis tsim nyog). Kuv yuav tsis siv sijhawm nyob rau ntu no vim tias lub vev xaib muaj kev qhia ntau txog nws..

Cia peb pom qhov sib txawv hauv cov kauj ruam tom ntej….

Kauj Ruam 2: IR Cov Chaw Taws Teeb Codes

Raws li kuv nrhiav tsis tau cov phiaj xwm phiaj xwm hauv tsev xinesmas, Kuv txiav txim siab tsav nws los ntawm cov lus txib nyob deb

Thawj kauj ruam kuv yuav tsum ua kom tiav yog kawm paub Raspi cov lej ntawm Tsev xaum xaum hluav taws xob hauv tsev hais kom ua. Rau qhov kuv tau siv cov lus qhia tau zoo heev hauv Cov Lus Qhia los ntawm Austin Stanton IR cov lej

Kuv muaj qee qhov sib txawv, tej zaum vim yog hloov tshiab raws li cov ntawv qhia yog qhov qub, kho vajtse.conf cov ntaub ntawv tsis muaj (tsawg kawg kuv tsis pom nws)

Nws zoo li kuj tias cov transistor siv hauv tuto yog PNP transistor, rau kuv ib feem kuv siv 2N2222 uas yog NPN tab sis qhov tshwm sim yog tib yam. (Tshwj tsis yog cabling !!!!!!!!)

Kev ua haujlwm tus pin tau muab rau hauv /boot/config.txt:

#autorisation de lirc le 2019-07-08dtoverlay = lirc-rpi, gpio_out_pin = 22, gpio_in_pin = 23

IR LED yuav txuas nrog tus pin 22 ntawm Raspi.

Ib qho lus ceeb toom tseem ceeb: thaum kawm cov lej rau Raspi nws yog qhov yuav tsum tau siv cov ntsiab lus tau teev tseg hauv cov lus txib

irrecord-npe-npe chaw

Nov yog cov ntawv kuv tau tsim rau kuv lub jukebox:

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

# Thov siv sijhawm los ua kom tiav cov ntaub ntawv no raws li tau piav qhia hauv # https://sourceforge.net/p/lirc-remotes/wiki/Check… # thiab ua rau nws muaj rau lwm tus los ntawm kev xa nws mus rau #

# Cov ntaub ntawv teeb tsa no tau txiav tawm ncaj qha

# siv lirc -0.9.4c (default) ntawm Thu Tsib Hlis 9 17:33:37 2019 # Kab hais kom siv: -d /dev /lirc0 /root/lircd.conf

# Kernel version (uname -r): 4.14.98 -v7+ # # Lub npe nyob deb (raws li ntawm cov ntaub ntawv teeb tsa): jukebox

# Hom ntawm cov cuab yeej nyob deb, yam koj tuav hauv koj txhais tes: # Cov cuab yeej siv hluav taws xob qauv tsis muaj:

# Cov ntaub ntawv xov tooj cua deb cov ntaub ntawv url:

# Puas yog cov cuab yeej nyob deb tau muaj pob khoom ntes tau e. g., aw

# usb dongle?:

# Rau pob khoom siv USB: tus lej muag khoom usb, tus lej khoom

# thiab cov hlua ntaus ntawv (siv dmesg lossis lsusb):

# Hom khoom siv tswj

# (TV, VCR, Suab, DVD, Satellite, Cable, HTPC, …):

# Ntaus (s) tswj los ntawm cov chaw taws teeb no:

pib tej thaj chaw deb

npe jukebox

pib 16

chij SPACE_ENC | CONST_LENGTH

ep30 ua

aws 100

npe 4470 4496

ib 5421693

xus 542 581

qab 553

pre_data_bits 16

pre_data 0xC2CA

ua 107863

toggle_bit_mask 0x0

zaus 38000

pib cov lej

KEY_POWER 0x807F

KEY_AUX 0x8877

KEY_VOLUMEUP 0xCC33

KEY_VOLUMEDOWN 0xDC23

kawg cov lis dej num

kawg tej thaj chaw deb

Raws li koj tuaj yeem pom, Kuv tsuas xav tau 4 cov lus txib kom tsav Lub Tsev Xinesmas

Hwj chim (ON/OFF)

AUX => hloov mus rau qhov kho qhov muag nkag mus (raws li HC ib txwm pib ntawm DVD nyeem ntawv)

Thiab Volume +/-

Cov lus txib cuam tshuam tau ua tiav ntawm LIRC cov lus txib:

Piv txwv li: "rov qab SEND_ONCE jukebox KEY_VOLUMEUP"

Kauj Ruam 3: Txoj Haujlwm Tseem Ceeb

Txoj haujlwm tseem ceeb tau sau hauv Python:

Raws li kuv yog tus tshiab hauv Python Kuv twv muaj ntau yam kev txhim kho uas tuaj yeem ua tau, tab sis nws ua haujlwm….

Cov lus qhia tshwj xeeb:

1) tswj lub vijtsam duab:

Txog qhov no, Kuv tau siv APPJAR uas yog TKINTER tab sis muaj kev ncaj ncees rau cov tub ntxhais kawm (kuv cov ntaub ntawv), qhov no txhais tau tias siv tau yooj yim dua, tej zaum tsis muaj peev xwm ua tau, tab sis nws txaus rau kuv lub hom phiaj.

2) ua cov ntawv mp3:

Kuv siv mplayer rau nab hab sej.

3) tsim cov lej tsis raug rau kev ua si hauv hom shuffle:

Raws li kuv tsis xav hnov tib zaj nkauj txhua lub hlis twg, Kuv tau tsim qhov program me me los tshuaj xyuas yog tias tus lej tsis nyob hauv x cov lej yav dhau los (x nyob ntawm qhov ntev ntawm cov npe).

Qhov kev ua haujlwm randint hauv nab hab sej tsis zoo li "random" raws li qhov kuv pom.

4) xa "lub plawv dhia" mus rau Arduino

5) tswj cov ntaub ntawv player:

Raws li Mplayer yog asynchronous, thaum pib cov ntaub ntawv tsis muaj txoj hauv kev los paub txog Python thaum nws ua tiav (tsawg kawg kuv tsis pom txoj hauv kev yooj yim)

Txhawm rau daws qhov uas kuv tau siv mplayer cov lus txib muab qhov ntev ntawm cov ntawv thiab kev nce qib hauv cov ntawv tam sim no

Rau ob qho 4 thiab 5 Kuv tau siv qhov muaj peev xwm muab los ntawm Appjar los tsim cov haujlwm ib ntus (raws li appjar yog qhov kev tshwm sim programm no yog txoj hauv kev los tsim cov xwm txheej ib ntus). muaj nuj nqi yog:

#******************* pib tus neeg ua haujlwm ********************** app.registerEvent (tus neeg ua haujlwm)

p.setPollTime (1000)

Taskman rau "tus thawj tswj haujlwm" uas yog tus def hauv txoj haujlwm uas tswj hwm txhua yam uas tsis yog tshuaj ntsuam cov xwm txheej (qhov kawg ntawm cov ntawv ua si, populate bar kev nce qib, xa lub plawv dhia mus rau Nano, ….)

Thaum pib qhov screen zoo li qhov no:

Duab
Duab

Nov yog qhov programm: (tuaj yeem qhib ntawm Notepad ++ lossis Geany)

Kauj Ruam 4: Raspberry Tshooj: pib rov pib dua thiab Ntxiv Cov Ntaub Ntawv Tshiab

Yog tias koj saib cov programm koj tuaj yeem pom tias kuv siv qee cov ntaub ntawv bash:

1) Pib_jukebox:

Qhov tseeb lub hom phiaj yog ua kom muaj zog ntawm Tsev xinesmas hauv tsev thiab hloov mus rau D. IN cov tswv yim (kho qhov muag hauv kuv lub tsev xinesmas)

pi@raspitone:/bin $ miv start_jukebox#!/bin/bash

irsend SEND_ONCE jukebox KEY_POWER

ntxu 7

irsend SEND_ONCE jukebox KEY_AUX

ntxu 2

2) stop_jukebox:

Txhawm rau tshem tawm Lub Tsev Xinesmas

pi@raspitone:/bin $ miv stop_jukebox

#!/bin/tsoo

irsend SEND_ONCE jukebox KEY_POWER

Ob daim ntawv bash no hu ua Python nrog os.system hais kom ua

Txhawm rau pib Python tsab ntawv kuv tau ua me me bash

pi@raspitone: ~ $ miv dem_jukebox.bash#!/bin/bash

cd /home /pib

nab hab sej jukebox_gui.py

Txog qhov pib pib hauv GUI hom Kuv tsuas yog hloov kho cov ntawv pib hauv/etc/xdg/lxsession/LXDE-pi

pi@raspitone:/etc/xdg/lxsession/LXDE-pi $ miv autostart@lxpanel-profile LXDE-pi

@pcmanfm-desktop-profile LXDE-pi

@xscreensaver -no -txaws

@lxterminal --command = "dem_jukebox.bash"

taw tes-rpi

Ntxiv cov ntaub ntawv mp3 tshiab:

Txhawm rau ntxiv cov ntaub ntawv tshiab, Kuv nyiam ua qhov me me mob siab rau Python tsab ntawv:

new_song_file.py

Kuv yuav xub piav qhia lub koom haum cov ntaub ntawv system:

Txhua cov ntaub ntawv nyob hauv /tsev /pi

mp3 cov ntaub ntawv raug ntaus hauv/home/pi/Music directory

Txhua tus kws kos duab muaj nws tus kheej phau ntawv teev npe sib koom cov ntaub ntawv mp3

pi@raspitone: ~/Music/Mike_oldfield $ ls -total 760516

-rwxr ----- 1 pi pi 2254923 juin 30 2017 A_New_Beginning.mp3

-rwxr ----- 1 pi pi 2691736 juin 30 2017 Tuaj txog.mp3

-rwxr ----- 1 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

Hauv cov npe Cov Ntaub Ntawv peb tuaj yeem pom cov npe tsim cov ntaub ntawv los ua si.

pi@raspitone: ~/Cov ntaub ntawv $ miv list.txtFranz_Ferdinand/Michael_live.mp3

Franz_Ferdinand/siab phem_and_a_heathen.mp3

Franz_Ferdinand/Walk_Away_live.mp3

Franz_Ferdinand/hlub_and_destroy.mp3

Franz_Ferdinand/nws_fffire.mp3

Franz_Ferdinand/eleanor_put_your_boots_on.mp3

Franz_Ferdinand/ploj_you.mp3

Franz_Ferdinand/this_fire_ (playgroup_remix).mp3

Franz_Ferdinand/Jacqueline.mp3

Peb kuj tuaj yeem nrhiav cov ntaub ntawv playlists (tab sis qhov no tau tsim los ntawm Python tsab ntawv)

Python tsab ntawv me ntxiv cov nkauj tshiab, khaws tseg hauv Suab Nkauj, hauv daim ntawv teev npe.

Nov yog tsab ntawv: (tuaj yeem qhib ntawm Notepad ++ lossis Geany)

Kauj Ruam 5: Kev Tswj Fais Fab Ntawm Arduino Nano

Raws li kuv xav kom muaj qee yam yooj yim los pib, Kuv txiav txim siab ua kom tiav los ntawm nano me me:

Hauv paus ntsiab lus:

Thaum thawb pib khawm cov cuab yeej tau siv tag nrho, nano pib (1 lossis 2 vib nas this) thiab siv sijhawm tswj hwm lub zog los ntawm kev ua kom muaj kev sib txuas uas ua rau lub pob nyem sib cuag.

Tom qab ntawd Nano tos txog 35 vib nas this kom tau txais lub plawv dhia los ntawm Raspberry (txhais tau hais tias pib txheej txheem tiav thiab lub jukebox programm khiav).

Tsuav ntev nano tau txais lub plawv dhia nws ua rau lub relay ntawm (Saib aub timer)

Yog tias tsis muaj lub plawv dhia ntxiv (txhais tau tias lub kaw lus kaw suab kaw) Nano tos txog 20 vib nas this (kom paub tseeb tias raspi tau nres tag) tso lub zog xa tawm.

Lub jukebox yog tag nrho lub zog tawm

Kuv ntxiv qhov hloov pauv kom qhib cov tswv yim ntawm nano los qhia kev saib xyuas hom (Kuv siv lub jukebox los tswj hwm kuv lwm tus neeg rau zaub mov raspi ntawm ssh et vnc). Nano ces deactivates tus txheej txheem saib dev

Lus Cim:

cov tswv yim rau lub plawv dhia los ntawm Raspi yuav tsum tau rub qis (tab sis 3.3V los ntawm Raspi suav tias yog qib siab los ntawm Nano)

Nws tuaj yeem ua tiav nrog NE555 tab sis kuv txaj muag thiab muaj ib txwm nano hauv kuv lub tub rau khoom !!!!

Nov yog qhov program C luv (tuaj yeem qhib nrog Notepad ++)

Kauj Ruam 6: Kablia

Cov Kab
Cov Kab
Cov Kab
Cov Kab

Rau Screen:

Ib qho HDMI cable thiab USB cable tau siv ntawm Raspi kom muaj zog thiab tsav lub vijtsam.

Rau lub vaj huam sib luag pem hauv ntej:

Ib lub USB cable tseem txuas nrog los ntawm Raspi kom tuaj yeem rub tawm cov ntaub ntawv tshiab lossis ua cov thaub qab.

Ib USB cable txuas los ntawm Nano kom tuaj yeem nkag mus rau qhov muag (rau kev hloov kho yog tias tsim nyog)

Kuv ntsaws ib lub wireless keyboard dongle ntawm raspberry kom tuaj yeem ua kev saib xyuas yam tsis siv sab nraud USB ntsaws

Raws li Raspberry thiab Arduino tau siv, kev txuas yog yooj yim dua.

Txhua yam yog nyob ntawm daim phiaj matrix board.

Los ntawm raspberry 2 GPIO tau siv:

Pin 22 rau IR LED

Pin 27 rau lub plawv dhia rau Arduino

ntawm Arduino

Tus Pin 2 tau siv los ua tus pin cuam tshuam rau lub plawv dhia los ntawm Raspi.

Pins 3 txog 5 tau siv rau kev tsav tsheb coj (Pib, Wdt, Txij Nkawm).

Pin 6 yog rau kev hloov kho.

Tus Pin 7 yog qhov tso tawm rau daim thaiv thaiv.

Nov yog cov ntaub ntawv fritzing:

Kauj ruam 7: Lub thawv

Lub Thawv
Lub Thawv

Kuv yuav tsis piav ntau qhov kuv tau ua vim nws nyob ntawm lub hwj chim amp thiab ntawm tus hais lus siv.

Raws li cov ntaub ntawv hauv tsev xinesmas nyob hauv qab ntawm lub thawv.

Tsuas yog hla tus neeg hais lus:

1 woofer

2 tus neeg hais lus nruab nrab, uas kuv hloov kho kom ntxig rau hauv lub thawv.

Sab saum toj:

Lub taub hau pem hauv ntej nrog lub vijtsam, LED's, hloov pauv thiab USB ntsaws.

Ntoo:

Rau cov neeg hais lus, sab sab sab saum toj thiab hauv qab Kuv siv 18 hli ntoo ntoo.

Sab xub ntiag yog 10 hli plywood nrog 40 hli ntsia hlau.

Txhawm rau kom yooj yim rau cabling thiab kev saib xyuas (yog xav tau !!!) Kuv muab cov khoom siv hluav taws xob tso rau ntawm tus tub rau khoom tom qab lub lauj kaub pem hauv ntej

Txhawm rau kom tsis txhob ua kom sov dhau qhov loj tau ua rau hauv qab ntawm lub qab nthab tom qab thiab kuv tso 5V kiv cua (8 cm) ntawm lub qab nthab nyob ib sab ntawm lub tshuab hluav taws xob.

Daim duab saum toj no tsuas yog muab tswv yim.

Yog li ntawd, nws yog !!!!!!!!!

Ua tsaug rau koj nyeem kuv

Thiab pom koj lub sijhawm tom ntej rau kev lom zem tshiab

Pom zoo: