Example 2021.10.6

シャカシャカサイコロ

振り続けないと数字が出ません!

使っているVIVIWARE Cell VIVIWARE Cell

  • Core
  • MessageBoard
  • Motion

その他使っているもの Other Parts

なし

振って、振って!

サイコロと言っても、ただコロンと振るだけではありません。

大きくシャカシャカ振っていくとゲージがたまっていき、MAXになったらランダムな数字が出る、というサイコロです!

運動不足解消にいかがでしょうか?

仕組み

VIVIWARE Cell Motion(以降、Motion Cell)をシャカシャカと振る動きを検知し、一定の数を超えるとVIVIWARE Cell Message Board(以降、Message Board Cell)のゲージが増えていきます。


振るのはこれ!

VIVIWARE Cell CoreMotion Cellをマスキングテープで固定しています。

プログラム

だいぶ壮大なプログラムに見えますが、同じ処理をサイコロの目の数の分、作っているだけです。 

さっそく、処理ごとに見ていきましょう!


まず、シャカシャカする動きを検知するAccelerometer ModuleShake Detector Moduleをつなぎます。 

そして、Shake Sと、回数を数えるCount Moduleをつなぎます。


次に、それぞれの回数の条件をCompare Moduleで指定します。

Compare Moduleは、「XX以上・以下」や「XXと等しい」、「XXより大きい・小さい」などの条件を指定することができます。
写真の一番上のCompere Moduleでは「カウントした数が2より大きいとき、Text Outputで指定した文字列をMessage Board Cellに送る」という処理をしています。

これをサイコロのマス目6個分作り、それぞれをCount Moduleにつなげます。

Text Outputには何も入っていないように見えますが、全角のスペースが入力されています。 
これで、写真のようにひとつのマスのように表示することができます。 
(実はこれ、説明書には書いてない秘密なんですよ。ぜひ使ってみてください!)



そして、Random Number Moduleで「最大6までの数字をランダムに指定する」という処理を追加します。
ここでは、このランダムな数を「カウントしている数が14以上のとき、Message Board Cellに送る」ようにします。

はい、これで最後です!

数字が出っぱなしでは困ってしまうので、リセット機能をつけます。 
ここでは、「16以上になったら、Count Moduleをリセットし、Message Board Cellに空白を送る」ようにしています。

これで次の数字を出すために、またシャカシャカできるようになります。

この例では、簡単に動作を確認できるよう、ゲージが増える条件を2から始めて2ずつ増やしています。
また、シャカシャカの激しさも、一番検知しやすいShake Sを使っていますが、もっと激しい動きを検知するShake Lを使うと、どうなるでしょう?
ぜひ、いろいろ試してみてくださいね。

動画

ここでは、数字が出たら音が鳴るようにModuleを追加しました。
よかったら、どういうModuleを使えばできるか、考えてみてください。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

↓↓↓ 答え! ↓↓↓
 
(Sound Player Moduleを追加する)
  
  
 
 
それではまた!
来週のExampleもお楽しみに!

(Created by Nui Taoka)

Share

share
close

Share