スマホde心理学基礎実験 2023/7/13 更新

スマホでできる心理学実験の自作のプログラム集です。本サイトにアクセスするだけで実験が可能です。もちろん、パソコンでもできます。現在、以下のプログラムを作っておりますが、随時増やしていければと思っています。

実験メニュー

デモは各プログラムの
DEMO
をクリックするとはじまりますので、指示にしたがって体験してみてください。

プログラムの概要

 新型コロナウィルスの感染拡大に伴い、多くの大学が遠隔授業になってしまいました。講義科目ならば遠隔でも可能ですが、実験はそうはいきません。ただ、心理学の基礎実験であれば、パソコンでもできます。学生さんが自宅に居ながら実験をしてもらい、レポートを書いて提出してもらうことも可能です。
 ただ、パソコンを持っていないという学生も少なからずいますので、外出自粛の機会にスマートフォンでできる実験プログラムを作ってみました。スマホでできるようにしておけば、遠隔でなく通常の授業ができる場合でも、実験器具が不要になります。

 どのプログラムも、最初に実験条件の設定を行います。条件の設定がおかしい場合は警告が出て、実験に進めないようにしています。実験の開始前に簡単な操作説明が出るようにしています。練習試行はとくに設けていませんので、最初、簡単な条件設定で試した後に、再度条件を設定し直して本実験に入るとよいでしょう。
 プログラムの一部には、デモができるようにもしています。授業で利用する場合、最初にデモをやってみて概要を理解してやってもらうのもいいかと思います。デモがないものも、試行数を少なく設定して試してみるといいでしょう。
 途中で実験をやめる場合は、ブラウザの「戻る」ボタンを押すと、最初の条件設定画面に戻ります。ただし、データはすべて失われてしまいますので注意してください。

利用環境

 JavaScriptで書いたプログラムですので、Webブラウザがあれば実行できます。パソコンでもスマホでも可能です。すべてのブラウザやデバイスでテストしたわけではありませんが、手持ちのInternet Explorer, Edge, Firefox, Safari, Chromeでは確認しました。HTML5に対応していれば大丈夫ですので、最近の機器であれば問題ないと思います。
 スマホの場合、画面サイズが小さいと、刺激がはみ出ることがあるかもしれません。スマホでは、横向きで実験してください。縦向きになっていると、横向きにするようにメッセージが出るようにはしています。
 デバイスやブラウザによってうまく動かない場合、ご一報ください。

データファイル

 実験が終わると、データファイルの保存ができます(デモの場合はできません)。CSVファイルになります。保存のしかたはブラウザの指示にしたがってください。データの内容は、個々のプログラムで異なりますが、見ればわかる内容だと思います。授業で学生さんが使うことを前提としていますので、自分でデータ整理をしてもらうために、あえて、条件分類はせずに、試行順で出力するようにしています。
 データファイル名は実験の名称に日付時刻が付されたものになります(ミューラーリヤー錯視の場合、刺激図形の種類もファイル名に付加されます)。

 スマホで使う場合、必ずスプレッドシートのプログラムを入れておいてください。 保存のしかたが、利用環境によって異なるようです。次のようなケースがあります。
  • データが保存されても、何も変化しない。Numbersなどのスプレッドシートを起動すると、ファイルが保存されていることが確認され、読み込むことができる。
  • 画面上にファイルの内容が表示され、「共有」ボタンを押して、Numbersなどのスプレッドシートに共有させる。
  • 画面上にファイルの内容が表示されるが、「共有」できない。画面上のデータをコピーして、自分でスプレッドシートにペーストする。

ミューラーリヤー錯視

ミューラーリヤー錯視の実験プログラムはこちら
 ミューラーリヤー錯視を調整法で行う実験です(データとしては主観的に等価だと調整した長さ)。

●実験条件の設定
Angle(degree) 15deg 30deg 45deg 60deg 90deg  矢羽根の角度の設定
Length(pixels) 45px 60px 80px  矢羽根の長さの設定
Standard stimulus(200px) <---> >---< ---
 標準刺激の選択。内向図形、外向図形、線分だけの図形
Comparison stimulus         <---> >---< ---
 比較刺激の選択。内向図形、外向図形、線分だけの図形
 ※標準刺激と比較刺激に同じ図形を選択することはできません。
Counterbalancing of location yes no
 標準刺激の位置のカウンターバランス。通常は左。"yes"を選択し、カウンターバランスをすると、左右ランダムに提示。
Counterbalancing of adjustment yes no
 比較刺激の調整のカウンターバランス。通常は短くしておき、長くさせる上昇のみ。"yes"を選択し、カウンターバランスをすると、長いほうから短くする下降もランダムに
N of trials for each condition:
 条件の組み合わせごとの試行数。最大で20まで選べます。

[OK]を押すと、設定条件の一覧を表示し、全試行数も計算。

●ファイル名に付加される文字列と刺激図形の種類
・ファイル名の例 Muller_ s_in--c_ou_202007251008.csv
 標準刺激が内向図形で、比較刺激が外向図形
  • s_in : 標準刺激 内向図形
  • s_ou : 標準刺激 外向図形
  • s_ne : 標準刺激 中性刺激
  • c_in : 比較刺激 内向図形
  • c_ou : 比較刺激 外向図形
  • c_ne : 比較刺激 中性刺激
●更新履歴
  • 2.1(2020/5/24) デモプログラムの表示内容の変更。ボタンの配置の修正。
  • 2.0(2020/5/6) デモプログラム追加。スマホの向き検出。スマホスクロール禁止。
  • 1.2(2020/4/30) IEやEdgeで2回データダウンロードする不具合を解消。ファイル名の日付時刻を2桁に統一(1桁の場合、前に0を挿入)
  • 1.1(2020/4/29) データダウンロード時に3秒後に初期画面に戻す機能を削除。試行間に200msのブランク挿入。
  • 1.0(2020/4/29) IE,Egdgeに対応。角度条件に90度追加。
  • β(2020/4/27) IE,Edgeでは動作しない。
 最初に作ってみたプログラムです。1週間ほどでできたのですが、種類の異なるブラウザへの対応、スマホへの対応など、思っていたより苦労しました(私の知識がそれほどないだけかもしれませんが)。

心的回転

心的回転の実験プログラムはこちら
 正立像と鏡映像を対提示しますが、一方の画像は回転像になっており、2つの刺激が同じものかどうか判断させる実験です。画像は文字Fを使っています。反応時間と正誤反応がデータとして保存されます。

●実験条件の設定
Target normal mirror both  ターゲット刺激の選択。正立像、鏡映像、両方。
Angle Step(degree) 30deg 45deg  対提示画像の回転角度変化のステップの選択
blocking yes no
 組み合わせの条件をブロックにして一通り実施し(yes)、それを繰り返すか、全試行をランダムにする(no)かの選択
N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • 2.2(2020/5/22) ボタン等の配置の不具合を修正
  • 2.1(2020/5/15) ファイル名の日付時刻を2桁に統一(1桁の場合、前に0を挿入)
  • 2.0(2020/5/6) デモプログラム追加。スマホの向き検出。スマホスクロール禁止。
  • β(2020/5/2)
 Psychopyで作ったことがありました。Psychopyは優れたプログラムで、いろいろな実験を行うときにはとても便利です。ただ、デフォルトのデータファイルが複雑で、学生にもわかるように加工するのが面倒でした。今回は独自に作ったので、簡単なデータファイルを出力するのみです。

長さの弁別

長さの弁別の実験プログラムはこちら
 2つの線分の長さの長短を判断し、そのあとで心理測定関数に基づいて弁別閾を算出するための実験プログラムです。

●実験条件の設定
Standard Stimulus(250px) Location left right both  標準の提示位置(左、右、両方)
Comparison Stimulus Length Step(px) 1px 2px 3px  比較刺激の長さの変化ステップ
blocking yes no
 組み合わせの条件をブロックにして一通り実施し(yes)、それを繰り返すか、全試行をランダムにする(no)かの選択
N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • β1.2(2020/5/22) ボタン等の配置の不具合を修正
  • β1.1(2020/5/15) ファイル名の日付時刻を2桁に統一(1桁の場合、前に0を挿入)
  • β(2020/5/6) とりあえず、標準刺激の長さを固定したものを作りました。
 本学の心理学実験で実施しているものなので、作ってみました。通常の実験では紙に描いた垂直線分の紙のボードを対呈示で長短を判断させるのですが、スマホで行うと画面が小さいので、垂直線分を並べるとすぐ弁別できそうなので、水平線分を横に並べてみました。
 ひとりで実験しないといけないので、試行回数を多くする必要があり、実験としては退屈ですが、集中して行ってください。デモとしてみるにはおすすめしません。

フィッツの法則

フィッツの法則の実験プログラムはこちら
 2つのターゲット間を交互にタッピングする実験です。ターゲット間の距離が長くなると時間がかかり、ターゲットの大きさが大きいと速くなるというFittsの法則を検証するための実験です。
 スマホの場合、両手でやってみたくなりますが、そうすると実験の意味がありません。机上にスマホを置いて、必ず一本指で行ってください。

●実験条件の設定
Width of Squares 10px 20px 40px 80px  ターゲットの横幅の条件
Distance between Squares 50px 100px 150px 250px  ターゲット間の距離の条件
Torelance of number of click errors 0 1 2 3  クリックエラーを何回まで許すか。エラー数が超えるとその試行はやり直し
blocking yes no
 組み合わせの条件をブロックにして一通り実施し(yes)、それを繰り返すか、全試行をランダムにする(no)かの選択
N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • β1.5(2023/7/13) 四角形の幅と鷹さがどれも選択されていなかった場合に警告を出すことにした。条件設定警告の表示位置の不具合を修正。
  • β1.4(2020/10/20) スペルミスの修正
  • β1.3(2020/5/22) ボタン等の配置の不具合を修正
  • β1.2(2020/5/17) スマホでのボタンタップの反応を少し変えました。
  • β1.1(2020/5/15) ファイル名の日付時刻を2桁に統一(1桁の場合、前に0を挿入)
  • β(2020/5/6)。
 20年以上前、MacintoshのHyperCardでプログラムを作ったことがあります。マウスクリックの実験と紙・鉛筆の実験を2つ行い、その比較を行っていました。ただ、2つも実験を行うと時間がかかってしまうのと、実習室のMacintoshを更新しなくなったので、パソコンの実験はやめてしまいました。
 スマホの場合、実験中に画面が拡大縮小しないように設定しているため、二本指操作を無効化しています。場合によっては、素早いクリックは二本指クリックだと判定され、タップと検出されなくなってしまう可能性があります。

視覚探索

視覚探索の実験プログラムはこちら
 提示されたたくさんの刺激の中にターゲットがあるかないかを見つける実験です。単一特徴と結合特徴の条件で実験が可能で、ポップアウト効果、刺激の非対称性などを体験できます。

●実験条件の設定
Features
   One : Shape(bar/Tshape) Orientation(Straight/Tilt) Color(Red/Blue)
     Target : one the other two
 単一特徴の場合の実験設定。刺激の属性とターゲットの選択
   Conjunction : Shape and Orientation Orientation and Color Color and Shape
     Target : one of four two of four the other two
 結合特徴の場合の実験設定。刺激の属性とターゲットの選択

Set size (distractors) 10 20 50
 ディストラクターの数の指定
Feedback None Correct Rtime both
 正誤、反応時間のフィードバックの有無
N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • β1.4(2023/7/13) 適切でない条件設定の警告表示位置の不具合を修正。
  • β1.3(2020/5/24) デモの組込み
  • β1.2(2020/5/22) ボタン等の配置の不具合を修正
  • β1.1(2020/5/15) ファイル名の日付時刻を2桁に統一(1桁の場合、前に0を挿入)
  • β(2020/5/11)。
 視覚探索の実験は実際には行ったことがないので、このような形でいいのかどうか不安もあります。刺激に何を選ぶのかを試行錯誤しました。基礎実験で現象を体験し、データにとってみることができればよいと考え、厳密な条件統制はなされていないかもしれません。

ストループ

ストループの実験プログラムはこちら
 文字の色と文字で表現された色名が異なる場合、文字の色を答えると時間がかかってしまうというストループ効果の実験です(例:を「あか」と答える)。2つのタイプの実験を用意しました。色をボタンから選択して反応してもらうタイプと、実際に声に出して読んでもらいその反応時間を測る(自分でボタンを押す)タイプです。

●実験条件の設定
Experiment Style Selective Response Oral Response
 選択反応実験で行うか、声に出して読んでもらう実験かの選択
Reverse Stroop Order 実験の順序の選択
   Word reading(printed by BLACK ink)
  黒フォントの文字を読む
1 2 3 4 None
   Word reading(printed by INCONGRUENT color ink)
  文字色とは関係なく文字を読む
1 2 3 4 None
Stroop
   Color naming(color PATCH)
  色の名前を答える
1 2 3 4 None
   Color naming(printed by INCONGRUENT color ink)
  単語の意味ではなく単語の色を答える
1 2 3 4 None
Language English Kana Kanji
 英語、カナ、漢字のいずれかを選択
Feedback Yes No
 反応時間や正誤をフィードバックするかどうかの選択
N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • β2.1(2023/7/13) 適切でない条件設定の警告表示位置の不具合を修正。
  • β2.0(2020/10/1) データファイルの保存ができなかった不具合を解消
  • β1.3(2020/5/23) ボタンの反応をしかたを修正
  • β1.2(2020/5/22) ボタン等の配置の不具合を修正
  • β1.1(2020/5/21) デモモードを組込み。
  • β(2020/5/16)。
 スマホで選択反応を行う場合、ボタンを5つにすると選択しにくいので、色は黒、赤、緑、青の4色にしました。選択ボタンの位置は毎回ランダムになるようにしています。パソコンの場合、マウスを使うよりキーボードのほうがいいと思いますので、キーを割り当てています。

サイモン課題

サイモン課題の実験プログラムはこちら
 ターゲットの色(赤・青)の提示に対して、あらかじめ決められた色に対応したボタンを素早く押す実験です。ボタンは左右にあり、ターゲットも左右のどちらかに提示されるのですが、色に反応しなければならないのにターゲットが出た側のボタンを押してしまいそうになるという実験です。ボタンの位置やターゲットの出る位置を条件としています。

●実験条件の設定
Distance between buttons
 2つのボタンの距離
Order
 実験の順序
   Far condition 1 2 None
   Near condition 1 2 None
Distance between targets long middle short
 ターゲット間の距離を3段階で選択できます。
Counterbalance of button to correspond with color Yes No
 色に対する反応ボタンの対応をカウンターバランスするかどうかの選択
Feedback Yes No
 反応時間や正誤のフィードバックをするかどうかの選択。 N of trials for each condition:
 条件ごとの試行数。最大20まで。
Trials between breaks(expected):
 途中に休憩を入れる場合、何試行くらいを目安にして休憩を入れるかを入力。その入力に応じて、ひとつのセッションでの試行数、休憩の数などを自動計算。

[check]を押すと、試行数や休憩数を計算。問題がなければ、[go to experiment]

●更新履歴
  • β1.1(2023/7/13) 2つのボタンの距離、ターゲット間の距離が設定どおりにならなかった不具合を修正。適切でない条件設定の警告表示の不具合を修正。
  • β(2020/5/24)。
 私はあまり位置に影響を受けずに反応してしまうのですが、実験の設定が最適でないのかもしれません。どうすればいいのか教えていただけるとありがたいです。
 
TOP