Агуулгын хүснэгт:

Raspitone: ашиглахад хялбар Jukebox: 7 алхам
Raspitone: ашиглахад хялбар Jukebox: 7 алхам

Видео: Raspitone: ашиглахад хялбар Jukebox: 7 алхам

Видео: Raspitone: ашиглахад хялбар Jukebox: 7 алхам
Видео: DAVE & BAMBI UPDATE! 6 ANIMATIONS?! (Roblox Funky Friday) 2024, Арваннэгдүгээр
Anonim
Raspitone: Jukebox ашиглахад хялбар
Raspitone: Jukebox ашиглахад хялбар

Сайн байна уу, миний дараагийн төсөл бол миний ашигладаг шиг тийм ч ашиггүй төсөл юм.

Энэ бол Raspberry 3 B+ дээр суурилсан хөгжмийн хайрцаг юм

Иймэрхүү зүйлийг ухаалаг гар утас, Bluetooth чанга яригч ашиглан хялбархан хийх боломжтой гэдгийг би мэднэ.

Гэхдээ миний төслийн хувьд надад хоёр хатуу урьдчилсан нөхцөл байсан.

Би "хувцасны чимэг" хийхийг хүсч байсан.

Ерөнхийдөө миний хатагтай 21 -р зуунаас (эсвэл бүр 20 -р зууны) компьютер, блютүүт эсвэл бусад зүйлд үнэхээр найдваргүй байдгийг харгалзан би ашиглахад маш энгийн зүйлийг хийх ёстой байсан.

Тиймээс техникийн үзүүлэлтүүд дараах байдалтай байв.

Машиныг асаах ганц товчлуур

Хөгжмийг удирдах мэдрэгчтэй дэлгэц (маш энгийн).

Машиныг зогсоохын тулд дэлгэц дээр ганц удаа дарна уу.

Бас сайхан дуутай байхын тулд ………

Хангамж

Үүний тулд би ашигласан:

1 бөөрөлзгөнө 3 В+

DVD уншигчийн OOS -ийн улмаас ашиггүй байсан хуучин 1 гэрийн кино театр (хуучин Samsung 2.1 -ийн өргөгч, 2 чанга яригчийг би хайрцагт тааруулан өөрчилсөн)

1 HIFIBERRY DIGI+ самбар (цахилгаан өсгөгчийн оптик гаралттай)

1 багтаамжтай 7 инчийн мэдрэгчтэй дэлгэц (миний хувьд HDMI оролттой бөөрөлзгөнө хийх зориулалттай бөгөөд USB -ээр тэжээгддэг боловч HDMI мэдрэгчтэй дэлгэц ямар ч байсан сайн байх ёстой)

1 хүчдэл 5V 5A

1 буухиа бамбай

Цахилгаан асаах/унтраах процессыг удирдах 1 Arduino нано

1 IR нь гэрийн кино театрыг жолооддог (2N2222 NPN транзистороор удирддаг)

1 IR хүлээн авагч (төслийн нэг хэсгийг сурч буй IR кодын хувьд би алсын тушаал бүхий хуучин мультимедиа хатуу дискнээс авсан)

3 лед

Засвар үйлчилгээний горимд 1 унтраалга

Arduino дээр ажиллах 1 унтраалга (байршуулах явцад arduino -г дахин тохируулна)

зарим JST ба Dupont холбогч

Мөн хайрцгийн хувьд

Мод ба фанер (гэхдээ би хайрцгийг хэрхэн яаж хийхийг нарийвчлан тайлбарлахгүй). Хайрцаг доторх бумерын хувьд, хэрэв та тоглож байхдаа хөгжмийн зочны өрөөг хөндлөн гарахыг харахыг хүсэхгүй бол 10 мм фанер, 18 мм мод заавал байх ёстой гэж хэлье.

Алхам 1: Raspberry хэсгийн тайлбар:

Raspi өөр өөр зүйлийг удирдах ёстой

1) гэрийн кино театрт өгөх тушаалууд (IR алсын удирдлагаар)

2) хөгжмийн файлууд

3) мэдрэгчтэй дэлгэц

4) Arduino -ийн зүрхний цохилт (Wdt -ийг удирддаг (нохойны цаг хэмжигч))

Би 16 G SD карт дээр Raspbian strech түгээлтээс эхэлсэн (Бид зөвхөн SD картаас файлуудыг унших тул HDD ашиглах шаардлагагүй). Вэб энэ талаар заавараар дүүрэн байгаа тул би энэ хэсэгт цаг зарцуулахгүй.

Дараагийн алхамуудад өөр өөр хэсгүүдийг харцгаая. …

Алхам 2: IR алсын кодууд

Гэрийн кино театрын схемийг олж чадаагүй тул би үүнийг алсын командыг ашиглан жолоодохоор шийдсэн

Миний хийх ёстой хамгийн эхний алхам бол гэрийн кино театрын алсын удирдлагын кодыг Raspi -д сурах явдал байв.

Надад зарим ялгаа байсан, магадгүй шинэ хувилбараас шалтгаалан зааварчилгаа нь нэлээд хуучирсан болохоор hardware.conf файл байхгүй болсон (ядаж би олсонгүй)

Tuto -д ашигладаг транзистор нь PNP транзистор юм шиг санагдаж байна, миний хувьд NPN 2N2222 -ийг ашигласан боловч үр дүн нь ижил байна. (Кабелийг эс тооцвол !!!!!!!!)

Пин даалгаврыг /boot/config.txt дээр өгсөн болно.

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

IR LED нь Raspi -ийн pin22 -тэй холбогдсон байх болно.

Нэг чухал тэмдэглэл: Raspi -д код сурахдаа тушаалд жагсаасан түлхүүр үгийг заавал ашиглах ёстой

бүртгэл-нэрсийн жагсаалт

Миний хөгжмийн хайрцагт зориулж бүтээсэн файл энд байна.

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

# Энэ файлыг # https://sourceforge.net/p/lirc-remotes/wiki/Check… # -д заасны дагуу дуусгаж, # # руу илгээж бусдад хүртээмжтэй болгоорой.

# Энэхүү тохиргооны файлыг автоматаар үүсгэсэн

# ашиглан lirc -0.9.4c (анхдагч) 5 -р сарын 9 -нд 17:33:37 2019 # Ашигласан командын мөр: -d /dev /lirc0 /root/lircd.conf

# Цөмийн хувилбар (uname -r): 4.14.98 -v7+ # # Алсын нэр (тохиргооны файлын хувьд): jukebox

# Алсын төхөөрөмжийн брэнд, таны гарт байгаа зүйл: # Алсын төхөөрөмжийн загвар nr:

# Алсын төхөөрөмжийн мэдээллийн URL:

# Алсын төхөөрөмж нь багцлах төхөөрөмжтэй эсэх e. g., a

# usb dongle?:

# Багцалсан USB төхөөрөмжүүдийн хувьд: USB борлуулагчийн ID, бүтээгдэхүүний id

# ба төхөөрөмжийн мөр (dmesg эсвэл lsusb ашиглана уу):

# Төхөөрөмжийн төрлийг хянадаг

# (ТВ, VCR, Аудио, DVD, Хиймэл дагуул, Кабель, HTPC,…):

Энэхүү алсын удирдлагатай # төхөөрөмжүүд:

алсаас эхлэх

jukebox нэр

бит 16

туг SPACE_ENC | CONST_LENGTH

eps 30

aeps 100

толгой 4470 4496

нэг 542 1693

тэг 542 581

553 дугаар зам

өгөгдлийн_бит 16

урьдчилсан өгөгдөл 0xC2CA

цоорхой 107863

toggle_bit_mask 0x0

давтамж 38000

кодуудыг эхлүүлэх

KEY_POWER 0x807F

KEY_AUX 0x8877

KEY_VOLUMEUP 0xCC33

KEY_VOLUMEDOWN 0xDC23

төгсгөлийн кодууд

алсын удирдлага

Таны харж байгаагаар надад гэрийн кино театрыг жолоодох 4 команд л хангалттай

Эрчим хүч (ON/OFF)

AUX => оптик оролтын суваг руу шилжих (HC үргэлж DVD уншигч дээр эхэлдэг тул)

Мөн боть +/-

Холбогдох тушаалуудыг LIRC командуудаар гүйцэтгэдэг.

жишээ нь: "irsend SEND_ONCE jukebox KEY_VOLUMEUP"

Алхам 3: Үндсэн програм

Үндсэн програмыг Python дээр бичсэн болно.

Би Python -д шинээр орж байгаа болохоор маш их сайжруулалт хийх боломжтой гэж бодож байна, гэхдээ энэ нь ажилладаг ….

Үзүүлэлтүүд:

1) график дэлгэцийг удирдах:

Үүний тулд би TKINTER боловч оюутны хувьд соёлтой APPJAR -ийг ашигласан (миний хэрэг), энэ нь ашиглахад илүү хялбар, магадгүй боломж багатай байсан ч энэ нь миний зорилгод хангалттай байсан юм.

2) mp3 файлуудыг тоглуулах:

Би python -д mplayer ашигласан.

3) холих горимд тоглохын тулд санамсаргүй тоо үүсгэх:

Би улирал бүр нэг дууг сонсохыг хүсдэггүй байсан тул өмнөх x тооны тоонд байхгүй байгаа эсэхийг шалгах жижиг програм зохиосон (тоглуулах жагсаалтын уртаас хамаарч x).

Питон дахь randint функц нь миний харсан шиг тийм "санамсаргүй" биш юм.

4) "зүрхний цохилтыг" Arduino руу илгээх

5) файл тоглуулагчийг удирдах:

Mplayer нь асинхрон байдаг тул файлыг эхлүүлэх үед Python -ийг дууссаны дараа мэдэх арга байхгүй (наад зах нь би энгийн арга олсонгүй)

Үүнийг шийдэхийн тулд би mplayer командыг ашиглан файлын урт, одоогийн файлын явцыг харуулсан болно

4 ба 5 -ийн аль алиных нь хувьд би Appjar -аас өгсөн боломжийг ашиглан үечилсэн даалгавар үүсгэсэн (appjar бол үйл явдлын програм учраас энэ нь үе үе үйл явдал үүсгэх арга юм). функц нь:

#******************* taskman эхлүүлэх ********************** app.registerEvent (taskman)

p.setPollTime (1000)

"Даалгаврын менежер" гэсэн Taskman нь дэлгэцийн үйл явдал биш бүх зүйлийг удирддаг програмын үндсэн хэсэг юм (тоглуулсан файлын төгсгөл, явцын мөрийг бөглөх, зүрхний цохилтыг Нано руу илгээх, …).

Эхлээд дэлгэц иймэрхүү харагдаж байна.

Зураг
Зураг

Энэ програмыг энд оруулав: (Notepad ++ эсвэл Geany ашиглан нээх боломжтой)

Алхам 4: Raspberry хэсэг: автоматаар эхлүүлэх, шинэ файл нэмэх

Хэрэв та програмыг харвал би bash файлуудыг ашиглаж байгааг харж болно.

1) Start_jukebox:

Үнэн хэрэгтээ зорилго бол гэрийн кино театрыг асаах, D. IN оролт руу шилжүүлэх явдал юм (миний гэрийн кино театр дахь оптик оролт).

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

irsend SEND_ONCE jukebox KEY_POWER

унтах 7

irsend SEND_ONCE jukebox KEY_AUX

унтах 2

2) stop_jukebox:

Гэрийн кино театрыг унтраах

pi@raspitone:/bin $ cat stop_jukebox

#!/bin/bash

irsend SEND_ONCE jukebox KEY_POWER

Эдгээр хоёр bash файлыг Python os.system тушаалаар дууддаг

Python скриптийг эхлүүлэхийн тулд би жижиг зураас хийв

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

cd /home /pi

python jukebox_gui.py

GUI горимд автоматаар эхлэхийн тулд би автоматаар эхлүүлэх файлыг/etc/xdg/lxsession/LXDE-pi дээр өөрчилсөн.

pi@raspitone:/etc/xdg/lxsession/LXDE-pi $ cat autostart@lxpanel-профайл LXDE-pi

@pcmanfm --desktop-профайл LXDE-pi

@xscreensaver -үгүй

@lxterminal --command = "dem_jukebox.bash"

цэг-rpi

Шинэ mp3 файл нэмж байна:

Шинэ файл нэмэхийн тулд би жижиг зориулалтын Python скрипт хийхийг илүүд үзсэн.

new_song_file.py

Би эхлээд системийн файлуудын зохион байгуулалтыг тайлбарлах болно.

Бүх файлууд /home /pi дотор байна

mp3 файлуудыг/home/pi/Хөгжмийн лавлахад хадгалдаг

Уран бүтээлч бүр холбогдох mp3 файлуудыг байршуулдаг өөрийн дэд лавлахтай

pi@raspitone: ~/Хөгжим/Mike_oldfield $ ls -нийт 760516

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

-rwxr ----- 1 pi pi 2691736 juin 30 2017 Ирэх.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 Тэргэнцэр.mp3

Баримт бичгийн лавлахаас бид тоглох файлуудын жагсаалтыг олох боломжтой.

pi@raspitone: ~/Documents $ cat list.txtFranz_Ferdinand/Michael_live.mp3

Franz_Ferdinand/evil_and_a_heathen.mp3

Franz_Ferdinand/Walk_Away_live.mp3

Франц_Фердинанд/love_and_destroy.mp3

Franz_Ferdinand/his_fffire.mp3

Франц_Фердинанд/eleanor_put_your your boots_on.mp3

Франц_Фердинанд/алга болсон_санаа.mp3

Franz_Ferdinand/this_fire_ (playgroup_remix).mp3

Франц_Фердинанд/Жаклин.mp3

Бид тоглуулах жагсаалтын өгөгдлийг олох боломжтой (гэхдээ үүнийг Python скриптээр бүтээсэн болно)

Жижиг Python скрипт нь хөгжимд хадгалагдсан шинэ дуунуудыг UNIX форматаар форматласны дараа list.txt -д нэмдэг.

Энд скрипт байна: (Notepad ++ эсвэл Geany ашиглан нээх боломжтой)

Алхам 5: Arduino Nano -ээр дамжуулан эрчим хүчний менежмент

Би хялбархан эхлүүлэхийг хүсч байсан тул үүнийг жижиг нано хийхээр шийдлээ.

Зарчим:

Эхлэх товчлуурыг дарахад төхөөрөмжүүд бүгд тэжээгддэг бол нано (1 эсвэл 2 секунд) асаж, түлхэх товчлуурын контактуудыг хааж буй релеийг асаах замаар тэжээлийн удирдлагыг гартаа авдаг.

Дараа нь Нано Raspberry -аас зүрхний цохилтыг хүлээн авахын тулд 35 секунд хүлээнэ (эхлүүлэх процесс дуусч, jukebox програм ажиллаж байна гэсэн үг).

Нано зүрхний цохилтыг хүлээн авсан л бол буухиагаа үргэлжлүүлэн ажиллуулдаг (нохойны цаг хэмжигч)

Хэрэв зүрхний цохилт байхгүй бол (хөгжмийн хайрцагны програм зогссон гэсэн үг) Нано цахилгаан реле суллахыг 20 секундын турш хүлээж байна.

Хөгжмийн хайрцгийг бүрэн унтраасан байна

Би нано оролтыг засварлах горимыг идэвхжүүлэхийн тулд унтраалга нэмсэн (би бусад raspi серверүүдээ ssh et vnc -ээр удирдахын тулд jukebox ашигладаг). Нано дараа нь харуулын нохойны үйл явцыг идэвхгүй болгодог

Тэмдэглэл:

Raspi -ийн зүрхний цохилтын оролтыг хасах шаардлагатай (гэхдээ Raspi -ийн 3.3V хүчдэлийг нано өндөр түвшин гэж үздэг)

Үүнийг NE555 -ийн тусламжтайгаар хийж болно, гэхдээ би залхуу, шүүгээндээ үргэлж нано байдаг !!!!

Энд богино C програм байна (Notepad ++ ашиглан нээх боломжтой)

Алхам 6: Кабель

Кабель
Кабель
Кабель
Кабель

Дэлгэцийн хувьд:

HDMI кабель болон USB кабелийг Raspi дээр дэлгэцийг асаах, жолоодоход ашигладаг.

Урд талын самбарын хувьд:

USB кабель нь Raspi -аас холбогдсон бөгөөд шинэ файл байршуулах эсвэл нөөцлөлт хийх боломжтой болно.

Нано -оос USB кабель холбогдож зөөлөн утсанд хандах боломжтой (шаардлагатай бол өөрчлөлт оруулахын тулд)

Би гадаад USB залгуурыг ашиглахгүйгээр засвар үйлчилгээ хийх боломжтой байхын тулд бөөрөлзгөнө дээр утасгүй гарын товчлуурыг холбодог

Raspberry болон Arduino -ийг ашигладаг тул кабель тавих нь маш энгийн.

Бүгд туузан матрицын самбар дээр байрладаг.

Бөөрөлзгөнөөс 2 GPIO ашигладаг:

IR LED -д зориулсан Pin22

27 -р зүрхний цохилтыг Arduino руу залга

Arduino дээр

Pin 2 нь Raspi -ийн зүрхний цохилтыг таслах зүү болгон ашигладаг.

3-5 -р зүү нь жолоодлогыг жолоодоход ашиглагддаг (Start, Wdt, Maintenance).

6 -р зүү нь засварын унтраалгад зориулагдсан болно.

7 -р зүү нь буухиа бамбай руу гарна.

Энд fritzing файл байна:

Алхам 7: Хайрцаг

Хайрцаг
Хайрцаг

Би хийсэн зүйлээ тайлбарлахгүй, учир нь энэ нь цахилгаан өсгөгч болон ашигласан чанга яригчаас хамаарна.

Мэдээллийн хувьд гэрийн кино театр нь хайрцгийн доод хэсэгт байрладаг.

Яг чанга яригч дээр:

1 woofer

Миний хайрцагт оруулахаар өөрчилсөн 2 дунд чанга яригч.

Орой дээр:

Дэлгэц, LED, унтраалга, USB залгууртай урд талын самбар.

Мод:

Илтгэгчийн хувьд хажуугийн дээд ба доод хэсэгт 18 мм хэмжээтэй модон хавтан ашигласан.

Урд тал нь 40 мм -ийн эрэг бүхий 10 мм фанер юм.

Кабель, засвар үйлчилгээг хөнгөвчлөхийн тулд (хэрэв шаардлагатай бол !!!) Би хэлхээгээ урд талын самбарын ард шургуулга дээр тавив.

Хэт халалтаас зайлсхийхийн тулд арын хэсгийн доод хэсэгт том нүх гаргадаг бөгөөд би хэлхээний хажууд арын самбар дээр 5В сэнс (8 см) тавьдаг.

Дээрх зураг бол зүгээр л санаа өгөх зорилготой зураг юм.

Тиймээс, энэ бол !!!!!!!!!

Намайг уншсанд баярлалаа

Дараагийн удаа шинэ адал явдалтай уулзацгаая

Зөвлөмж болгож буй: