Monthly Archives: 8 月 2015

用PsychoPy玩實驗(4)

上次有介紹到如何撰寫簡單的指導語,由於PsychoPy無法接受中文字(儲存路徑也不能有中文),因此若要以「Text Components」來編輯指導語,我們就只能寫英文。

寫完指導語後,我們所看到的實驗流程應該是這樣的狀態:

text ok

緊接著,我們要設定指導語的結束條件,記得稍早編輯「inst」文字物件的時候,我們在「Stop」的地方留白嗎?

其實這是為了透過留白的方式,另外插入一個由反應鍵所控制的結束條件。一般而言,讓一個物件結束的方式有很多種,我們可以讓它時間到就自然結束,或是在實驗參與者「進行反應」後結束。

以指導語來說,我們通常會讓實驗參與者有足夠的時間閱讀,因此比較理想的作法,應該是讓實驗參與者可以自由控制它的結束時間,為了達到這個目的,我們要先插入一個反應物件。

在旁邊的Components欄位,選擇「Responses」,這裡有許多的反應種類,由於我們要使用「鍵盤」進行反應,所以我們可以先點選紅色框框裡的「Cedrus」。

responses
在這裡特別注意,在Linux系統當中,物件欄裡的「Keyboard」和「Cedrusbuttonbox(註1)」都是用同樣的圖示,這應該是錯誤的,但最近幾次的版本卻都沒有更新,我們如果不確定自己是否選到鍵盤,就要看開啟後的物件標題。

keyboard

物件的標題是「Keyboard Properties」,表示我們選對了。

我們這時候就可以開始編輯它的內容,和剛才的「Text Components」很像,從上而下分別是「物件名稱」、「起始條件」、「結束條件」、「使Routine結束(勾選)」、「允許使用的按鍵」、「儲存的時機」、「設定正確的反應」以及「捨棄此物件之前的反應(勾選)」。

由於這只是用來控制指導語結束的時機,我們不必把它設定得太複雜:

1、「Name」的部份可以輸入「inst_resp」,表示它是用來控制「inst」的「response」。

2、「Start」的地方維持原樣即可。目前的意思是以「時間」為起始條件,並在「0.0」秒的時候開始。

3、「Stop」的條件,預設是空白,保持這樣就可以了。

4、「Force end of Routine」的框格,預設是勾選,因為我們是打算讓實驗參與者「按鍵反應則結束指導語」,所以就維持在勾選的狀態。

5、「Allowed keys」的部份,我們只留下「’spece’」,這表示實驗參與者只能按空白鍵做反應,否則它不會接受。

6、「Store」的部份,我們可以設定電腦儲存反應的時機,預設條件是儲存實驗參與者所進行的最後一個反應,但這只是個指導語,所以我們可以選擇「nothing」,避免之後的data太過雜亂。

7、「Store correct」的部份,可以幫我們設定這個反應的「正確答案」,由於這只是指導語,我們就不必理會它。

8、「Discard previous」的部份,預設是打勾,顯示為捨棄先前的反應,我們保持原樣即可。

把上述的條件都設定完成後,我們只要再按下「OK」,就會在這個trial裡得到一個名為「inst_resp」的反應物件。

inst resp

設定好反應鍵後,我們可以先回到稍早編輯過的「inst」文字物件,並把其中文字內容的「Choose the larger of two numbers.」下面再多補充一行「Press ‘space’ to continue.」,讓實驗參與者知道該按什麼鍵來繼續實驗。

編輯完成後,我們可以試著執行目前的實驗,看效果如何。按下上欄「綠色圓裡有白色小人在跑」的「Run」圖示,或是按下鍵盤的「Ctrl+R」,都可以執行實驗。

此時,如果我們是第一次執行,就需要先把實驗存檔,設定它的名稱與儲存路徑(我現在是將它命名為「sample」),然後儲存即可。
注意!這個路徑不能包含任何的中文字,否則可能會無法執行。

start

完成儲存後,緊接著會跳出一個視窗,詢問實驗參與者的名稱與預設為001的session。此時我們只要輸入「participant」的名稱,按下「OK」即可執行!

run1

這就是按下「Run」之後的畫面,如果無法順利執行,請確認之前所介紹的部份是否都有正確編輯。

在進入這個畫面後,除非按下我們預先設定的「space」鍵,否則無法結束指導語,反過來說,一旦按下「space」鍵,也就達成了結束指導語的條件。

目前我們已經把指導語完成,也把實驗存檔了,接下來會開始進入實驗的本體部份,我們下次再見!

***

註1:Cedrusbuttonbox

Leave a Comment

Filed under 用PsychoPy玩實驗