本文最初發佈在deviceplus.jp網站上,而後被翻譯成英語。
在這篇文章中,我想嘗試一下,看看用“Arduino Pro Micro”功能還能實現哪些 “Device Plus “風格的創造!
專案說明
預計完成時間:60分鐘
所需元件
目錄
我經常一邊用電腦工作一邊聽音樂,然而總是會在調節音量方面遇到問題。因為筆記型電腦的音量鍵在鍵盤上,所以只要按下這個鍵就可以了。然而桌上型電腦並沒有這個鍵,所以就相對麻煩些。
以Windows系統為例,必須點擊螢幕右下方的揚聲器圖示或者使用一些播放軟體的音量調節控制項才能調節音量。現在,為了解決這個煩惱,我將創建一個可以輕鬆改變音量的設備!
這次仍然使用Arduino Pro Micro,並且今後我也會繼續用它來實現一些專案。
我以前就想過要創建一個音量調節設備,但當我為寫這篇文章查找資料時,才發現:在Windows系統中,可以用鍵盤上的”Win “+”PageUP “鍵調高音量,用 “Win “+”PageDown “鍵調低音量!
然而有些問題仍待解決:”Win “鍵和 “PageUP “鍵及 “PageDown “鍵相距甚遠,必須使用雙手才能同時按下它們。因此,我還是決定嘗試製作這個僅用一個旋鈕就可以控制音量的設備!
如何用Arduino調節音量
雖然之前已經介紹過了,但我們仍需考慮如何利用Arduino上的鍵盤命令去調節音量。
在旋轉可調電阻的同時,只要獲取電阻的狀態就可以實現音量的增減。但是這種方法無法知道當前的音量值,所以無法進行更精細的調節。然而,隨便用用並不需要考慮這麼細的問題,那麼讓我們嘗試一下吧!
在Windows系統上可以通過結合圖片中標記的按鍵來調節音量。這些按鍵被作為虛擬命令發送到Arduino Pro Micro。
既然能夠調節音量,那我們也來設置一下可調電阻。這個電路很簡單,用類比輸入(引腳 A0)來檢測可調電阻的值,並根據該值的增減嘗試向Windows端發送按鍵命令。
調節音量的程式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include "Keyboard.h" int _pos = 0; void setup() { Keyboard.begin(); Serial.begin(9600); } void loop() { int ain = analogRead(A0); delay(10); // Volume UP: if((_pos-2) > ain){ Keyboard.press(KEY_LEFT_GUI); Keyboard.write(KEY_PAGE_UP); Keyboard.releaseAll(); delay(500); Serial.println("Volume UP"); } // Volume Down: if((_pos+2) < ain){ Keyboard.press(KEY_LEFT_GUI); Keyboard.write(KEY_PAGE_DOWN); Keyboard.releaseAll(); delay(500); Serial.println("Volume Down"); } _pos = ain; } |
在這個程式中,如果當前的電阻值不等於之前狀態的電阻值,_pos-2)> ain等條件陳述式將會被執行。但是曾經出現過即使未旋轉電阻,阻值也會在±1~3這個範圍輕微波動的情況,因此我們將誤差範圍設為±2,這樣即使電阻值波動也不會發生誤動作。
我們嘗試轉動音量旋鈕,Windows系統上的聲音也同時產生了變化! 現在,用電腦工作已經變得更加輕鬆舒適了!
只是這一點工作貌似缺點什麼,那讓我們再給它做一個外殼吧。我在當地的商店買了一塊價格合適的木料,接著只需要用電鑽打孔來安裝可調電阻即可。
安裝一個ON/OFF開關。
鑽一個大小合適的孔,並把Arduino和相關配件放在裡面。
可以直接將外殼與Arduino焊接在一起,但由於我還想再使用它,所以沒有焊死,還可以插拔。
之後,將Arduino放在孔內就大功告成了。讓我們檢查一下它是否還能繼續工作。
非常完美!現在觀感與普通的Arduino相比更加驚豔,不是嗎?
在今天的文章中,我們基於Arduino Pro Micro開發了一個音量調節設備。配合操作鍵盤快速鍵或滑鼠,您還可以通過Arduino Pro Micro創建專門幫助遊戲完成某個特定過程或完成一些簡單任務的設備。試試吧,看看您能創造出哪些驚喜。