見出し画像

ハーバリウム w/ LED

植物にこだわりをみせた上の娘がハーバリウム(プリザーブドフラワーを瓶に詰めて、オイルに浸ける)にはまりだしたので、夏休みの宿題用にLEDで光るバージョンを共同制作した。

材料
- 瓶:ホームセンターで食品保存用瓶を購入(450ml)
- 花:家の近くでオーストラリアのプリザーブドフラワーというものを売っていたのでそれを利用
- シリコンオイル:ホームセンターでは100ml単位でしか売っていなかったので、1kgの缶をAmazonにて、粘度350CS
- Arduino Nano:Elegooの互換ボード利用、3つで1,480円
- LED、抵抗:余っていたものを適当に利用(2.8-3.6V)、空中配線
- 電池:006P、ホームセンターでスナップ購入
- 非接触電源モジュール:入力 DC9〜12V、出力 DC5Vのものを購入(こちら

手元にあったLEDを2つづつ選び、抵抗(100Ω)と直列に空中配線。を3セット作成。これをArduin Nano(互換)のポート3、5、6に接続

電源の出力を、Arduino Nanoの5V、GNDに接続。瓶に非接触電源モジュール、Arduino基盤、LEDと配置し、UVレジンで固定。

画像1

まわりに植物ビーズ(実家で採取)をまいてこちらもUVレジンで固定。

画像2

台座はお菓子の箱を利用。瓶の底に合わせるために段ボールを敷いて、そのうえにコイル、これらをUVレジンで固定。電池は箱の裏に配置。

こんな感じになりました。

画像3

ソースは3端子をパラレルに1/fゆらぎさせるもの。ちょっとペースが速かったかもしれない。

// herbarium 3
// for haruka summer work
// 2020/8/26

int yuragi();

const int LED[] = {3, 5, 6};  // LED pin numbers
float x1[] = {0.1, 0.2, 0.3}; // default values

int value = 0;


void setup() {
}

void loop() {
 for (int i = 0; i < 3; i++) {
   value = chaos(i);
   analogWrite(LED[i], value);
 }
 delay(80);
}

int chaos(int i) {
 // 1/f yuragi

 float x = x1[i];
 if (x < 0.5) {
   x = x + 2 * x * x;
 }
 else {
   x = x - 2 * (1.0 - x) * (1.0 - x);
 }

 if (x < 0.08) {
   x = (float)(random(20, 80)) / 256;
 }
 if (x > 0.995) {
   x = (float)(random(128, 253)) / 256;
 }

 x1[i] = x;
 x = x * 255;

 return (unsigned int)x;
}

以下備忘録KPT、

Keep
- シリコンオイル内では回路はショートしない(不安だったが)
- UVレジンはグルーガンより固定には便利
- 非接触電源は5V出力なので意外と簡単にArduinoに使える

Problem
- 空中配線はとれないか不安なので、もっとちゃんと固定する
- もともとハーバリウムを下から照らしたのがきれい、ってのが動機であったが、なかに入ると意外とLEDが生々しい。もうちょっとかくれさせたかった
- Arduino Nanoへの配線はGNDが足りなくなるので注意

Try
- もうちょっと下から照らすほうがよいか
- 電池のON/OFFを工夫する
- 台座は3Dプリンタで作った方が安全


この記事が気に入ったらサポートをしてみませんか?