Arduinoと不気味な管理者の妄想デバイス用のタッチセンサー

感覚制御を整理するArduinoには興味深いライブラリがありました: www.arduino.cc/playground/Main/CapSense

動作原理は簡単です。2本の足を数メガオームの抵抗器に接続します。1本の足は出力、2本目の足は入力です。 ワイヤーセンサーを入力に接続します。さらに良いのは、銅箔のような平らで導電性のあるものです。 出力が0から1に、またはその逆に切り替わると、入力状態も切り替わりますが、さまざまな浮遊容量により、一定の遅延でプロセスが発生し、容量が大きいほど(たとえば、人の手が近くなるほど)この慣性が大きくなります。 ライブラリの作成者のイラストを次に示します。



画像

ライブラリは、これらすべてのスイッチと時間の測定値を私たちから隠します-便利な機能を取得します:

capSenseRaw(leg_output、leg_input、number_of測定)。

ライブラリとArduinoにつながれたさまざまな鉄片を使った実験の過程で、私があなたに提示する面白いデバイスのアイデアは、管理者パラノイアの炎症を起こした意識から生まれました。

要するに、(管理者が作業時間を費やしている)椅子に十分な量のワイヤーを置き、それを布で覆い、ワイヤーをArduinoに接続します-誰かが椅子に座っているかどうかを鉄片で判断させます。 そして、管理者が職場を去るその瞬間に、Arduinoはコンピューターに信号を送信し、自動的にシャットダウンします。

... .work、「works、blacks!」のように再生することもできます。 太陽はまだ高い」

このアイデアの実装のドラフトバージョンを考えてみてください。



約10メガオームの抵抗器を見つけるのが最も難しいことが判明しました。 農場は2.2メガオームでした-私はそれらを直列に4個はんだ付けしました-約9メガオームが出ましたが、それはいように見えました。 彼はラジオ店を調べました-そこで15MΩの抵抗器を見つけました-彼はいくつかの部品を取りました。 私たちは問題を取り上げ、ワイヤーを縫い、スキームに従ってすべてを接続します。Freeduino-Arduinoクローンを使用します。 それらは完全に互換性があります。 電気的にもプログラム的にも違いはありません。

コンピューター用ソフトウェア

Pythonを支持してコンピューター上で動作する回答部分を作成するための言語を選択しました-Windowsにはバンドルされている通常のスクリプト言語はありませんし、何かを配信しても、それは大規模なコミュニティで人気のあるプロジェクトになります、多くのライブラリ、

多数のサンプルであり、通常は多かれ少なかれライブOSに移植されます。

Pythonには、COMポートを操作するためのシンプルで便利なpySerialライブラリがあります(システムでは、ArduinoはUSBバスのCOMポートで表されます): pySerial

さらに、WindowsではpyWin32も必要になりますが、その後、PythonからArduinoを操作することは不名誉になるまで単純化されます。

スクリプトから車をロックする方法は?

このようなWindowsの場合:

Rundll32.exe user32.dll、LockWorkStation。

GNOME(Ubuntu 8.04でテスト済み)の場合:

「Gnome-screensaver-command --lock」または次のようにします。

「Xdg-スクリーンセーバーロック」。

KDEの下では-私は検索しなかったし、方法もわからない-私も問題なく思う。

必要なものはすべて揃っているので、すべてをまとめて収集する必要があります。

コメント付きのArduinoのソースは、 CapSenseSrc.zipにあります。

プログラムは簡単です-人が現れると、Arduinoは「Hello!」ポートに書き込みます。

そして男が去ると、「バイ!」

pythonスクリプトのソースコードはアーカイブにありますが、そのシンプルさのために、ここで説明します。

 --- AutoLock.py ---
 #-*-コーディング:windows-1251-*-
輸入シリアル
輸入OS

 ser = serial.Serial( 'COM3'、9600)#ここに独自のポートを配置する必要があります
一方:
     s = ser.readline()。strip()#行を読み、改行を削除します
 #印刷(s)#デバッグ用のコメント解除
     if s == 'Bye!':#人が立ち去った場合、システムをブロックする
         os.system(「rundll32.exe user32.dll、LockWorkStation」)
 ---


Ubuntuでは、2行の変更で正常に機能しました:

ポートは次のように開きます。

 ser = serial.Serial( '/ dev / ttyUSB0'、9600)


車は次のようにロックされています。

         os.system( 'gnome-screensaver-command --lock')


作業を示す小さなビデオ:



PS Arduinoでの実験についてはブログarduino-ru.blogspot.comにまだ書いていますが、レポート形式のレポートがあります。ソースコードと回路の解析を使用して、ハブに関する詳細な説明を投稿する予定です。 特に、誰かが興味を持っているなら、私はこれをするのがうれしいです。 聴衆の中にソフトウェアに近い人がいますが、自家製の腺について少し理解したい人はいますか?

または逆に、はんだごてを手に持って生まれた人が、誰がマイクロコントローラに近づくことができなかったのですか? 一般的に、私はフィードバックが欲しいです-私は良いと異なるコメントを待っています:)




All Articles