フルカラーLEDを使う

フルカラーLED(NeoPixel)の使い方を学びます。

パーツの組立
 フルカラーLEDのGND端子に黒線を、VDD端子に赤線を、DI端子に白線をハンダ付けします。裏面にあらかじめハンダをのせておくとやりやすい。端子の反対側にピンヘッダーをハンダ付けして完成。収縮チューブで補強しておくと折れにくい。
マイコン内蔵RGBLEDモジュール

フルカラーLEDの接続
 下記のようにLEDを接続します。
フルカラーLED R→Arduino 3.3V
フルカラーLED B→Arduino GND
フルカラーLED W→Arduino 13

プログラム:ColorLED
 カラーLEDの制御には、Adafruit_NeoPixelライブラリを用います(ライブラリのインストール方法は動画をご覧ください)。プログラム冒頭で、デジタルポートの13番を制御用に使うこと、LEDの数が1個であることを定義しています。プログラムは、setup関数で初期化を行い、loop関数でLEDの点灯を処理しています。色のセットは、pixels.clear→pixels.setPixelColor→pixels.showの順で行います。pixels.Color(R, G, B)の形式で、色の強さは0~255で指定します。

 

//カラーLEDを用い、赤・緑・青色を点灯
#include <Adafruit_NeoPixel.h>
#define PIN 13        //制御用ピン
#define NUMPIXELS 1   //LEDの数
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 
void setup() {
  pixels.begin();     //LEDを初期化
}
 
void loop() {
  pixels.clear();
  pixels.setPixelColor(0, pixels.Color(20, 0, 0));  //赤
  pixels.show();
  delay(1000);    //1000ms停止
 
  pixels.clear();
  pixels.setPixelColor(0, pixels.Color(0, 20, 0));  //緑
  pixels.show();
  delay(1000);    //1000ms停止
 
  pixels.clear();
  pixels.setPixelColor(0, pixels.Color(0, 0, 20));  //青
  pixels.show();
  delay(1000);    //1000ms停止
}

プログラム:SmoothR
 プログラムを使い、赤色のみをスムースに点滅させます。

//カラーLEDを用い赤色をスムースに点滅
#include <Adafruit_NeoPixel.h>
#define PIN 13        //制御用ピン
#define NUMPIXELS 1   //LEDの数
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
  
void setup() {
  pixels.begin();     //LEDを初期化
}
  
void loop() {
  int t=5;

  for(int i=0;i<256;i++){ 
    pixels.setPixelColor(0, pixels.Color(i,0,0)); //Red 
    pixels.show(); 
    delay(t); 
  } 

  for(int i=0;i<256;i++){ 
    pixels.setPixelColor(0, pixels.Color(255-i,0,0)); //Red 
    pixels.show(); 
    delay(t); 
  } 
}

プログラム:VRLED
可変抵抗を使ってLEDの色を変えます。その際、接続は下記の通り。

可変抵抗R→Arduino 5V
可変抵抗B→Arduino GND
可変抵抗W→Arduino A0
フルカラーLED R→Arduino 3.3V
フルカラーLED B→Arduino GND
フルカラーLED W→Arduino 13

 

//可変抵抗でカラーLEDの色を変える
#include <Adafruit_NeoPixel.h>
#define PIN 13        //制御用ピン
#define NUMPIXELS 1   //LEDの数
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int vr1;

void setup() {
  pixels.begin();     //LEDを初期化
}
  
void loop() {
  vr1= analogRead(0);
  
  pixels.setPixelColor(0, pixels.Color(vr1/4,0,255-vr1/4));
  pixels.show();
  delay(10); 

}

バイオフィードバックトピック

心拍変動バイオフィードバック
 心理学系の貢献が大きいのは、心拍変動バイオフィードバックの解説と普及であると思われる。筋電図や発汗、血流などの指標に関するバイオフィードバックは、リハビリ(非心理系)を除き、ここ数年ほとんど議論されておらず、心拍変動BF一色となっている。特にこの数年は(コロナの影響もあり)、ウェアラブル機器を利用して、各自が心拍変動バイオフィードバックを行う事例が紹介されている。

各種新技術の応用事例
 ここ数年、スマートグラス、VR、IoT、ウェアラブル、非接触計測、スマートフォンアプリなど、新しい技術をBFに取り込んだ事例が紹介されているが、コストが高かったり、不安定であったり(非接触計測)、実際はあまり普及していないと思われる。現代のバイオフィードバックとして最も有望なのは、アクティブトラッカーを使った活動量と心拍数の自己制御であると思われる。

2021年度
・スマートフォンアプリを使った共鳴周波数の評価
・少年院における心拍変動バイオフィードバックを用いた呼吸セルフコントロールプログラム
→心拍変動バイオフィードバックが近年のトピックになっている。さらにそれを、スマートフォンなどの携帯機器で行う事例が紹介されている。

・AI, ICT, VRを活用する未来に向けて 
・遠隔による心拍変動バイオフィードバック
→コロナの影響を受けて、BF機器を遠隔診療へ応用する可能性が論議されている。心拍変動バイオフィードバック(emWaveなどの機器使用が推奨される)を遠隔で行った事例が紹介される。

2020年度
・呼吸法とリラクセーション‒心拍変動バイオフィードバックによる呼吸法の評価‒
→”同定された共鳴周波数の呼吸法を実践することで,副交感神経系の活動を活発にし,喘息などの疾患の治療に役立つとして,詳しい治療プログラムを発表している”の部分に、心拍変動バイオフィードバックの元論文が紹介されている。

2019年
・長時間心拍変動解析 : その適用と誤用
→ウェアラブルセンサーによって測定された心拍変動データの読み方について解説。ウェアラブル計測は急速に普及しつつある、と紹介されている。

・臨床に活かす心拍変動バイオフィードバック
→心拍変動バイオフィードバックの臨床応用が講座で紹介されている。

・入眠困難者の入眠期における生理心理学的指標の動態
→入眠困難者の生理指標が検討されているが、脳波と心拍変動が解析対象となっている。

2018年
・医療からみた次世代バイオフィードバック
・バーチャルリハビリテーションにおける次世代バイオフィードバックの可能性
・ICTやAIの時代にバイオフィードバックはどう活用できるか : 産・学・官の連携
・AI・IoTの基礎とバイオフィードバック装置への応用検討
→スマートグラス利用のBF、VRを用いたリハビリ、認知行動療法アプリ、AIやIoT利用などの新しいアプローチが紹介される。

・カメラを用いた非接触バイタルセンシング技術とその応用
・ウエアラブル バイオフィードバックについて
→非接触計測、ウェアラブル機器によるBFの可能性などが紹介される。

EasyRoad3D Tips

・ロードネットワークを調整して、VegetationMaskLineがズレてしまった場合は、VegetationStudioStatusのActiveを一度はずして入れなおせば、MaskLineが再描画されて、道路エリアに木が生えなくなる。

・TreePerimeterなどの設定で、道路わきから何メートルまで木を生やさなくするかなどの設定ができる。が、この設定は、エリア下方のResetAllRoadTypes and Objectsのボタンを押さないと反映されない。

ふー2:21になった。

・・・と思ったら、Activeを押してもResetAllRoadTypes and Objectsを押しても反映されなくなった。なんでやー涙。これバグなんじゃないの!?と思い、藁にもすがる思いでUnity再起動して設定してみると、ちゃんと動くのだった。・・・バグじゃん!怒EasyRoadには悩まされてばかりだ。

ふー2:43になった。

なんか日本語のWikiがあるっぽい?ただのリンクにも思えるが。

3Dモデリングを始めたって話

ここに八角形があるじゃろ?

( ^ω^)

⊃八角形⊂

これをこうして

( ^ω^)
≡⊃⊂≡

こうじゃ
( ^ω^)
⊃手⊂

\テ↑ーテレレ テレレ レー♪/

3Dモデリングもいろいろ

そもそもモデリングの方法っていろいろあって、上の手はボックスモデリングといってコンピューターで扱いやすいポリゴンの作りになってます。

ソフトで扱うには4角形か3角形がベストらしいです。ちなみにUnityは3角形のポリゴンを使うらしい。よう知らんけど。他にもスカルプティングという方法で、多分想像する液タブを使って粘土こねくり回して作ってるような感じでモデルを作る方法もあるのですが、あれは異様にポリゴンが多くなるのでコンピューターで扱うにはやや処理が重すぎるので画像みたいな感じでレンダリングするのに使われます。リトポといってスカルプティングで作ってからボックスモデリングでポリゴンを減らしたりすればソフトでも使えるようになるようですが。

3D CAD

CADは3D CADと2D CADがあって、3D CADは車とか精密なものを作ったりするのが得意です。あとはパーツ事に編集できるものが多いので保守・改造が楽です。業界ではAuto CADが有名ですが、自分はFree CAD使ってます。

 覚えれば割と複雑なものが作れますが、残念ながら日本人金持ちが多いのかFree CADの記事が少ない。学習するならYoutubeで海外のチュートリアルを見るといいです。この辺とか。Free CADは大して使ってないので画像はないです。

疲れたんでこの辺で書くのやめときます。

Blender(手を作ったモデリングソフト)は無料だし、決して業界でメジャーではないにしても最近でっけぇ企業も使い始めた激熱な3Dモデリングソフトなのでお勧め。何より2.8以降は2.7系と違ってすっきりしたので使いやすくなってます。とてもいい。ただ業界ではMayaがメジャーなようです(金持ちどもめ。。。)Blenderの使い方はBlender Guruって人の動画が分かりやすいし、この人教え方がうまいです。それとBlenderのバージョンが上がるたびにドーナツ作ってますが、ドーナツとマグカップが作れるころにはBlenderで大半のものはモデリングできるようになってるので、やるなら見て損はないかと。全部英語だけど。

以上。

WordPressでLMS

LMSとはなんぞや?LearningManagementSystemの略である。Wordpressはプラグインが豊富なので、低コストで作れるのでは・・・?実際、WordPressにはLMSプラグインがいくつもあるらしい。探すと日本人でやってるひともいるようだ。


オンラインコースをノーコード(NoCode)で作れるプラグインLearnDash
ナオミさんの紹介サイトがある。テスト、質問、課題、証明書なども、機能として統合されている。WooCommerceと組み合わせてオンライン講座を売ることもできる(!)。個人学校ができるってワケね。単純に面白そうである。10サイトで$189は高いのか安いのか・・・機能による。

根本さんの動画のほうが詳しいね。ライセンスキーとプラグインのダウンロード・・・。有効化などの方法が。見てるとやってみたくなるね。

2時間の英語講座。かなり詳しくわかりそう。学習サイトを作成するために学習しなければならないという、ポジティブな本末転倒が生じるような。。。

あ・・・他にもいろいろたくさんあるね。

・Teachableのようなeラーニングシステムが構築できるLMS有料プラグインLearnDash使い方解説目次
なるほど日本語化しやすいのも魅力か。そうかオンラインサロンというジャンルなのか。はへー。

LearnDashの使い方:WordPressでオンラインスクールを作成する方法(根本さん
ふむ・・・。LearnDashはシェアが高いLMSらしい。ふーむ、具体的な情報は少ないね。

・LearnDash LMS 世界シェアナンバーワン(恐らく)のLMSシステム
「ほとんど全てのLMSツールを知っているがLearnDash LMSが一番の大本命だろう。」だそうで。Udemyレベルのものが作れると。Udemy使ったことないからわからないけど。

LifterLMSというものもあるらしい。無料で使えるが課金システムがない。社内教育などはこれで十分とも。小テストのバリエーションは少ない。なるほど。

Unityの基本

今回はUnityを使ってオンライン実験を行うことを想定したワークショップです。Unityのインストールから基本的な操作方法の学習、FPS(1人称視点)コントローラの導入、景観の作成、Web上での公開方法までを扱います。これらの動画では、以下のアセット(ソフトウェア資産)を使います。
Standard Assets (for Unity 2018.4)
AllSky Free – 10 Sky / Skybox Set
Rock package

1.Unityのインストール
開発元は、UnityHubを使ったインストールを推奨しているようなので、ここでもまずはUnityHubをインストールし、つぎにダウンロードアーカイブからUnityをインストールします。Unity にはたくさんのバージョンがありますが、ここでは2019.4.12をインストールしておくようにしてください。

2.Unityエディターを使う
視点の変更やオブジェクトの配置など、エディタ操作の基本を学びます。Unityエディターを使うにはUnityでアカウントを登録する必要があります。googleアカウントを持っている方は、それを使うこともできます。また、Visual Studio(プログラムエディタ)を使うために、Microsoftのアカウントが必要になりますので、必要に応じて用意してください。

「マウス中央ボタンドラッグ」で視点移動
「Alt+マウス左ボタンドラッグ」で視点回転
「F」キーで選択中のオブジェクトを視点の中心にする

3.FPSコントローラを設定する
FPSコントローラーを配置し、一人称視点で世界の中を動き回る方法を学びます。FPSコントローラで飛び石を渡る簡単なゲームを作成してみます。

「Ctrl+D 」でオブジェクトを複製する(Duplicate)
「Ctrl+P」でゲームモードに移行するorエディターに復帰する

4.Terrain(地形)を作成する
Unityを使った地形作成は、箱庭を作っているような楽しさがあります。動画では大急ぎで作っていますが、少し時間をかけてディテールにこだわって作っていただくと、楽しく学べると思います。青空、夕空、曇り空の3種類を作り、スクリプトで切り替えられるようにします。

5.WebGL形式でビルドして公開する
公開しないと閲覧してもらえないので、WebGL形式でのビルドは非常に重要なプロセスです。しかし、WebGL自体が比較的新しい技術ということもあり、難易度は高めです。パソコンに登録されたユーザー名や作業フォルダ名に日本語が含まれていると、ビルドに失敗する事があるようです。

自分のWebサイトをもっていない場合は、UnityRoomのようなWebGL形式のコンテンツを無料で公開させてくれるサイトを利用する事も可能です(ただし広告が出ます)。レンタルサーバーはさくらインターネットロリポップなどで年間5000円程度で借りる事ができるので、実験用にはこちらが良いと思います。

OpticalFlow220424

ProcessingのOpticalFlowで人の行動を測定しようという企画。過去に何回か話題にあがっている。これとかこれとか、これも。すごい前から「使えそう」と言ってる割に、一回も使っていない。今回は大島さんとの共同研究で、実際に利用することになりそうだ。

 ProcessingのOpenCVライブラリには、OpticalFlow関連のサンプルプログラムがある。基本的にOpticalFlowを視覚化するプログラムなのだが、こちらのサイトから、640×480の各点のデータを取得する方法を学び、右半分と左半分を別に平均し、グラフ化、さらにディスクに保存するプログラムを作成した。
 結果はまぁまぁ予想どおり。各点の移動方向はVectorで取得できる。さらにそれをmag()関数で大きさを求め、指定範囲の平均を求めている。ProcessingのPVectorの説明はここにある。測定範囲を視覚化し、さらにある程度GUIで指定できるようになると、実用性が増すようにも思えるが、現場の状況を見ないとなんとも言えないので、次のMTGで話あいましょう。

import gab.opencv.*;
import processing.video.*;

Capture video; // ライブカメラ
OpenCV opencv; // OpenCV

String savefile = "data/movement.csv";
PrintWriter output;

void setup() {

  size(640, 480); //画面サイズ
  video = new Capture(this, 640, 480);  //キャプチャーするカメラのサイズ
  opencv = new OpenCV(this, 640, 480);  //OpenCVの画面サイズ
  video.start();  //キャプチャー開始
  
  output = createWriter(savefile);  //出力用ファイル
}

/////////////////////////////////
void draw() {
  
  scale(1.0);  //描画スケール設定
  
  opencv.loadImage(video);  //カメラの画像をOpenCVに読み込み
  image(video, 0, 0 );      //カメラ画像を表示
  opencv.calculateOpticalFlow();  //OpticalFlowを計算
  stroke(255,0,0);            //描画設定
  opencv.drawOpticalFlow();    //OpticalFlowを描画


  float LFlow = averagedFlow(0,0,320,480).mag();
  float RFlow = averagedFlow(320,0,320,480).mag();
  print(abs(LFlow)+"/"+abs(RFlow)+"\n");
  output.println(abs(LFlow)+","+abs(RFlow));
  
  
  stroke(0,0,255);  
  rect(0,480-LFlow*100,10,480);
  rect(630,480-RFlow*100,640,480);
  
  //PVector aveFlow = opencv.getAverageFlow();
  //print(aveFlow.x+"/"+aveFlow.y+"\n");
}

//キャプチャーイベント
void captureEvent(Capture c) {
  c.read();
}


/////平均化されたFlowを取得
PVector averagedFlow(int x,int y,int w, int h){

  float xsum=0,ysum=0,xavg=0, yavg=0;
  float c=0;
  for(int i=x;i<x+w;i++){  
    for(int j=y;j<y+h;j++){
      PVector vec = opencv.getFlowAt(i,j);
      xsum+=(float)vec.x;
      ysum+=(float)vec.y;
      c=c+1;
    }
  }
  xavg=xsum/c;
  yavg=ysum/c;
  
  PVector rv=new PVector(0,0);
  rv.x=xavg;
  rv.y=yavg;
  
  return(rv);  //ベクトルで返す
}

//終了時処理
void dispose(){
  output.close();
  println( "dispose start");
}

void keyPressed() {
  if (key == TAB) {          // Tabキーに反応
    output.close();
    exit();
  }
}

ArduinoでESP32

https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json

TTGOでBME280を動かすには、下記のプログラムを使う。TTGOとBME280の接続は以下の通り。

(BME280)SCK-(TTGO)27
(BME280)SDO-(TTGO)G
(BME280)SDI-(TTGO)26
(BME280)GND-(TTGO)G
(BME280)VDD-(TTGO)3V

//BME280_ESP32
#include &lt;Wire.h>
#include &lt;SPI.h>
#include &lt;Adafruit_Sensor.h>
#include &lt;Adafruit_BME280.h>

#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
unsigned long delayTime;

void setup() {
    Serial.begin(115200);

    Wire.begin(26,27);
    bool status;
    // default settings
    status = bme.begin(0x76); //read I2C address 0x76
    if (!status) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
        while (1);
    }
    delayTime = 1000;
    Serial.println();
}

void loop() {
    printValues();
    delay(delayTime);
}

void printValues() {
    Serial.print("Temperature = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");

    Serial.print("Pressure = ");
    Serial.print(bme.readPressure() / 100.0F);
    Serial.println(" hPa");

    Serial.print("Approx. Altitude = ");
    Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
    Serial.println(" m");

    Serial.print("Humidity = ");
    Serial.print(bme.readHumidity());
    Serial.println(" %");

    Serial.println();
}

基礎実験課題220103

ああ先延ばしにしていた基礎実験追加課題・・・やはりやらねばならぬのだろうか?あと9日後には実施だから、準備するなら最早今しかない。思いついた実験計画は下記の通り。

樹木(多い・少ない)×水場(あり・なし)の2要因参加者内計画
全員が、2×2の計4条件を実施し、短縮版一般感情尺度に回答する。条件の実施順序は学籍番号でカウンタバランスする。実施時間は質問紙回答も含めて15~20分くらいを想定。学生はこの計画で分析する。

音声(あり・なし)×魅力的な地形(あり・なし)の2要因参加者間計画
参加者約100名を学籍番号で2×2の4群に配置する。参加者内計画の裏で参加者間計画を実施。あわよくば環境心理学会で発表。

樹木は多いほうがリラックスする。水場はあるほうがリラックスする。これは先行研究通りで、結果は固いだろう。鳥の声や水の音といった音声刺激も、リラックスに大きく寄与するとの指摘がある。また、先の見えないようなトレイルのほうが、記憶に留まりやすいというという指摘もある。探索行動を刺激するような地形は、行動を促進するのではないだろうか?

—–

懸案事項と対策状態

・テレインの複製方法がわからない。→データを複製すればできるようだ。


・どの程度のGPU負荷にして良いかわからない。そんなに木を増やせるだろうか?
→とりあえず手持ちのノートPCで検証しながらやろうか。ライトマップでできるだけ軽くしよう。できればLuxWater使いたいが・・・

・質問紙をUnityWebGL上で測りたいが、開発が間に合うだろうか?
ああWebGLサポート入れてない・・・。自然景観用の巨大アセット、WebGL変換どんだけ時間かかるだろうか。あまり多くは望めないか・・・。速い!ストレージが速いとこんなに違うのか!!

・地形を塗り分けたりするのが面倒くさい件
→VSProを使って自動塗り分けでお茶を濁すのはどうだろうか?水面付近がどうも怪しいね・・・テクスチャ変えたほうが良いかもしれない。

・行動データをとりたいが間に合うだろうか?
→これ大変だぞ!?行動データまでは無理かなぁ


で完成したのがこちら(プロジェクトCP2)。樹木(あり・なし)×水場(あり・なし)の2要因参加者内計画で、従属変数は一般感情尺度です。http://kodamalab.sakura.ne.jp/WGL/CP2/(Google Chromeを使用してください。公園CG提示中はWASDキーとマウスで移動できます。)木も水場もないと、ただの空き地だね。ポイントとしては、あえて都市部の公園という設定にした事で面積を限定し、実験刺激を作成しやすくしたこと。その分、道路や市街などの情報を足さなければならなかったが、これはこれで有りなのではないかと。遊具を置いてみたり、公園研究の将来に夢が膨らむ。

長谷川式にインスパイアされて、僕も実験刺激内で一般感情尺度を測ることにしました。

が・・・これには大きな問題が。WebGLでビルとすると、UIで日本語が入力できないらしい。マジか。内省報告とか書いてもらおうと思ってたのに・・・。ほぼ完成してから「あれ?!」とか気がつく間抜けぶりで。。。とりあえず今年の運用は諦めお蔵入りさせます。

VRコンテンツ作成入門

Quest2でのVRコンテンツ作成に関する概略
この記事は、Unityで非VRのコンテンツをある程度作成できる程度のスキルを前提にしています。

Quest2を使ってVRコンテンツを動作させる方法は2つあります。1)PCとUSBケーブルで接続して、PCのGPUを使って映像を描画する方式と、2)Quest2本体でアンドロイドアプリとして実行する方法です。それぞれ長所と短所がありますが、まずは下の動画を視聴し、1)の方法から始めるのが一般的です。

PCを使ったVRコンテンツ作成
 OculusQuest2をPCと接続して、Unityを使った簡単なVRアプリケーションを作ってみましょう。下記の動画コンテンツは、Unity2021.1.15OculusIntegrationを使いますので、事前にインストールを済ませておくとよいでしょう。また、Quest2とPCを接続する(Oculus Link)ためにUSB3ケーブルが必要です。PCは、OculusLinkに対応したGPUを搭載している必要があります。

Quest2本体を使ったVRコンテンツ作成
 OculusQuest2本体でVRコンテンツを作成するためには、いろいろ難しい側面もありますが、PCレス、ケーブルレスでVRコンテンツを実行できるアドバンテージがあります。下記動画を見ながらコンテンツを作成する際、Android build supportの使用方法や、Quest2を開発者モードにする方法などを参照すると良いでしょう。Androidアプリの動作画面を他の人に見せるためには、OculusDevelopperHUBもインストールしておくとよいでしょう。

Quest2でVRホラーを作る
 下記動画では、簡単なホラーを作成してみます。ホラーにつきもののゾンビや、怖いBGMも追加してみます。背景は、Hospital Horror Packを使います。ゾンビとアニメーションはMixamoから入手します。背景音はフリー音声素材サイトなどから、好きなものをチョイスして追加してみてください。

ハンドルコントローラを使ったコンテンツを作成する
 Oculusuには大変良くできたハンドコントローラーであるOculusTouchがついています。つかむ/はなす、指差すなどの「手を用いた動作」が、他のゲーム機などと大きく異る部分です。下記動画では、Auto Hand – VR Physics InteractionJapanese Apartmentというアセットを用い、ハンドルコントローラを用いたコンテンツの作成方法を解説します。
 AutoHandアセット内の、OculusVRというパッケージをインポートしないと、Oculus用のデモシーンがインストールされないのでご注意ください。また、TPM Importerというダイアログが出たら、importボタンを押すようにしてください。これをインポートしないと、動作が不安定になるようです。

市民憩の森 散策レポート

”市民憩いの森”に行ってきました。

学校からゆっくり歩いて帰ってきて15分~20分くらい。
広さはあまりないですが,しっかりとした土の感触,高い木々。
森林散策としては,めちゃくちゃいいと思いました。

なんだか生物の鳴き声もして,ちょっとだけ興奮できる。これはいいねポイント

これは実験に使えるじゃん!と思ったのですが。。。。。。。。。。。。。。。。。
現在,枝の落下が多発しているため,今後通行エリアが限られてしまうそうです。
なんてこった,,,,今後の経過を見守るしかなさそうですね。

FitBitマニュアルVer211017

 配布した用紙に記載されているIDとパスワードで、PCからWebメールにアクセスします(スマートフォンからだと文字が小さすぎて見えないようです)。Fitbitアカウントを登録する際に、確認メールがこのメールアドレスに送られてくるので、読めるように準備をしてから次の作業を進めてください。

 次に、スマートフォンにFitbitアプリをインストールし起動します。「Fitbitに登録」を押して、Fitbitアカウントを作成します。登録の際、IDとパスワードは配布した用紙に記載されているものを用いてください(一番上のフルネームの部分は任意の名前でOK)。Fitbitアカウントを作成したら、機種を選びます。ここでは、Charge4を選択してください。

 次にFitbitCharge4とスマートフォンをペアリングします。事前に、FitbitCharge4を充電器で充電しておきましょう。BluetoothをONにして接続する際、Charge4に表示されているパスコードを入力します。ペアリングが完了したら、「今すぐアップデート」ボタンをおして、Charge4を更新します(10分ほどかかります)。

 最後に、先ほど登録したGoogleアカウントのメールアドレスにメールがくるので、確認しましょう。これでFitbitが使えるようになりました。

DavinciResolve入門

ここでは、動画編集ソフトであるDavinciResolveについて学びます。まずはインストールして簡単な動画を作ってみましょう。

下記は、DavinciResolveを用いてCM動画を作成する手順を解説しています。作成したCM動画は、心理学の実験用に用いる事を想定しています。

ここに登録されている動画(Youtubeアップロード前のもの)は、こちらのフォルダからアクセスすることができます。

210829WS

心と皮膚温
指先の温度がストレス負荷中にどのように変化するのかを学びます。詳しくは下記動画をご覧ください。

実験刺激として用いられた動画は下記のものです。

https://www.youtube.com/watch?v=W-lVgZ-gos8

データは下記のリンクからダウンロードしてお使いください。


心と心拍・発汗
発汗や心拍数が心の状態に応じてどのように変化するのかを学びます。

実験刺激として用いられた動画は下記のものです。

https://www.youtube.com/watch?v=EjTB9RDuGLA

データは下記のリンクからダウンロードしてお使いください。

お笑い視聴時の生体反応

ウェアラブルでWifi接続式の計測器(下記は皮膚コンダクタンスと心拍数が同時に測定できるタイプ)を最大50個ほど生産し、ゲームや映画、お笑いなどのコンテンツを、多人数同時測定する仕組みを構築しています。

下図は、お笑い動画(ミルクボーイの湿布クールポコ)を視聴した際の心拍数、皮膚コンダクタンス、主観感情(PA:ポジティブ感情、NA:ネガティブ感情、CA:リラックス感情)を19名同時測定したものです。動画視聴中は心拍数の低下、皮膚コンダクタンスの上昇が認められます。主観感情変化が大きいほど、生体情報の変化も大きい事がうかがえます。


映画と皮膚温変化(公開用)

授業内で、映画を見ている際の、指先の皮膚温度変化を、20人同時に測定した事例を紹介します。実験刺激は、ミッション・インポッシブル/ゴースト・プロトコルの1シーンを用いました。主人公イーサンが、超高層ビルを登ってサーバールームに潜入し、潜入後戻ってくるまでの10分間を視聴しました。その前後に安静期を設け、前半は川の映像、後半は海の映像を、それぞれ5分間見ました。

皮膚温は、安静状態と動画視聴時の初期において上昇し、課題映像が盛り上がり始めると下降し、課題映像が終わると少し間をおいて上昇しました。動画後半の皮膚温変化は、動画の内容を鋭敏に反映しているような内容となっていました。予想以上に動画内容が反映されている印象です。

一般感情尺度(アンケート調査)による主観感情の変化を下記にグラフ化しました。映像視聴中、ネガティブ感情は大きく上昇し、リラックス感情は大きく下降していることがわかりました。