wcs_buttonとは
最新版はVersion0.1.3 (2017/08/10公開)です。
本ページ下部にある履歴からダウンロードできます。
wcs_buttonはWindows7/8/10(32/64ビット)で動作します。実行プログラム(exe)とソースコード(VB.NET VS2010)を無償で公開しています。
Arduino用のソースコードも公開しています(IDEのバージョンは1.8.3で動作確認)。Arduinoスケッチの名前は「button_push」です。
WebCameraSnap(以下wcsと略すことがあります)の静止画撮影を、WindowsPCとは別に設置した「プッシュボタン」を押した時に撮影ができる仕組みを作りました。
一通りの動作確認ができましたので、本ページを公開します。
全体の構成は以下のような感じです。

プッシュボタンは複数のボタンを設置して撮影ができることを確認したかったので、今回は3個用意しました。
撮影には1個あれば構いません。
将来、wcs-pro版に複数台のUSBカメラ撮影機能を付けますので、その際にボタンに応じて撮影するUSBカメラを選択できた方がよいので、準備しました。
(現在のwcsでは複数台のUSBカメラは扱えません)

【接続とプログラムの実行】
WindowsにArduino(実験で使ったのはArduino UNO互換ボードです)をUSBで接続します。
Arduinoにジャンパーピンで外部プッシュボタンを接続します。
Arduinoにボタンのon/off変化をシリアルで送信できるプログラムを入れ実行します。
Windowsでwcs_buttonを実行します。

【プッシュボタンが押された時の動作】
Arduinoはプッシュボタンのon/off状態に変化があれば、Windowsにシリアル経由で状態変化情報を送信します。
wcs_buttonは、送信されてきた情報を受信して、共用コマンドファイル(wcs_cmds.txt)を所定の場所に作成します。

今回公開するwcs_buttonは、Windows側で動作させるソフトで、次の2つの機能を持っています。
 (1)Arduinoから送信されてきたシリアル通信情報を受信する機能
 (2)受信内容に基づいてWebCameraSnap用の「共用コマンドファイル」を生成する機能
「共用コマンドファイル」は、Windows側で別途動かしている静止画撮影ソフト(WebCameraSnap)が参照し削除するファイルです。
WebCameraSnapは共用コマンドファイルをポーリング周期毎にチェックして、ファイルの先頭に「snap」と書かれていたら、静止画を撮影してファイルとして保存します。

★「共用コマンドファイル」の使い方は、別ソフトになりますが「ポチっとなwcs」の以下のページ
http://www.onecreation.jp/software/webcamerasnap/pochitona(クリックすると別ウィンドウで開きます)
設定方法>【WebCameraSnapを動作させるパソコン】の箇所にて説明をしています。
wcs_buttonは「ポチっとなwcs」と同様のソフトです。

wcs_buttonはシリアル通信情報を受信しないと共用コマンドを生成することができないので、今回は、外部機器としてArduinoを用意してプッシュボタンを使うようにしてみました。
「共用コマンドファイル」を書き込む場所がネットワーク上の共有ドライブなどでWebCamearSnapから読み書きができる場所であれば、
wcs_buttonを動かすWindowsパソコンはWebCameraSnapを動かしているパソコンと違っていても構いません。
(WebCameraSnapを動かしているパソコンの所定のフォルダを共有設定にして、他のパソコンから読み書きするようにするのでも構いません)

wcs_buttonはWebCameraSnap用として作成しましたが、機能がシンプルであるため、みなさんの想像力によって広く応用できると思います。

【補足情報】
  • Windowsに接続するシリアルポートの接続機器はArduinoを想定していますが、9600bps/8bit/パリティなし/1ストップビットであれば他の機器を接続できます。
    wcs_buttonのソース中を変更して通信条件を変更すれば、任意の接続条件で、外部通信機器と通信ができます。
  • wcs_buttonでは、Arduinoのポート名が条件によって変化するので、シリアルポート名(COM*)のみ設定変更できるようにしています。
【WebCameraSnapのライセンスをお持ちでない方へ】
wcs_button自体のご利用は無償です。でも、以下、よろしければ、ご検討ください!
wcs_buttonを使っていただいて、気に入っていただけましたら、是非、WebCameraSnapのライセンスをご購入いただけると嬉しいです。
今はちょっと、そのうちに~、というので全然構いません^^。
1ライセンス:税別6,000円(税込6,480円)で、ライセンスは1個からご購入いただけます。
WebCameraSnapのライセンス購入方法は次をご参照ください→ライセンス購入について

機能一覧
外部ボタン(3個用)の材料表(組立費、加工費、送料除く)
No メーカー 商品名・型番 数量 合計金額(円) 備考
uxcell 52mm 緑色 モーメンタリ プッシュボタン 1 760 amazon(2017/08/06時点の価格)
uxcell 50mm 赤色 モーメンタリ プッシュボタン 1 719 amazon(2017/08/06時点の価格)
uxcell 52mm 黄色ー モーメンタリ プッシュボタン 1 881 amazon(2017/08/06時点の価格)
SainSmart ArduinoUNO R3互換ボード(USBケーブル付き) 1 1162 amazon(2017/08/06時点の価格)
タカチ プラスチックボックスBCAS102007G 1 993 モノタロウ(2017/08/06時点の価格)
USBケーブル(ArduinoとPC間) 1 互換ボード付属品を利用
不明 配線材料
(ジャンパーケーブル、ワニ口クリップ)
適当本数 推定100円未満 amazon/秋月
不明 タクトスイッチ3色(基本動作試験用) 3 推定100円未満 秋月
不明 小型ブレッドボード(基本動作試験用) 1 推定100円未満 amazon
全部自分でやれば、材料代5000円で外付プッシュボタン3個の箱ができそうす。
uxcellのボタンは700-900円と少し高いですが(送料込みと思われる)、普通に使えそうで、今のところはいい感じです。
同程度の価格で国内の業者さんからもプッシュボタンは購入できそうです。
箱は普通にボタンを押して変形したりしないよう、丈夫そうなものを選定しました。手抜きできないと思います。
上記は材料代だけなので、組立てと箱の加工の作業費は別です。皆さんが誰かに作ってもらう時は、作業費のこともお忘れなく~。
あと、安価な互換ボードを使う場合は、動かない場合があるそうです。そんな時は、自分で判断して進めてください~。

Amazonを見ると今はUNO R3互換ボードが500円(USBケーブル付き)ほどで買えるみたい。
50mmプッシュボタン1個を箱に入れるなら材料代2000円強でいけそう。材料表を書いてみました。
(1個300円のプッシュボタンを見つけたので注文しました。コレが使えたら材料代は2000円を切りそう。)

外部ボタン(1個用)の材料表(組立費、加工費、送料除く)
No メーカー 商品名・型番 数量 合計金額(円) 備考
uxcell 50mm 赤色 モーメンタリ プッシュボタン 1 719 amazon(2017/08/06時点の価格)
HiLetgo ArduinoUNO R3互換ボード(USBケーブル付き) 1 435 amazon(2017/08/06時点の価格)
タカチ プラスチックボックスBCAS101007G 1 863 モノタロウ(2017/08/06時点の価格)
USBケーブル(ArduinoとPC間) 1 互換ボード付属品を利用
不明 配線材料
(ジャンパーケーブル)
適当本数 推定100円未満 amazon/秋月


緑色と黄色のプッシュボタンは直径52mmでLEDが入っていましたが、赤色は少し違っていて直径50mmでLED無しでした。
赤色ボタンはLEDがないので、ボタンは光らせない方針とします。LEDが手に入ったら、気が変わって光らせるかもしれませんが。
(2017/08/06追記、LEDを入手しましたので、将来の事例集で光らせたいと思います。別電源にした方がいいのかな。未検討です。
LEDの印加電圧は12Vと書いてあったけど、5Vで光るんだけどなぁ)

材料表にプラボックスを書いていますが、まだプラスチックボックスへのボタンの組み込みはしていません。
ボックスに取り付け穴を開ける道具を持っていないので、近く道具を持っている人のところで加工してきます。
組み込みが終わったら、完成写真を追加したいと思います。時期は未定ですが。

写真でわかるかなぁ、Arduinoのデジタルピンの接続先を一応書いておきます。緑ボタン->7番ピン,赤ボタン->6番ピン,黄ボタン->5番ピンです。
色の順番は適当に決めたので、ご自由に~。

タクトスイッチでとりあえずテストした状態

Arduinoをアクリルケースに入れた状態(参考)
基板の安全性確保のためアクリルケースにいれました。

プッシュボタンが届いたのでとりあえず接続した状態
プラボックスに組み込む前です。
組み込んだら写真を追加します。


LEDの点灯テストの様子をとりあえず掲載しておきます。 LED部分には抵抗が入っていましたので、そのままArduinoから出力しています。 緑以外は暗いですね。


【wcs_button】
Arduinoにつないだ緑色のボタンを押すと、緑ONの状態変化がArduinoからwcs_buttonにシリアル経由で送られます。 ボタンを離すと、緑OFFの状態変化が送られます。赤色ボタンだけを押した時、黄色ボタンだけを押した時、3色すべてのボタンを押した時、のwcs_buttonの画面の様子は以下の通りです。



wcs_buttonの設定画面の参考です。「受信時の動作」のタブシートにある「pin番号」はArduinoから送られてくる英数記号(-+=_.)から構成される文字列で、本環境ではArduinoのデジタル接続ピン番号を想定しています。

ソフトウェア販売価格

現時点では、個人・法人、営利・非営利を問わず無償です。

★ハードウェアは非売品ですが、完成済みボックスを購入希望の方はご相談ください。


カスタマイズ

お客様のご要望に応じたシステム構築、ソフトウェアのカスタマイズを有償にて承ります。(別途お見積もりいたします)
使ってみた感想、使い勝手のご要望など、お気軽にお知らせください。
Web問合せフォーム

やるかどうか、やれるかどうかはわからないけど、やりたいこと。
以下は、主にプッシュボタンを使ったことに関するアイデアです。他の機能からアイデアをもらったり、他の機能にアイデアに活用したりできると思います。アイデアは自由に使ってください。皆さんが実現する人です。
何かしら、面白い、役立つものを作られたら、ご紹介したいと思いますので、お知らせ下さい。

Arduinoを使うとセンサーを使った応用が簡単にできそうですね。
弊社では、ハードウェア関係は力量不足のため対応は難しいですが、簡易的なデモにはなりますが、今後も可能な限りトライしてみるつもりです。
  • Arduinoを有線LAN/WiFi/Bluetooh対応にして、wcs_buttonにネットワーク接続する。EthernetShield(持っている)、ESP-WROOM-02(開発ボードを持っている)、ESP-WROOM-32(Bluetoothを試したい)で試してみたいですね。
  • wcs_buttonをUSBケーブルではなくて、ネットワーク経由でArduinoと接続(直接または外部サーバ経由)
  • (開店、営業、受付、在席)「やってます」ボタンと状況をWebからスマホ/PCで見られるサービス
  • ドアの開閉センサーをArduinoにつないで、開閉があった頃合をWebCameraSnapで撮影できるようにする(簡単そうに見えるけど、それほど簡単ではなさそう)
  • [温度|湿度|気圧|照度|土壌水分量|二酸化炭素濃度|距離|加速度]がある閾値以下/以上になったら撮影する
  • プッシュボタンのLEDを有効化して、ボタンを押すたびLEDが点灯・消灯できるようにする
  • プッシュボタンを押すと音がボタン側から鳴るようにする
  • プッシュボタンは「撮影」だけでなく「決定」と「キャンセル」の機能を持たせて、ボタンを使ってwcsで撮影した場合の静止画像を撮り直しできるようにする。 「撮影」すると「決定」ボタンが点滅して、ある秒数まで待って反応がなかったら、自動的にキャンセルとか、ケースバイケースでできそうですね。

その他(ソフトウェアについて)
  • 配布ファイルは市販のウィルスチェックソフトによりウィルススキャン済みです(ソフトはカスペルスキーまたはウィルスバスターです)。
  • 公開しているソフトウェを利用、改造して利用、コードを再利用、販売(無償・有償を問いません)していただいて構いません。
    ただし、それらの行為および派生する事象すべてを御自身で行ってください。弊社は一切の責任を負いません。
  • wcs_buttonのオリジナルファイルの配布は、本サイトをリンク元にしてください。ページはお好みで選んでください。
    ただし、本サイトのドメイン名が消失して、十分な期間(半年~1年か?)を経過しても復活しない場合は、各自のWebサイトにコピーを置いていただいて構いません。
    各自のWebサイトにコピーを置かれる状況になってから、ドメイン名を復活・譲渡した場合は、公的に証明できる方法で(法人マイナンバーの掲示などなど)、状況をアナウンスいたします。
  • ソフトウェアに関して、弊社によるサポートおよび機能追加をご希望の方には、有償にて承ります。
    なお、機能追加は、内容によってはwcs_buttonの公開機能にフィードバックさせていただくことがあります。
    まずは、お気軽にご相談ください。
    Web問合せフォーム
  • ダイヤルアップ接続などでファイルダウンロードに時間がかかる方は、
    配布手数料として実費(税込2,160円)にてCD-ROM(1枚)またはDVD-ROM(1枚)をお送りします。お申込み時にご依頼あれば領収書を同封できます。

その他(ハードウェアについて)
  • 想定した動作をするように意図して作成しましたが動作保障はいたしません。
  • 作成されたハードウェアを利用して損益を被った場合、一切の責任を負いません。
  • 安全に使えるかどうか、長期の運用に耐えうるかどうか、現時点では未検証です。
  • 皆さんに作成していただくことを想定しておりますが、完成済みスイッチボタンを購入したいという奇特な方がいらっしゃいましたら、ご相談ください。 ご依頼内容に応じてお見積もりいたします。

wcs_buttonの履歴(Windowsアプリ)

button_pushの履歴(Arduinoスケッチ)
Arduinoスケッチのテキストファイルは、UTF-8,CR+LF,BOMなしです。ブラウザで開くと文字化けすることがありますので、ファイル名を付けて保存してからご参照ください。
  • 2017/08/10 v0.1.2公開 | Arduinoスケッチ(v0.1.2)(txt)(7 KiB) |
    [追加機能]
    ■Arduino側はシリアルから受信したLEDピン番号の状態を元にLED状態を変化させられる機能を追加した。
      なお、Arduinoの物理ボタンをプッシュしたらArduino側は初期化されます。
    
  • 2017/07/30 v0.1.1公開 | Arduinoスケッチ(v0.1.1)(txt)(3 KiB) |
    [最初のバージョン]
    ■ArduinoはUNO互換ボード、IDEのバージョンは1.8.3を利用しました。皆さんの利用環境に応じてデジタルピン番号は変更してください。
    

Copyright © 2008-2017 ONE CREATION, Inc