LoginSignup
3
0

More than 1 year has passed since last update.

TokyoTowerを光らせて癒やされる (GR-COTTONと1/fゆらぎ)

Posted at

東京タワーってなんだか癒やされますね。
TokyoTower
とある日、東京タワーで手に入れました。
ガチャガチャ ガチャガチャの中身
ミニ東京タワー!!LEDの色が3色ある内、最も東京タワーっぽいオレンジ色でした。
ミニ東京タワー

これを見て思うことといえば、やっぱり自分で光らせたい!!
このミニ東京タワーを癒やされるように光らせたいと思います。

この記事のまとめ

GR-COTTON+自作ケース+100円ショップのボトルケースと使ってミニ東京タワーが光るオブジェを作りました。LEDの点灯には、1/fゆらぎを再現するため、「間欠カオス法」を実装しました。

材料

GR-COTTON

光らせるといえば、がじぇるねのGR-COTTON。丸い基板の真ん中にフルカラーLEDがついています。裏側にはボタン電池も入れられます。
GR-COTTON

自作ケース

GR-COTTONを格納するためのケースは、3D CAD Fusion360で3Dデータを作成し、DMM 3Dプリントサービスに頼みました。通常コースにしたのに混んでいないのか発注してから4日で届きました。ピッタリ!
自作ケース

100円ショップのボトル

作品を形にするために選んだのは100円ショップのこのボトル型のケース。
100円ショップのボトルケース

癒やされる光り方とは?→1/fゆらぎ

キャンドルの炎のゆらゆらとした感じや波の音などに癒やされるのには、1/fゆらぎが関連しているようです。
参考:リラックスに深くかかわる「1/fゆらぎ」って知ってる?
この1/fゆらぎを再現する方法の1つに間欠カオス法というものがあります。すでにいろんな方が間欠カオス方でのLチカを実装されており、参考になるページがたくさん出てきます。

ソースコード

東京タワーなので、赤~オレンジ色の範囲で点滅するようにしました。間欠カオス法を式の通り実装すると値が張り付いて変化が見られなくなってしまう時間ができてしまうため、0~100%の中で0~5%または95~100%のときには乱数を入れるようにしています。
参考にしたサイト

void setup() {
  Serial.begin(115200);
  // put your setup code here, to run once:
  pinMode(22, OUTPUT);    // Red
  pinMode(23, OUTPUT);    // Green
  pinMode(24, OUTPUT);    // Blue
  digitalWrite(22, HIGH);
  digitalWrite(23, HIGH);
  digitalWrite(24, HIGH);
}

static float r = 0.2f;

// 間欠カオス法
float fluctuation(float x){
  if((x < 0.05) || (x > 0.95)) {
     x = (float)(random(0, 100)) / 100.0f;
  }
  else if(x < 0.5f) {
    x = x + 2 * x * x;
  }
  else {
    x = x - 2 * (1 - x) * (1 - x);
  }
  return x;
}

void loop() {
  analogWrite(22, (int)(r * 255.0));
  analogWrite(23, (int)(255.0f - (r * 5.0f)));
  analogWrite(24, (int)(255.0f));
  r = fluctuation(r);
  delay(100);
}

完成!!

組み立てました。東京タワーがキャンドルの炎のゆらぎのように光っています。
完成図



もうすぐクリスマス!!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0