朋友工作需要, 希望能有個PPT簡報控制器, 雖然市售有一大堆, 但是我們要發揮土炮的DIY精神, 配合Arduino自造者神器, 結果再次證明Arduion果然是威力強大啊...
找出用不到的315M遙控器, 把其中一顆按鈕改成激光頭(Laser)的控制按鈕, 其餘三顆分別為:上一頁, 下一頁, 全螢幕播放簡報+從重開始
左邊的12V升壓板是給上面那個遙控器電路用的, 激光頭本來是用5V, 改成和遙控器一樣的電源12V, 因電壓升高, 所以激光頭的電阻要改一下, 不然激光頭很燙, 會不會燒掉, 我不知道
18650鋰電池是用一顆2.6A的, 所以充飽一次電, 應該是可以用很久....很久...很久...
電腦這邊是315M的接收模組, 搭配遙控器的, Arduino控制板則是用Pro Micro, 用pro micro是因為它很小
程式碼如下
boolean RA_Key, RB_Key, RD_Key;
unsigned char Button_Times = 0xFF;
unsigned char Last_Button_Times = Button_Times;
char Bnumber=0;
void setup() {
pinMode(17, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(5, INPUT);
Serial.begin(9600);
//while(!Serial) ;
Keyboard.begin();
Serial.println("The program start up...");
}
void loop() {
RA_Key=digitalRead(2);
RB_Key=digitalRead(3);
RD_Key=digitalRead(5);
if(RA_Key) {
delay(10);
Bnumber=1;Button_Times=0x01; }
else if(RB_Key) {
delay(10);
Bnumber=2;Button_Times=0x02; }
else if(RD_Key) {
delay(10);
Bnumber=3;Button_Times=0x03; }
else {
delay(10);
Bnumber=99;Button_Times=0xFF;
digitalWrite(17, HIGH); //low active
}
if(Button_Times != Last_Button_Times) {
Last_Button_Times=Button_Times;
switch(Bnumber) {
case 1:
digitalWrite(17, LOW); //low active
Keyboard.press(KEY_RIGHT_ARROW);
delay(10);
Keyboard.releaseAll();
break;
case 2:
digitalWrite(17, LOW); //low active
Keyboard.press(KEY_LEFT_ARROW);
delay(10);
Keyboard.releaseAll();
break;
case 3:
digitalWrite(17, LOW); //low active
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_F5);
delay(10);
Keyboard.releaseAll();
Keyboard.press(KEY_HOME);
delay(10);
Keyboard.releaseAll();
break;
}
}
}
厲害:P
回覆刪除最近有個spotlight的簡報筆
不知道能不能DIY製作出類似功能?
剛看了spotlight, 它需要軟體配合才能實現, 單純想用arduino micro做出來是不太可能, 但是如果你自己寫window程式倒是有可能, 用快速鍵做對應
刪除