Arduino 自製天堂神器

arduino 自製天堂神器

展示

準備

Arduino Leonardo 1個

Arduino Leonardo
必須要使用 Leonardo 才能使用虛擬鍵盤 Keyboard 指令

*UNO 不支援虛擬鍵盤 Keyboard

LD3320 1個

LD3320

杜邦線 多條

開始

第一步、連接元件

依照圖示使用杜邦線將孔未連接

杜邦線連接示意圖

LD3320 連接方式
3.3V – VCC

GND – GND

*MISO – MISO

*MOSI – MOSI

*SCK – SCK

NSS – D4

RST – D9

WR – GND

IRQ – D2

記號 * 的部分需要插置 ICSP 位置

ICSP 對應圖

第二步、程式碼撰寫

Arduino IDE

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <ld3320.h>
#include "Keyboard.h"

VoiceRecognition Voice; //聲明一個語音辨識對象

void setup(){
Serial.begin(9600);
Keyboard.begin();
Keyboard.releaseAll();

Voice.init(); //初始化VoiceRecognition模組
Voice.addCommand("Chao Shou Di Ren Gong Ji", 0);
Voice.addCommand("Ti Li Bu Zu Liao", 1);
Voice.addCommand("Syu Yao Geng Duo De Yao Shuei", 2);
Voice.addCommand("Syu Yao Jheng Li Yi Sia Bei Bao", 3);
Voice.start();//開始辨識
}

void loop() {
switch(Voice.read()){
case 0:
Keyboard.press('3');
delay(50);
Keyboard.releaseAll();
Serial.println("遭受敵人攻擊了");
break;

case 1:
Keyboard.press('4');
delay(50);
Keyboard.releaseAll();
Serial.println("體力不足了");
break;

case 2:
Keyboard.press('4');
delay(50);
Keyboard.releaseAll();
Serial.println("需要更多的藥水");
break;

case 3:
Keyboard.press('4');
delay(50);
Keyboard.releaseAll();
Serial.println("需要整理一下背包");
break;

default:
break;
}
}

addCommand: 設定想要辨識的詞句 拼音為主

Keyboard.press: 設定虛擬鍵盤按下的按鈕

Keyboard.releaseAll(): 鬆開按下的按鈕

delay: 設定延遲時間

第三步、上傳程式碼

燒入前先檢查開發版是否選擇正確

開發版檢查

如果設定皆無誤即可按下上傳

上傳按鈕範例

上傳成功後即可立即測試指定語音是否能正常觸發按下按鈕囉 ~

今天的分享就到此結束

Thank you! 😄


參考