機構部


カーテンレールを作成

  • ベースボード
  • 支柱、カーテンレール

ベースボードにユニバーサルアームを立てる。固定にはユニバーサルアームセットに入っているL字パーツを使用(写真1枚目)。
2本柱を立てたら、柱同士の上部をユニバーサルアームで固定する(写真2枚目)。

上部にラダーチェーンを取り付ける

  • ラダーチェーン&スプロケットセット

ベースにギアボックスを固定する

  • シングルギヤボックス(4速タイプ)

ギアボックスの軸とカーテンレール側の軸にラダーチェーンで接続する


カーテンを取り付ける

  1. カーテンレールとなる糸を柱の両端に橋渡しする(写真1)
  2. カーテンに穴をあけてその穴にひもを通す(写真2)
  3. カーテンの片側を柱に固定する(写真3)。もう片側はラダーチェーンに取り付ける(写真4)。

電気部


VIVIWARE Cellを接続する

VIVIWARE CORE
VIVIWARE モーターBRANCH
VIVIWAREボタンBRANCH
VIVIWARE メッセージボードBRANCH

モーターBRANCHとギアボックスを接続する

今回はモーターBRANCHのポート1に接続した

ソフトウェア


VIVIWARE Cell Appで制御をつくる

写真は全体図。
次からブロック毎に説明していく。

プログラム:全体図


手動でモータを開閉する

ボタン2(灰ボタン)を押すとカーテンが開き、ボタン3(赤ボタン)を押すとカーテンが閉じる
ボタン2を押しているときはモーターのDirectionがローだが、ボタン3を押しているときはモーターのDirectionはハイになるため、二つのボタンではモーターの動きが逆になる。

プログラム:手動開閉部

カウントアップ+トリガー生成回路

ボタン1を押すと一定時間後(今回は5秒後)に、トリガーを発生させる。

  1. ボタン1を押しっぱなしにしなくても動作が進むようにトグルモジュールに入力する
  2. Toggleモジュールの出力をLoopモジュールに入れる。これによってLoopモジュールが周波数1Hzのクロックを生成する
  3. クロックの出力をCount upモジュールに入力する。これで1秒ごとにカウンターが進む
  4. カンターの出力を比較モジュールにいれる。今回は5と比較するのでカウンターが5以上になると出力がハイ(トリガー)になる

プログラム:カウントアップ+トリガー生成部

トリガーを受け取って一定時間モーターを動かす

  1. 比較モジュールから出たトリガーをToggleで受ける
  2. Toggleの出力をモーターのONに接続してモーターを回す
  3. このままだとモーターが回り続けるので、Toggleの出力をDelay(今回は3.5秒)に入力する。Delayの出力はToggleのResetに入力する。これによって、トリガーを受けてから一定時間(設定しているDelayの長さ)だけモーターを回転させることができる。

プログラム:モータを一定時間動かす

タイマーリセットを作る

今のままだとカウントアップが永久に止まらないので、カウントアップをリセットさせる。
カウントアップがリセットされる条件は以下の3つのどれかひとつでも当てはまった時。
  • カウントアップが設定時間を超えた時
  • 手動開閉ボタン(ボタン2とボタン3)を押した時
  • ソフトウェアボタンを押した時(念のため)

したがって、この3つの出力をORモジュールに入力し、その出力をカウントアップ部のResetに入力する。

プログラム:リセット部

参考データまとめ

  • 高解像度のスクリーンショット
デフォルトの機能である添付写真が低解像度で詳細が見えないので、すべて説明文の中に高解像度の写真のリンクを貼っている。詳細に見たい場合はそちらを参照。