在klipper固件中驅(qū)動蜂鳴器的方法

klipper雖然默認(rèn)不支持蜂鳴器功能,但還有一個方法可以使用命令手動操作蜂鳴器,這個功能能夠在打印機需要用戶參與工作時起到作用,
原理是將控制蜂鳴器的針腳定義為一個用戶可控的PWM針腳,將控制針腳的命令放在切片軟件里需要的地方,這樣就能夠在打印機需要用戶的時候提醒人們幫助他
蜂鳴器雖然過時,但仍然會有發(fā)揮用處的時候,特別是當(dāng)具有網(wǎng)絡(luò)功能的打印機無法與外界通訊的情況下
[output_pin BEEPER_Pin]
pin: PC0
#此引腳默認(rèn)支持使用mega2560類主控的主板,如果您使用了別的主控,
#需要查詢一下該板對應(yīng)12864屏幕在exp引腳集內(nèi)預(yù)留的蜂鳴器針腳名
pwm: True
value: 0
shutdown_value: 0
cycle_time: 0.001
scale: 1
[gcode_macro M300]
gcode:
?{% set tones = [1000, 1500, 2000, 2500, 3000, 2500, 2000, 1500, 1000] %} ; S sets the tone frequency
?{% for count in tones %}
?{% set cytime = 1 / count %}
?SET_PIN PIN=BEEPER_Pin VALUE={0.5} CYCLE_TIME={cytime} ;Play tone
?G4 P50 ;tone duration
?SET_PIN PIN=BEEPER_Pin VALUE=0
?{% endfor %}
?
#這是一個讓蜂鳴器演奏一小段旋律的G代碼宏,當(dāng)遇到需要使用蜂鳴器的時候您可以將"M300"
#這條命令加到需要的地方,比如加到切片軟件的結(jié)束G代碼內(nèi),每當(dāng)打印任務(wù)完成時,“M300”這個命令就能讓蜂鳴器播放提示音,打印機會告訴您可以出鍋了
