国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino的鍵盤(pán)輸入指法練習(xí)器

2019-07-23 01:51俞晗熠
科技視界 2019年15期

俞晗熠

【摘 要】鍵盤(pán)輸入文字仍然是計(jì)算機(jī)的常用輸入方法,用正確的指法實(shí)現(xiàn)盲打是提高鍵盤(pán)輸入速度的關(guān)鍵。從動(dòng)作技能形成的理論出發(fā)設(shè)計(jì)的指法練習(xí)器能有效地使初學(xué)者養(yǎng)成良好的輸入習(xí)慣。用開(kāi)源硬件Arduino 實(shí)現(xiàn)視覺(jué)和動(dòng)覺(jué)同步刺激,幫助使用者克服操作模仿階段依賴(lài)視覺(jué)控制,動(dòng)覺(jué)控制水平較低的狀況,加快技能的養(yǎng)成。

【關(guān)鍵詞】Arduino;鍵盤(pán)輸入;盲打;振動(dòng)電機(jī)

中圖分類(lèi)號(hào): TP312.1文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)15-0025-002

DOI:10.19694/j.cnki.issn2095-2457.2019.15.012

Keyboard-Input Fingering Trainer Based on Arduino

YU Han-yi

(College of International Education, Beijing University of Chemical Engineering, Beijing 100029, China)

【Abstract】In regard to the computer field, keyboard input is still the most significance methods of inputting information. In order to improve the typing speed, we should master touch-typing by forming a good typing habit. In this paper, we use an Arduino to develop a keyboard-input Fingering Trainer, which can help beginners to overcome some difficulties and develop this skill more quickly.

【Key words】Arduino; Touch-typing; Keyboard input; Shaking motor

1 工作原理

雖然智能手機(jī)已經(jīng)普及,通過(guò)鍵盤(pán)輸入文字仍然是計(jì)算機(jī)的常用輸入方法。用正確的指法可以使眼睛不看鍵盤(pán)輸入,實(shí)現(xiàn)盲打來(lái)提高輸入速度。但這項(xiàng)技能的獲得也需要經(jīng)過(guò)一段時(shí)間的認(rèn)真練習(xí)。使用本文設(shè)計(jì)的指法練習(xí)器,能縮短練習(xí)時(shí)間,提高練習(xí)的有效性,快速地形成動(dòng)作技能實(shí)現(xiàn)盲打。

在了鍵盤(pán)上鍵位的分布和基本的指法后,初學(xué)者練習(xí)輸入時(shí),往往要依賴(lài)視覺(jué),目光在屏幕與鍵盤(pán)之間不停游移。輸入速度慢,正確率低,容易感到疲勞、緊張從而產(chǎn)生厭倦使練習(xí)時(shí)間較短,甚至失去練習(xí)的興致。這是因?yàn)槭种笡](méi)有形成正確的條件反射,動(dòng)覺(jué)水平低,需要看按鍵的位置和當(dāng)前手指的位置,在目光的注視下?lián)翩I。離開(kāi)目光的注視,很難確定用哪個(gè)手指和手指動(dòng)作的幅度。對(duì)初學(xué)者來(lái)說(shuō),眼睛不看鍵盤(pán)的情況下,大腦對(duì)自己手指所處的位置和需要?jiǎng)幼鞯姆仁悄:?,所以往往?dòng)作遲疑并且正確率差,也容易產(chǎn)生疲勞感。

本指法練習(xí)器使用一副半指手套,在手指位置分別放置有微型振動(dòng)器。初學(xué)者戴上手套練習(xí)時(shí),在屏幕上出現(xiàn)需要輸入的字母,相應(yīng)的手指就會(huì)產(chǎn)生輕微的振動(dòng)。提示使用者用這個(gè)手指去擊鍵,屏幕上也會(huì)提示這個(gè)字符的鍵位。大腦接收到振動(dòng)信號(hào)后,與視覺(jué)接收到的信息結(jié)合,能快速確定需要?jiǎng)幼鞯氖种福l(fā)出明確的擊鍵指令??s短了反饋的路徑和時(shí)間,減少動(dòng)作的遲疑,增加確定性。這樣眼睛看鍵盤(pán)的次數(shù)少了,跳過(guò)了一般初學(xué)者練習(xí)時(shí)眼睛看鍵盤(pán)頻率從多逐步減少且正確率較低這一階段,加快了正確的動(dòng)作技能形成。

2 硬件實(shí)現(xiàn)

本練習(xí)器采用一塊Arduino UNO板作為控制板,負(fù)責(zé)把屏幕上要按動(dòng)的字母鍵轉(zhuǎn)換成對(duì)應(yīng)的手指振動(dòng)信號(hào),振動(dòng)元件使用手機(jī)上用的微型振動(dòng)電機(jī),分別放置于手套除大拇指外的其余8個(gè)手指上,手套使用露出手指的半指手套,減少對(duì)打字的影響。

Arduino UNO是基于ATmega328P單片機(jī)的開(kāi)發(fā)板,其同時(shí)具有14路數(shù)字輸入/輸出口和一個(gè)USB接口。因?yàn)樵阪I盤(pán)輸入練習(xí)時(shí),主要是除拇指外的8個(gè)手指需要反饋提示,所以在Arduino的數(shù)字端口連接8個(gè)振動(dòng)電機(jī)。PC機(jī)作為上位機(jī)用串口與Arduino進(jìn)行通訊。

振動(dòng)電機(jī)采用手機(jī)上常用的扁平馬達(dá),直徑約12MM,厚度約3.4MM,體積小,適合綴在手套上使用。它的輸入電壓范圍為2.5V-4.5V,額定電流約70mA,內(nèi)有偏心輪,電機(jī)轉(zhuǎn)動(dòng)時(shí)會(huì)發(fā)出振動(dòng)。串連一個(gè)整流二極管后可以直接連接到Arduino的數(shù)字端口。二級(jí)管有防止電機(jī)之間互相干擾和降壓的作用。雖然連接有8只振動(dòng)電機(jī),但處于輪流工作狀態(tài),不是同時(shí)工作,所需的電流不大,可以不用放大電路。經(jīng)過(guò)實(shí)驗(yàn)直接連接到Arduino的數(shù)字端口完全可以正常工作。Arduino板連接電腦的USB端口,由USB端口提供電源和與電腦通訊,不用連接其它外部電源,這樣設(shè)計(jì)電路很簡(jiǎn)潔。

3 程序的設(shè)計(jì)

用VB編寫(xiě)一個(gè)打字練習(xí)程序,為了提高用戶的練習(xí)趣味,可以設(shè)計(jì)成打字游戲的形式,但為了對(duì)需要擊打的鍵進(jìn)行即時(shí)提示,程序設(shè)計(jì)時(shí)注意要在屏幕上提示用戶當(dāng)前要輸入的是哪個(gè)字符,而不是同時(shí)出現(xiàn)多個(gè)字符,讓用戶可以自己選擇先輸入哪一個(gè)。

按照正確的輸入指法對(duì)要輸入的字符進(jìn)行分類(lèi),然后用MSComm 控件向作為下位機(jī)的Arduino傳遞字母。下位機(jī)接收到字母后,相應(yīng)的端口輸出一個(gè)高電平信號(hào),帶動(dòng)電機(jī)產(chǎn)生振動(dòng)。按實(shí)驗(yàn)的情況來(lái)看,對(duì)一個(gè)字符的振動(dòng)提示,持續(xù)的時(shí)間0.2~0.3秒為宜。

Arduino中的程序用Arduino IDE 編寫(xiě),程序主要的功能是接收從PC機(jī)發(fā)送的信號(hào),用接收到的字母控制相應(yīng)端口連接的電機(jī)適時(shí)工作。下面是接收字母“B”使6號(hào)端口電機(jī)振動(dòng)的例子,其它端口的程序編寫(xiě)相似。

void setup() {

Serial.begin(9600);//串口通信速率設(shè)置為9600bps

pinMode(6,OUTPUT); //6號(hào)數(shù)字口設(shè)置為輸出

}

void loop() {

digitalWrite(6,LOW); // 輸出低電平

if (Serial.available()>0 ) { ? //檢查串口緩存中是否有數(shù)據(jù)等待讀取

char serialData = Serial.read(); ? ? //讀取串口緩存中等待的字符

if(serialData=='B') //如果上位機(jī)發(fā)送字符'B'

{

digitalWrite(6,HIGH); //輸出高電平,電機(jī)振動(dòng)

delay(200); ? ? ? ? ?//持續(xù)0.2秒

digitalWrite(6,LOW); //輸出低電平,停止振動(dòng)

}

}

}

4 應(yīng)用效果

本文給出的基于Arduino設(shè)計(jì)的鍵盤(pán)輸入指法練習(xí)器,已經(jīng)提供給初學(xué)打字的小學(xué)生和部分指法不夠正確的初中生使用,反響很好。使用時(shí)在初步了解鍵位布局后就能逐步適應(yīng)不看鍵盤(pán)只感受手指上傳來(lái)的輕微振動(dòng)來(lái)按鍵。按鍵速度加快了,正確率也大有提高。并且練習(xí)時(shí)不急躁,不亂按鍵,不易感到緊張疲勞。對(duì)短時(shí)間內(nèi)感受到自己的提高有成就感。

【參考文獻(xiàn)】

[1]李江全,張麗,岑紅蕾著.《Visual Basic串口通信與測(cè)控應(yīng)用技術(shù)實(shí)戰(zhàn)詳解 》,人民郵電出版社,2007.

[2]吳忠海.《用VB+Arduino開(kāi)展創(chuàng)客式教學(xué)》,中小學(xué)信息技術(shù)教育,2016(2).

和顺县| 永顺县| 犍为县| 眉山市| 原阳县| 兴和县| 永川市| 黔西| 长寿区| 故城县| 凌云县| 南投市| 邯郸县| 宣化县| 阜新市| 鸡西市| 浙江省| 民县| 方城县| 射洪县| 林周县| 富民县| 崇左市| 监利县| 沾化县| 宁武县| 班戈县| 三明市| 河北省| 会泽县| 宿州市| 波密县| 巴彦县| 赤壁市| 安宁市| 山西省| 武汉市| 邛崃市| 东兰县| 岑溪市| 延津县|