・2021/11/07
QMK firmwareで Audio機能を試してみる
(QMK firmware test Audio function with Piezo buzzer)
Tags: [電子工作], [QMK]
● QMK firmwareの関連記事
・2021/08/23
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築
・2022/01/09
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA
・2021/08/11
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入
● QMK firmwareの Audio機能を使ってキーボードから音を出すテスト
ブザーとしては圧電ブザーを買いました。
分解して確認した所、中身はコイルが巻いてある電磁ブザーでした。
(圧電素子のブザーかと思っていたら違っていた)
● QMK firmwareの Audio機能を使ってキーボードから音を出してみるテスト
FREEWING-JP / qmk_firmware / test_audio
Audio機能のテストのソースリスト一式。
● QMK firmwareの Audio機能の実装でキモになる所
QMK - Audio
ここの QMK公式ページの通り。
rules.mk
AUDIO_ENABLE = yes # Audio output
config.h
#ifdef AUDIO_ENABLE
#define AUDIO_PIN C6
#define NO_MUSIC_MODE // Save 2000 bytes
#endif
#define NO_MUSIC_MODEでプログラムのサイズを 2000バイト削減できます。
CapsLockで音を出すサンプル
keymap.c
#ifdef AUDIO_ENABLE
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
#endif
bool led_update_user(led_t led_state) {
#ifdef AUDIO_ENABLE
static uint8_t caps_state = 0;
if (caps_state != led_state.caps_lock) {
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
caps_state = led_state.caps_lock;
}
#endif
return true;
}
キーを押した時に音楽を鳴らすサンプル
freewing/test_audio/keymaps/default/keymap.c
enum custom_keycodes {
QMKSONG1 = SAFE_RANGE,
...
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
QMKSONG1, QMKSONG2, QMKSONG3, QMKSONG4,
float song1[][2] = SONG(CAMPANELLA);
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKSONG1:
if (record->event.pressed) {
// when keycode QMKSONG1 is pressed
PLAY_SONG(song1);
} else {
// when keycode QMKSONG1 is released
}
break;
...
● QMK firmwareの Audio機能の回路図
・QMK firmwareの Audio機能の回路図
4x4のマトリクスで 16キー入力のサンプルプログラムも兼ねています。
● QMK firmwareの Audio機能の動画
QMK Firmware Audio test with Pro Micro and Piezo Buzzer
● QMK firmwareの Audio機能の動画
ブザーを I/O端子に直結の場合と 1kΩの抵抗を入れた場合とでの音量の比較。
I/O端子は +5V動作です。
QMK Firmware Audio Volume test with Pro Micro and Piezo Buzzer








●その他の QMK キーボードの試作品
Quantum Mechanical Keyboard
・Piezo Buzzer = Passive
他励振タイプ(パッシブ、受身)の圧電ブザーの Audio機能の確認
・Analog Joystick = PSP-2000 compatible
PSP-2000互換のアナログ ジョイスティックによるマウス操作、ゲームコントローラ操作
・OLED Display = I2C SSD1306 128x32
I2C接続の有機 LEDディスプレイ SSD1306 128x32の表示確認
Hand Wired QMK Firmware test with Pro Micro and Buzzer Analog Joystick OLED SSD1306
PSP-1000、PSP-2000、PSP-3000とで接続部分が異なります。
PSP-2000の物が一番簡単だと思います。
● Switchのジョイコンを使う場合は MicroUSBの変換基板を接続用として転用します
Switchのジョイコンを使う場合は MicroUSBの変換基板の USBコネクタ部分を 0.5mmピッチの FPCコネクタに載せ換えて変換基板として代用します。
※ 0.5mmピッチのフレキシブルケーブルに直接の半田付けは不可能です
●その他
村田製作所 - 圧電サウンダのFAQ、圧電サウンダ、圧電振動板 (他励振タイプ) の駆動回路例を教えてください。
Tags: [電子工作], [QMK]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】
夏休みが明けたら 僕のキーボードが最強になって クラスのみんなから MMK 大作戦
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築
QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法
QMK firmware How to Reduce Program Size、Reducing QMK firmware size
QMK firmwareで I/Oピンが足りない場合にデコーダ、デマルチプレクサを使用して IOを拡張する解決方法
QMK firmware expand I/O for many matrix keyboard、How to use IO Expander Multiplexer / Demultiplexer / Decoder
QMK firmwareで I/Oピンが足りない場合に I2Cの GPIOエキスパンダを使用して IOを拡張する解決方法
QMK firmware expand I/O for many matrix keyboard、How to use I2C GPIO Expander PCF8574 and PCF8575
QMK firmwareで OLED機能で SSD1306を試してみる
QMK firmware test OLED Driver with SSD1306
QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる
QMK firmware test Analog Joystick function with PSP2000 Analog Stick
最新の QMK firmwareで new_keyboard.shのコマンドが動かなくなったのを修正する方法
QMK Bugfix Create New Keyboard new_keyboard.sh command No such file or directory Error
QMK firmwareの Githubを forkした自分のリモートに pushすると怒られて pushできない場合の対応方法
refusing to allow an OAuth App to create or update workflow `.github/workflows/api.yml` without `workflow` scope
中華製の格安なプログラマブル USBキーボードを買ってみた QMK VIAとは別物
中華製のプログラマブル USBキーボード KeyboardSetter.exe
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2021 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/hardware/qmk_firmware_test_audio_function_piezo_buzzer/