電子工作

BrushKnobでパソコンの音量をコントロール

投稿日:2018年8月7日 更新日:

前回作ったBrushKnobは、ファームウェア(プログラム)の書き換えでパソコンのボリュームコントローラーにすることができます。

ノブを回して音量を上げたり下げたり、ボタンを押してでミュートと言った具合にコントロールができるようになります。

 

プログラムの書き換え

V-USB

BrushKnobは、V-USBと言うAVR用のUSBライブラリが使われています。
V-USBを使ったデバイスは他にも多く開発され公開されています。

 

USB Volume control

その中でも、USB Volume controlのと言うデバイスは、BrushKnobと似た回路でできています。
ピンの接続が若干違うだけなので、ソースを少し修正するだけでBrushKnobで動作させることができます。

今回は、USB Volume controlの公開されているソースのVer3に含まれるTiny85用を修正しました。

ソースの修正箇所は2カ所で

encoder.hの9~11行

//encoder port & pins
#define PORT_Enc 	PORTB 	
#define PIN_Enc 	PINB
#define DDR_Enc 	DDRB
#define Pin1_Enc 	3  // 4 から 3 に変更
#define Pin2_Enc 	4  // 3 から 4 に変更
#define Btn_Enc 	0  // 1 から 0 に変更
//______________________
#define RIGHT_SPIN 0x01 
#define LEFT_SPIN 0xff

usbconfig.hの33行

#define USB_CFG_IOPORTNAME      B
/* This is the port where the USB bus is connected. When you configure it to
 * "B", the registers PORTB, PINB and DDRB will be used.
 */
#define USB_CFG_DMINUS_BIT      1  // 0 から 1 に変更
/* This is the bit number in USB_CFG_IOPORT where the USB D- line is connected.
 * This may be any bit in the port.
 */
#define USB_CFG_DPLUS_BIT       2

encoder.hではロータリーエンコーダーの接続ピンの変更、usbconfig.hではUSBのD-端子の接続ピンを変更しています。

修正したソースをコンパイルし、hexファイルを作成して、それをBrushknobのTiny85に書き込みます。
尚、このソースは、AVR studio5.0用ということで、コンパイルにはAVR studio5.0が必要です。

私は間違えて5.1を入れてしまいましたが、5.1でもコンパイル可能でした。

 

自作BrushKnobはISP端子を省略して作っているので、プログラム書き換えの為に分解します。

 

AVRISPmk2を使ってTiny85のプログラムをVolume Controlの物に書き換えました。
しかし、何故かコンパイルに使ったAVR Studio 5.1でもAVRISPmk2が認識されない問題が発生して、書き込みにはまたAtmel Studio 7.0を使いました。

 

書き換えたTiny85を戻して、再び組み立てればPCの音量コントローラーの出来上がりです。
このデバイスもPCに接続するだけで認識されました。

 

今まではパソコンで音量をコントロールするのに、(私の場合)システムトレイのボリュームコントローラーを開いて調節していましたが、今回作ったVolume Controlはノブを回すだけで音量を調節できて、とても便利。

なので、Volume Control専用にBrushKnobをもう1つ作りたいなと思っています。

 

-電子工作
-, ,

執筆者:

関連記事

中国産Arduino Nano買ったら嫌な気持ちになった話

Arduinoの中ではNanoが使いやすくて良く利用しているのですが、手持ちのArduino Nano(互換機)が無くなったのでAmazonで追加注文しました。 で、届いたのがこちら 中国製のArdu …

BrashKnob

BrushKnob(ブラシノブ)を作ってみた

BrushKnob(ブラシノブ)は、Photoshop等のブラシの大きさを変えられるコントローラーです。 ノブとスイッチが1つづつ付いているだけのシンプルなコントローラー。 PCとの接続はUSBで行い …

モバイルバッテリー Arduino

ダイソーのモバイルバッテリーをArduinoに使う

前回買ったダイソーの500円のモバイルバッテリーをArduinoの電源として使いたいと思います。 しかし、ダイソーの物に限らずモバイルバッテリーをこう言った電子工作で使う場合、ちょっとした問題が有りま …

オートパワーオフキャンセラー

モバイルバッテリーのオートパワーオフキャンセラー

前回、単純なモバイルバッテリーのオートパワーオフをキャンセルするUSBアダプターを作りましたが、 今回は、もう少し省電力な物を作りました。 作った物 前回作ったものは、USBの出力に抵抗を付けて流れる …

LCR-T4

Maker御用達 とても便利な電子部品テスター LCR-T4

先日、LCR-T4と言う電子部品のテスターを買いました。 日本のAmazonで1240円でした。 HiLetgo® LCR-T4 9V 128*64 LCD抵抗コンデンサー ダイオード SCR トラン …