0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Raspberry 3 B +的自动点唱机的制作教程

454398 来源:网络整理 作者:佚名 2019-11-04 10:16 次阅读

步骤1:Raspberry部件说明:

Raspi必须管理不同的事情:

1)(通过红外遥控器)到家庭影院的命令

2)音乐文件

3)触摸屏

4)Arduino的心跳(可管理Wdt(看门狗计时器))

我从16 G SD卡上的Raspbian strech发行版开始(因为我们只会从SD卡读取文件,因此不需要使用HDD)。我不会花时间在这部分上,因为网络上充斥着有关它的信息

让我们在下一步中查看不同的部分。。..

步骤2:红外遥控器代码

由于找不到家庭影院的电路图,我决定通过远程命令驱动它。

第一步必须完成的工作是学习Raspi家庭影院远程命令的代码。

为此,我使用了 Austin Stanton IR代码

我有一些差异,可能是由于新版本,因为指示者相当旧,hardware.conf文件不再存在(至少我没有找到它)

似乎另外,在tuto中使用的晶体管是PNP晶体管,就我而言,我使用的是2N2222,它是NPN,但结果是相同的(除了电缆连接!!!!!!)

引脚分配在/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。

重要提示:在学习Raspi的代码时必须使用命令

irrecord --list-namespace

这是我为自动存储塔创建的文件:

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

#请花一些时间按照#https://sourceforge.net/p/lirc-remotes/wiki/Check 。..中的描述完成此文件,并通过以下方式将其提供给他人将其发送到##

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

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

#内核版本(uname -r):4.14.98-v7 +##远程名称(自配置文件开始):点唱机

#远程设备的品牌,您所拥有的东西手:#远程设备型号nr:

#远程设备信息网址:

#远程设备是否具有捆绑的捕获设备e。 g。,一个

USB加密狗? :

#对于捆绑的USB设备:usb供应商ID,产品ID

#和设备字符串(使用dmesg或lsusb):

#受控设备的类型

#(电视,录像机,音频,DVD,卫星,电缆,HTPC等):

受此遥控器控制的设备数:

开始使用遥控器

名称自动点唱机

位16

标志SPACE_ENC | CONST_LENGTH

eps 30

aeps 100

标题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

结束代码

结束远程

如您所见,我只需要4条命令来驱动家庭影院

电源(开/关)

AUX =》切换到光输入通道(因为HC总是在DVD阅读器上启动)

和音量+/-

相关命令通过LIRC命令执行:

例如:“ 放弃SEND_ONCE自动点唱机KEY_VOLUMEUP ”

步骤3:主程序

主程序是用Python编写的:

由于我是Python的新手,我想可以做很多改进,但是可以运行。。..

具体说明离子:

1)管理图形屏幕:

为此,我使用的是TKINTER的APPJAR,但针对学生(我的情况)是文明的,这意味着使用起来容易得多,可能可能性较小,但这足以满足我的目的。

2)播放mp3文件:

我将mplayer用于python。

3)生成随机数用于以随机播放模式播放:

由于我不想每个季度都听到同一首歌,所以我建立了一个小程序来检查x以前的数字列表中是否不存在该数字(x取决于

据我所知,python中的randint函数并不是那么“随机”。

4)将“心跳”发送给Arduino

5)管理文件播放器:

由于Mplayer是异步的,因此当文件启动时,没有办法知道Python何时完成(至少我没有找到简单的方法)

要解决这个问题,我使用了mplayer命令来给出文件的长度和当前文件的进度

对于4和5我都使用了Appjar产生定期任务的可能性(因为appjar是事件程序,这是创建定期事件的一种方式)。函数是:

#*******************启动任务员************** ********

app.registerEvent(taskman)

p.setPollTime(1000)

“任务管理器”的任务负责人,它是程序中的一个定义,用于管理所有非屏幕事件(播放的文件的结尾,填充进度栏,将心跳发送给Nano,。..)

启动后,屏幕如下所示:

以下是程序:(可以通过Notepad ++或Geany打开)

步骤4:Raspberry Part:自动启动并添加新文件

如果您查看该程序,您会发现我使用了一些bash文件:

1) Start_jukebox :

实际上,目的是打开家庭影院的电源并切换到D.IN输入(我的家庭影院中的光学输入)

pi @ raspitone:/bin $ cat start_jukebox

#!/bin/bash

激怒SEND_ONCE juke框KEY_POWER

睡眠7

不发送SEND_ONCE自动点唱机KEY_AUX

睡眠2

2) stop_jukebox:

关闭家庭影院电源

pi @ raspitone:/bin $ cat stop_jukebox

#!/bin/bash

请勿发送SEND_ONCE自动点唱机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-π结果

的 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

我将首先说明系统文件的组织:

所有文件都在/home/中pi

mp3文件存储在/home/pi/Music 目录中

每个艺术家都有自己的子目录来托管相关的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

在目录中的文档可以找到要播放的文件的内置列表。

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

我们还可以找到播放列表数据 (但这是由Python脚本构建的)

小型Python脚本在格式化后将新音乐(保存在“音乐”中)添加到list.txt中UNIX格式的标题

以下是脚本:(可以通过Notepad ++或Geany打开)

第5步:通过Arduino Nano进行电源管理

因为我想简单地开始一些事情,所以我决定通过一个小型的nano来完成:

原理:

按下开始按钮时,设备都是战俘ered后,nano启动(1或2秒),并通过触发继电器使按钮触点分路来接管电源管理。

然后,nano等待35秒以接收来自Raspberry的心跳(意味着启动过程完成并且自动存储塔程序已运行。)

只要nano接收到心跳,它将保持继电器打开(看门狗计时器)

如果不再有心跳(表示自动存储塔)程序已停止)Nano等待20秒(以确保raspi完全停止)以释放功率继电器。

自动存储塔已完全关闭

我添加了一个开关以激活nano的输入以指示维护模式(我使用自动存储塔通过ssh和vnc管理其他raspi服务器)。 Nano然后停用看门狗进程

备注:

Raspi的心跳输入需要下拉(但Nano认为Raspi的3.3V为高电平)

可以用NE555完成,但是我很生气,抽屉里总是装有nano !!!!

这是简短的C程序(可以用Notepad ++打开)

步骤6:布线

用于屏幕:

一个HDMI电缆和USB电缆在Raspi上用于供电和驱动屏幕。

对于前面板:

还从Raspi连接了USB电缆,以便可以上传新的文件或进行备份。

从Nano连接USB电缆,以便能够访问软件(必要时进行修改)

我还在树莓派上插入了无线键盘加密狗无需使用外部USB插头即可进行维护

由于使用了Raspberry和Arduino,因此布线非常简单。

全部位于条形矩阵板上。

使用树莓2的GPIO:

Pin22(用于IR LED)

Pin 27(用于在Arduino上进行心跳)

在Arduino

引脚2用作Raspi的心跳的中断引脚。

引脚3至5用于驱动LED的(启动,WDDT,维护)。

引脚6是维护开关。

Pin 7输出到继电器屏蔽罩。

以下是压条文件:

第7步:盒子

由于功率放大器和所用扬声器的不同,我不会做太多描述。

作为信息,家庭影院位于电视的底部。盒子。

只需放在扬声器上方:

1个低音扬声器

2个中型扬声器,我对其进行了修改以将它们插入包装盒中。

打开顶部:

带有屏幕的前面板,LED,开关和USB插头。

木头:

对于扬声器,侧面我用18毫米木板围起来。

正面是10毫米胶合板,带40毫米螺钉。

为便于布线和维护(如果需要! !!)我将电路放在前面板后面的抽屉中

为避免过热,在后面板的底部做了一个大孔,并在后面板上放置了一个5V风扇(8厘米)

上面的图片只是一个想法。

所以,就是这样!!!!!!!!!

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 树莓派
    +关注

    关注

    116

    文章

    1701

    浏览量

    105560
收藏 人收藏

    评论

    相关推荐

    新品来袭!Raspberry Pi Compute Module 5

    今天,我们很高兴地宣布推出备受期待的Raspberry Pi计算模块5,这是我们旗舰Raspberry Pi 5单板计算机的模块化版本,售价仅为45美元。 意外之旅 我们在2008年成立了树莓派
    的头像 发表于 11-27 18:21 293次阅读
    新品来袭!<b class='flag-5'>Raspberry</b> Pi Compute Module 5

    Raspberry Pi Pico 2 W 发布

    树莓派官方今日宣布推出支持无线连接的新款 MCU(微控制器)主板 Raspberry Pi Pico 2 W,售价 7 美元, 较此前的有线版本高出 2 美元 。     Raspberry Pi
    的头像 发表于 11-25 18:25 350次阅读
    <b class='flag-5'>Raspberry</b> Pi Pico 2 W 发布

    Raspberry Pi Pico 2

    Raspberry Pi Pico 2显著提升了性能,同时保持了与之前的Raspberry Pi Pico系列器件的兼容性。 Pico 2具有更高的内核时钟速度、双倍内存、更强大的Arm® 内核
    的头像 发表于 11-25 15:10 399次阅读
    <b class='flag-5'>Raspberry</b> Pi Pico 2

    Banana Pi M5 与 Raspberry Pi 4 – 基准测试

    Banana Pi M5 基准测试已成为我的网站上最受欢迎的作品之一,而且似乎人们真正想看到的是它与其 Raspberry 口味的表亲之间的直接比较,所以这里就是 Banana Pi M5 与 Raspberry Pi 4 的比较,我免费附上我的想法..
    的头像 发表于 10-28 10:28 295次阅读
    Banana Pi M5 与 <b class='flag-5'>Raspberry</b> Pi 4 – 基准测试

    AIGC在视频内容制作中的应用前景

    AIGC技术能够显著缩短视频内容的制作周期。通过AI算法,可以快速生成视频剪辑、特效、字幕和配乐等,减少人工操作的时间。例如,在短视频制作中,AIGC技术可以自动找到最佳剪辑点、裁剪视频片段,甚至根据视频内容
    的头像 发表于 10-25 15:44 424次阅读

    e络盟开售Raspberry Pi新款产品

    安富利旗下全球电子与工业系统设计、维护和维修产品及技术分销商 e络盟 现为客户供应小巧、快速、多功能的 Raspberry Pi Pico 2。
    的头像 发表于 10-12 16:57 613次阅读

    性能测试:Orange Pi 3B 究竟能在多大程度上替代 Raspberry Pi 3

    OrangePi3B采用了一款中低端的SoC——瑞芯微RK3566四核64位处理器,没有RK3588八核设置的强大功能,但它仍然是一款不错的芯片。更为关键的是,它的价格非常诱人,2GB/4GB
    的头像 发表于 10-11 15:42 560次阅读
    性能测试:Orange Pi <b class='flag-5'>3B</b> 究竟能在多大程度上替代 <b class='flag-5'>Raspberry</b> Pi <b class='flag-5'>3</b>?

    e络盟开售Raspberry Pi AI 摄像头

    安富利旗下全球电子元器件产品与解决方案分销商e络盟开售全新 Raspberry Pi AI摄像头,这是 Raspberry Pi 的最新产品,扩大了 e络盟的人工智能设备范围。
    的头像 发表于 10-10 10:09 198次阅读
    e络盟开售<b class='flag-5'>Raspberry</b> Pi AI 摄像头

    名单公布!树莓派5(Raspberry Pi 5)开发板免费试用!!!

    名单公布: jinsheng、华仔stm32 树莓派5(Raspberry Pi 5)新主板采用2.4GHz四核64位Arm Cortex-A76处理器,拥有512KB的L2缓存和2MB的共享L3
    发表于 06-27 15:40

    如何将CYKIT-028 TFT模块与Raspberry Pi和ESP32微控制器结合使用?

    我目前正在探索如何将 CYKIT-028 TFT 模块与 Raspberry Pi 和 ESP32 微控制器结合使用。 不过,在选择集成开发环境(IDE)和使用 PSOC Creator 的必要性
    发表于 05-21 07:36

    如何用Arduino制作一个简易自动喂鱼器

    如果你家里养有鱼,并想找到一种自动化喂食的方法,这个项目可能会对你有所启发。 在这个教程中,作者将展示如何制作自己的基于Arduino的自动喂鱼器,让小鱼不在饿肚子。 自动喂鱼器的
    发表于 03-28 11:25

    5分钟内将Raspberry Pi Pico变成简单的示波器+波形发生器

    5 分钟内将 Raspberry Pi Pico(或任何 RP2040 板)变成简单的示波器+波形发生器。
    的头像 发表于 03-04 09:14 2025次阅读
    5分钟内将<b class='flag-5'>Raspberry</b> Pi Pico变成简单的示波器+波形发生器

    震惊!居然有人给 Raspberry Pi 5 做 X 射线!

      Jeff Geerling 会做一些莫名其妙的怪事,比如用信鸽来对抗网速,不过这也是我们喜欢他视频的原因。最近,杰夫对 Raspberry Pi 5 进行了 X 光透视,揭示了
    的头像 发表于 01-10 16:42 467次阅读
    震惊!居然有人给 <b class='flag-5'>Raspberry</b> Pi 5 做 X 射线!

    搭载 树莓派5 Raspberry Pi 5 全新的HMI发布!

    多年来,上海晶珩不断推陈出新,在成功推出一系列基于 Raspberry Pi CM4 的平板电脑后,现推出了首个搭载 Raspberry Pi 5 的平板电脑系列HMI3010。其中,HMI3010
    的头像 发表于 12-28 11:33 828次阅读
    搭载 树莓派5 <b class='flag-5'>Raspberry</b> Pi 5 全新的HMI发布!

    基于Raspberry Pi 5的蜂窝物联网项目

    今天小拜年给大家带来的是来自美国的Maker Rob Lauer的基于树莓派5的蜂窝网络项目,了解如何为新的 Raspberry Pi 5 单板计算机添加低带宽蜂窝连接。
    的头像 发表于 12-25 10:55 1232次阅读
    基于<b class='flag-5'>Raspberry</b> Pi 5的蜂窝物联网项目