开源改变世界

#define 扬声器不工作 #102 #102

推推 grbl 3年前 (2023-02-06) 354次浏览
打开
bluegizmo83 打开了这个问题 2019 年 11 月 13 日 · 29条评论
打开

#define 扬声器不工作#102

bluegizmo83 打开了这个问题 2019 年 11 月 13 日 · 29条评论

评论

#define 扬声器不工作 #102 #102

我正在尝试将#define Speaker 与我的 Ender 3 Pro 一起使用,这样我就可以在打印完成时播放音频,但是当我取消注释该行时,我从 Ender 3 扬声器/蜂鸣器中听不到任何声音。

我怎样才能使这项工作?

#define 扬声器不工作 #102 #102

固件自述文件明确指出扬声器不受支持,应将其注释掉:

https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V1.2

#define 扬声器不工作 #102 #102

如果您使用的是 stock ender 3,则显示器没有扬声器,它有一个蜂鸣器。这是硬件问题,LCD 背面的蜂鸣器是压电蜂鸣器或类似的东西。除非你添加了一些售后扬声器,否则定义扬声器将无法工作,因为你没有

#define 扬声器不工作 #102 #102

啊,这就解释了为什么我的 rtttl 音调没有在每次打印的开始和结束时播放。不开心的一天。

固件自述文件明确指出扬声器不受支持,应将其注释掉

这句话在 11 月 25 日被删除,合并了最新的 2.0.x,可能是因为它不再导致冻结。未经注释测试,#define SPEAKER没有任何冻结,但蜂鸣器根本没有声音。

如果它可以发出不同的频率音调,Marlin 支持启用 SPEAKER 选项
— Marlin GitHub comment

在 Marlin 1.1.9 中,M300 命令可以工作并且能够发出不同的音调……但现在它只是以固定频率发出哔哔声……如果您能够以某种方式使 M300 命令在 Marlin 2.0.x 中工作,一定要让我知道,因为我真的很想念那个功能。
——Reddit对话

#define 扬声器不工作 #102 #102

在 Ender 3 显示器上,蜂鸣器可以用原始的 creality 板播放 M300 音调,但用 SKR Mini E3 v1.2(v1 也是?)做不到。如果设置为BUZZER,它会响应M300命令,但频率单一,如果将其注释掉或设置为SPEAKER,则不会对M300命令发出任何声音。
我真的很难过它不能在这个神奇的板上工作。

测试平台:Ender 3、SKR Mini E3 v1.2、Marlin 2.0.x

如果您使用的是 stock ender 3,则显示器没有扬声器,它有一个蜂鸣器。这是硬件问题,LCD 背面的蜂鸣器是压电蜂鸣器或类似的东西。除非你添加了一些售后扬声器,否则定义扬声器将无法工作,因为你没有

#define 扬声器不工作 #102 #102

在 Ender 3 显示器上,蜂鸣器可以用原始的 creality 板播放 M300 音调,但用 SKR Mini E3 v1.2(v1 也是?)做不到。如果设置为BUZZER,它会响应M300命令,但频率单一,如果将其注释掉或设置为SPEAKER,则不会对M300命令发出任何声音。
我真的很难过它不能在这个神奇的板上工作。

测试平台:Ender 3、SKR Mini E3 v1.2、Marlin 2.0.x

如果您使用的是 stock ender 3,则显示器没有扬声器,它有一个蜂鸣器。这是硬件问题,LCD 背面的蜂鸣器是压电蜂鸣器或类似的东西。除非你添加了一些售后扬声器,否则定义扬声器将无法工作,因为你没有

你是什​​么意思 它是蜂鸣器而不是扬声器,它只会播放蜂鸣器声音

#define 扬声器不工作 #102 #102

就是我的意思。

#define 扬声器不工作 #102 #102

就是我的意思。

你试过最新的马林鱼了吗?曾经与定时器有冲突,但我相信那是固定的

#define 扬声器不工作 #102 #102

将立即尝试。

#define 扬声器不工作 #102 #102
qwewer0 评论了 2020 年 2 月 3 日  

还是行不通。
如果我将它设置为 SPEAKER,它不会发出任何声音,而在 BUFFER 中它只会向 M300 发出一个单一的频率,但它会播放正确的持续时间。

#define 扬声器不工作 #102 #102

还是行不通。
如果我将它设置为 SPEAKER,它不会发出任何声音,而在 BUFFER 中它只会向 M300 发出一个单一的频率,但它会播放正确的时间。

不计时……电路板的计时器……参见MarlinFirmware/Marlin#15781

#define 扬声器不工作 #102 #102

嗯,所以有一个解决方案,只是还处于早期阶段。有趣的。

#define 扬声器不工作 #102 #102
qwewer0 评论了 2020 年 3 月 20 日  

在 Ender 3 的 Creality 示例文件中,定义了 SPEAKER,并且使用原始 Creality 板,压电扬声器/蜂鸣器(LCD 12864 显示器)能够产生音调,如下所示

但 SKR Mini E3 v1.2 开发板并非如此:

  • 如果定义了 SPEAKER,压电扬声器/蜂鸣器将不会发出任何声音。
  • 如果定义了蜂鸣器,压电扬声器/蜂鸣器会在打印机菜单中单击时发出短促的蜂鸣声,并在保存/加载设置时发出较长的蜂鸣声,但它仅使用 M300 命令发出单音/频率。

因此,据我所知,打印机压电扬声器/蜂鸣器 – 在我的例子中是 Ender 3 – 使用 SKR Mini E3 v1.2,应该能够播放不同的音调/频率,但事实并非如此。

我在最新的错误修复 (2020.03.19)、Ender 3、默认 LCD 12864 显示屏、SKR Mini E3 v1.2 板上对其进行了测试。
#15828

#define 扬声器不工作 #102 #102

固件自述文件明确指出扬声器不受支持,应将其注释掉:

https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V1.2

@bluegizmo83你能指点我吗,它在哪里说的?因为我到处都看不到。

#define 扬声器不工作 #102 #102
贡献者

@bluegizmo83你能指点我吗,它在哪里说的?因为我到处都看不到。

它在某个时候被删除,但仍然有效:f566258 #diff-ff79b8561e71a1edce74ddf853a29a5dL32

“注释掉//#define SPEAKER,如果你不注释掉这个,当你按下按钮时它会冻结”

#define 扬声器不工作 #102 #102
暗黑破坏神 评论了 2020 年 4 月 9 日  

有人可以尝试设置

#ifdef STM32_HIGH_DENSITY #define SERVO0_TIMER_NUM 4

在 src/HAL/STM32F1/timers.h 中?
@qwewer0
这有很小的机会可以解决它……我的电路板昨天坏了,所以我在等新的

编辑:还要确保您使用的是最新的 platformio

#define 扬声器不工作 #102 #102
暗黑破坏神 评论了 2020 年 4 月 9 日  

@bluegizmo83你能指点我吗,它在哪里说的?因为我到处都看不到。

它在某个时候被删除,但仍然有效:f566258#diff-ff79b8561e71a1edce74ddf853a29a5dL32

“注释掉//#define SPEAKER,如果你不注释掉这个,当你按下按钮时它会冻结”

编辑:错误的问题 nvm

#define 扬声器不工作 #102 #102

我也有完全一样的问题。

我把我原来的板换成了 skr mini e3 并用最新的 marlin 2.0 刷了它。

配置.h(默认)

// SPEAKER/BUZZER
//
// 如果您有可以发出音调的扬声器,请在此处启用它。
// 默认情况下,Marlin 假设您有一个固定频率的蜂鸣器。
//
//#定义扬声器

//
// UI 反馈声音的持续时间和频率。
// 将这些设置为 0 以禁用 LCD 菜单中的音频反馈。
//
// 注意:使用 G 代码测试音频输出:
// M300 SP
//
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
//#define LCD_FEEDBACK_FREQUENCY_HZ 5000

当我启用扬声器时

#定义扬声器;
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
#define LCD_FEEDBACK_FREQUENCY_HZ 5000″

播放m300歌曲,我再也没有任何声音可言。甚至不在菜单中。
当我将所有内容都保留为默认值时,声音又回来了。我也可以播放更长的音符(持续时间),但只能以相同的不可更改/默认频率播放。

stock ender 3 上的蜂鸣器绝对可以播放不同频率的歌曲,与原装板。

#define 扬声器不工作 #102 #102
所有者

大家好,根据这里#241(评论) M300现在应该可以正常工作了

#define 扬声器不工作 #102 #102

仍然不适合我。

更多细节在这里

#define 扬声器不工作 #102 #102
marknn3 评论了 2020 年 7 月 7 日  

仍然不适合我。

如果您错过了它,您应该手动更改文件 Tone.cpp 并将 TONE_CHANNEL 8 更改为 TONE_CHANNEL 4
参见#241
这个文件可以位于 C:\Users\ user \.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple\tone.cpp
当然在 Configuration.h 中设置 #define SPEAKER

这对我适用于 SKR Mini E3 V2.0。

不幸的是,扬声器声音很大
因此,我修改了 Tone.cpp 以支持音量!

这将扩展 M300 的功能,以一种非常简单和向后兼容的方式进行音量控制:

M300 P100 S880    ; Play 880Hz sound with default volume
M300 P100 S10880  ; Play 880Hz sound with volume level 1 (most quiet)
M300 P100 S20880  ; Play 880Hz sound with volume level 2
M300 P100 S30880  ; Play 880Hz sound with volume level 3

设置默认音量:

M300 P0 S10000  ; Set default volume to loudest (standard volume)
M300 P0 S10001  ; Set default volume to level 1 (most quiet)
M300 P0 S10002  ; Set default volume to level 2
M300 P0 S10003  ; Set default volume to level 3

在 GCode 的开头放置一个单曲M300 S10001 P0将使所有声音更加安静。

以下将播放友好的“ping”声音:

M300 S10000 P0  ; Set default volume to loudest
M300 S02640 P50 ; Play loudest sound
M300 S32640 P50 ; Play progressively quieter sounds 
M300 S22640 P50
M300 S12640 P150

请让我知道您对此的想法。

稍后将发布我的 Tone.cpp 文件版本。可能是 bigtreetech/Arduino_STM32 作为拉取请求。

#define 扬声器不工作 #102 #102

大家好,根据这里#241(评论) M300现在应该可以正常工作了

确认,100% 为我工作。

#define 扬声器不工作 #102 #102

通过应用更改,扬声器 M300 功能将恢复以换取 BLTouch。我将暂时留在 BLTouch。

#define 扬声器不工作 #102 #102

通过应用更改,扬声器 M300 功能将恢复以换取 BLTouch。我将暂时留在 BLTouch。

这也是我的经验,我将在下周的某个时候尝试使用新驱动程序

#define 扬声器不工作 #102 #102

仍然不适合我。

如果您错过了它,您应该手动更改文件 Tone.cpp 并将 TONE_CHANNEL 8 更改为 TONE_CHANNEL 4
参见#241
这个文件可以位于 C:\Users_user_.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple\tone.cpp
当然在 Configuration.h 中设置#define SPEAKER

这对我适用于 SKR Mini E3 V2.0。

不幸的是,扬声器声音很大
因此,我修改了 Tone.cpp 以支持音量!

这将扩展 M300 的功能,以一种非常简单和向后兼容的方式进行音量控制:

M300 P100 S880    ; Play 880Hz sound with default volume
M300 P100 S10880  ; Play 880Hz sound with volume level 1 (most quiet)
M300 P100 S20880  ; Play 880Hz sound with volume level 2
M300 P100 S30880  ; Play 880Hz sound with volume level 3

设置默认音量:

M300 P0 S10000  ; Set default volume to loudest (standard volume)
M300 P0 S10001  ; Set default volume to level 1 (most quiet)
M300 P0 S10002  ; Set default volume to level 2
M300 P0 S10003  ; Set default volume to level 3

在 GCode 的开头放置一个单曲M300 S10001 P0将使所有声音更加安静。

以下将播放友好的“ping”声音:

M300 S10000 P0  ; Set default volume to loudest
M300 S02640 P50 ; Play loudest sound
M300 S32640 P50 ; Play progressively quieter sounds 
M300 S22640 P50
M300 S12640 P150

请让我知道您对此的想法。

稍后将发布我的 Tone.cpp 文件版本。可能是 bigtreetech/Arduino_STM32 作为拉取请求。

选择音量的这一部分很有趣,但我不知道我可以在哪里设置这些参数……你能分享/展示你的 tone.cpp 吗?谢谢

#define 扬声器不工作 #102 #102
闪耀753 评论了 2020 年 11 月 30 日  

我有完全相同的问题,我的 C: 盘上没有 Tone.cpp,也没有任何“C:\Users\[user]\.platformio”文件夹。
我找到的唯一 Tone.cpp 在 Marlin 文件夹中,它不包含任何 TONE_CHANNEL。
你能帮我吗 ?

#define 扬声器不工作 #102 #102
sumguysr 评论了 2020 年 12 月 12 日  

我有完全相同的问题,我的 C: 盘上没有 Tone.cpp,也没有任何“C:\Users[user].platformio”文件夹。
我找到的唯一 Tone.cpp 在 Marlin 文件夹中,它不包含任何 TONE_CHANNEL。
你能帮我吗 ?

我敢打赌您需要将文件资源管理器设置为显示隐藏文件。

这是找到 .platformio 文件夹的另一种方法。在 Visual Studio Code 中,单击左侧的外星人图标。在快速访问树中单击平台。在 PIO 主页选项卡中单击 ST STM32。然后单击右上角的显示按钮。这将打开 /.platformio/platforms。向上一级目录,您可以找到/.platformio/packages。

#define 扬声器不工作 #102 #102

这将扩展 M300 的功能,以一种非常简单和向后兼容的方式进行音量控制:

很有意思

#define 扬声器不工作 #102 #102

稍后将发布我的 Tone.cpp 文件版本。可能是 bigtreetech/Arduino_STM32 作为拉取请求。

您的新文件将在哪里可用?

#define 扬声器不工作 #102 #102

我敢打赌您需要将文件资源管理器设置为显示隐藏文件。

好吧……他们没有隐藏……

这是找到 .platformio 文件夹的另一种方法。在 Visual Studio Code 中,单击左侧的外星人图标。在快速访问树中单击平台。在 PIO 主页选项卡中单击 ST STM32。然后单击右上角的显示按钮。这将打开 /.platformio/platforms。向上一级目录,您可以找到/.platformio/packages。

好的,找到了,谢谢!

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

14人参加
#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102#define 扬声器不工作 #102 #102

喜欢 (0)