HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

[NEW] 2021/11/07

QMK firmwareで Audio機能を試してみる QMK firmwareで Audio機能を試してみる

(QMK firmware test Audio function with Piezo buzzer)

Tags: [電子工作]




● QMK firmwareの関連記事


[NEW] 2021/08/23
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法

  ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築

[UPDATE] 2022/01/09
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法

  BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA

[NEW] 2021/08/11
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応

  キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入


● QMK firmwareの Audio機能を使ってキーボードから音を出すテスト

 ブザーとしては圧電ブザーを買いました。
 分解して確認した所、中身はコイルが巻いてある電磁ブザーでした。
 (圧電素子のブザーかと思っていたら違っていた)

今回購入


ACEIRMC Pro Micro ATmega32U4 5V/16MHz Arduino用 互換マイクロコントローラ Micro USB 開発ボード (3個セット)
ASIN: B08HC9KHJC

KeeYees Pro Micro ATmega32U4 5V/16MHz 互換マイクロコントローラ Micro USB 開発ボード (3個)
ASIN: B07Q4VRT36

KKHMF 2個 Leonardo Pro Micro ATmega32U4 5V/16MHz ブートローダ マイクロ USB Pro Mini 開発ボード Arduinoに対応
ASIN: B081DY1NWW

VKLSVAN Pro Micro USB ATmega32U4 5V/16MHz マイクロコントローラ Micro USB 開発ボード Arduinoに対応
ASIN: B086GPX434

今回購入


PCマザーボード用 ブザーユニット 6個セット ビープ音 スピーカー PCマザーボード用ブザー ブザーユニット 紛失予備 問題チェック
ASIN: B091TGSX4N

uxcell 圧電ブザー 10個入り ブラック プラスチック メタル 9mmx5.5mm
ASIN: B01HXP3X1M

EasyWordMall 10個パッシブブザー 電磁 ユニバーサル インピーダンス 16Ohm AC 2KHZ 3V 5V 12V
ASIN: B0177W99A0


【エナメル線】UEW 2種 ポリウレタン銅線 0.2mm 20m
ASIN: B016GN5YTQ

グルーガン 小型 40W 急速加熱 耐熱性ホットメルト接着剤ガン 強力粘着 ぐるーがん 高品質グルースティック10本付 超軽量 安全性 手芸用 DIY趣味 【12ケ月品質保証】
ASIN: B07RM1FNSR


● 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機能の回路図
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 firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図


QMK firmwareの Audio機能の回路図




●その他の 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


今回購入


KKHMF 2個 0.91 インチ IIC I2C シリアルOLED液晶ディスプレイモジュール 128x32 3.3V/5V AVR PIC Arduino UNO MEGAに対応 「国内配送」
ASIN: B088FLH7DG
今回購入


PSP2000対応パーツ アナログスティック ブラック
ASIN: B004CDIH3S
 PSP-1000、PSP-2000、PSP-3000とで接続部分が異なります。
 PSP-2000の物が一番簡単だと思います。

● Switchのジョイコンを使う場合は MicroUSBの変換基板を接続用として転用します

 Switchのジョイコンを使う場合は MicroUSBの変換基板の USBコネクタ部分を 0.5mmピッチの FPCコネクタに載せ換えて変換基板として代用します。
 ※ 0.5mmピッチのフレキシブルケーブルに直接の半田付けは不可能です


Switch ジョイコン修理パーツ NS Joy-con対応 コントロール 右/左 専用修理キット ジョイスティック3個入 親指キャップ 6個付き コントローラー修理 交換用 使いやすい
ASIN: B08VN88BPS

KOZEEYメス マイクロ USB → DIP 5ピン ピンボード 2.54mm マイクロ USB 10個
ASIN: B0183KF7TM

uxcell フラットケーブルコネクタ FFC FPCリボンソケットコネクタ プラスチック 金属 0.5mmピッチ 5ピン 10個入り
ASIN: B078991S29


●その他
村田製作所 - 圧電サウンダのFAQ、圧電サウンダ、圧電振動板 (他励振タイプ) の駆動回路例を教えてください。



Tags: [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法

  BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA

QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法

  ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築

QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法
QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法

  QMK firmware How to Reduce Program Size、Reducing QMK firmware size

QMK firmwareで I/Oピンが足りない場合にデコーダ、デマルチプレクサを使用して IOを拡張する解決方法
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で 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で本当の自作キーボードを簡単に作る方法
QMK firmwareで本当の自作キーボードを簡単に作る方法

  QMK firmware easily create 4x4 matrix own original keyboard

QMK firmwareで OLED機能で SSD1306を試してみる
QMK firmwareで OLED機能で SSD1306を試してみる

  QMK firmware test OLED Driver with SSD1306

QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる
QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる

  QMK firmware test Analog Joystick function with PSP2000 Analog Stick

最新の QMK firmwareで new_keyboard.shのコマンドが動かなくなったのを修正する方法
最新の 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できない場合の対応方法
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キーボードを買ってみた QMK VIAとは別物

  中華製のプログラマブル USBキーボード KeyboardSetter.exe

社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
社畜のキーボード「新入社員の同期」を購入してみた!! 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/