前にArduinoを介して、充電の開始と終了を検知しようという試みについて書いた。 http://goodsite.cocolog-nifty.com/uessay/2013/05/usb_side_channe.html あの時点では「誤検知が多そう」であったが、たまたま移動平均と±2σ境界値でお手軽に異常値を検知する記事を見かけ、真似をしてみることにした。 http://tjo.hatenablog.com/entry/2013/05/29/193218 使った道具はRaspberry Pi + Python + NumPy + Arduino + ACS712 まず、Arduino側はanalogRead()の値を延々と取り続け、シリアルで要求があったら最小値と最大値をシリアル返すプログラムを用意。フォーマットは、どんなでもよかったが途中で文字列の抜けがないかを確認できるよう[最終
Raspberry Piを始めました。で、猫も杓子もということで、こちらのページを参考にArduinoとのシリアル通信を試してみました。 http://justpushbuttons.com/blog/?p=376 元のページでは5V仕様のArduinoとロジックレベルコンバータを使ってRaspberry Pi(3.3V)と接続してますが、手元にあったArduino Pro Miniの3.3V仕様のものを使ってます。大きさといい部品点数の少なさといい、おすすめな組み合わせですが、ちょっと在庫が微妙。 まず、Arduino側にシリアルで文字列「1」を受信するとLEDが光り、「0」を受信すると消えるスケッチを書き込みます。某マシュマロを飛ばすプロジェクトの使いまわしです。 https://gist.github.com/usopyon/5568326 次にRaspberry Piです。/etc
※ポートを自動で選ぶ方法について、Arduino Microでも動くスクリプトを追記しました Arduonoは単体で遊ぶよりパソコンとシリアルで接続してこそだと思います。書籍「Arduinoをはじめよう」でArduino側でのシリアル通信について書かれてますので、ここではパソコン側について書いてみます。 そもそもpyserialを使えるようにする WindowsはPythonに限らず、RubyとかPerlとか最新版に追随してない場合も多々あるので、あくまで今の時点の動かし方ということで。ちなみに当方はWindows7 64bit。それ以外は、よくわかりません。 Python本体は公式の2.7.3。 http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi PySerialは、こちらの非公式ビルドからpyserial-2.6.win32-
★最新情報はNAVERまとめに書いてますので、こちらもご覧ください★ http://matome.naver.jp/odai/2135321780835381201 ●マシュマロ・カタパルトとは マシュマロを飛ばして人を攻撃する兵器です。KinectのFaceTrackingやPUXの顔認識ソフトウェアFaceUにより攻撃します。 ●FaceTracking 人間の弱点である口を狙うため、Kinect for Windows SDK 1.5のFace Trackingを用います。敵の口が開いたことを検知したら、すかさず12Vのソレノイドコイルに電流が流れ、マシュマロを射出します。 ●FaceU 人間の緊張感が途絶えたときに奇襲攻撃をしかけるため、Panasonicのデジカメで笑顔になったらシャッターを切るのに使われているFaceUを使い、笑顔推定して攻撃タイミングを判定しています。 ●参考
Arduino LeonardoはUSBマウスの振りをできるArduino。ということで、Windows標準のペイントにマウス情報を送り込んで、簡易グラフを書いてみた。 入力は東京デバイセズさんの心拍(脈拍)センサ・シールドを使っている。 ソースはこちら。 https://gist.github.com/2800650 あっさりしすぎかな。 Leonardo自体が初めての方は、スイッチサイエンスさんの「ぐるぐるマウス」のページを最初に読むといいかも。 http://trac.switch-science.com/wiki/tinker-with-Leonardo リセットボタンを押した状態で、Arduino IDEの「マイコンボードに書き込む」をクリックし、ステータスが「マイコンボードに書き込んでます...」に変わったらリセットボタンから指を離すというのがキモかな。 あと、マウスが動き続け
これがAC100Vで動くのだが、どうやって制御するか。秋月のソリッドステートリレーが、まさしくこういう用途に使えるらしい。 http://akizukidenshi.com/catalog/g/gK-00203/ こんな感じに、スイッチ付きコンセントのスイッチの部分に接続する。 入力側にArduinoを繋ぎ、Arduinoで5秒間隔で13番ピンを光らせるような簡単なプログラムを走らせると、無事に5秒間隔で噴水が上がった! Webと連携ということで、例のトイレサイトで、登録があるとDBに書き込むように作っている箇所を、DBとは別にファイルに適当な文字列を出力するよう改造し、PC(Windows)からは数秒おきにファイルの変更の有無をチェックするプログラムをRubyで書く。 で、そのRubyはWeb上のファイルの変更を検知したら、Arduinoにシリアル通信で文字列を送信。 Arduino側は
デザインにめっぽう弱い僕は、Twitter Bootstrapなしでは生きていけないぐらい頼りっぱなしなんだが、それなりの頼りっぷりだと自覚してるので、今の時点での感想や雑テクなどを書くことにする。 ちなみに前にもTwitter Bootstrapについて書いたことがあったが、そのときの見出しはこんな感じだった。 ・あのサービスのようなボタンを作れる ・フォーム全般も見栄えが改善 ・Webとモバイルでひとつのデザインに 今回は、こんな内容について書く。 ・レスポンシブ・デザインは「郷に入れば郷に従え」 ・navbar、Thumbnailsなど全てグリッド・レイアウトの恩恵を被る ・JavaScript Pluginsを恐れずに使おう レスポンシブ・デザインは「郷に入れば郷に従え」 Webサイトを1つ作り、PCで表示したら2段組み、スマートフォンで表示したら1段組みにレスポンシブにレイアウト
何度か書いてますが、「インタラクティブわたがし」という、Kinectと綿菓子機が連携するシステムを作っています。(もちろん遊びで) このシステム、元は赤い服の人が来たら赤い綿菓子、青い服の人が来たら青い綿菓子を作るというものですが、人を認識するためにKinectを、綿菓子の材料となるザラメの制御にArduinoを使っていて、気づいたら随分と色々な組み合わせを試していたので、ノウハウ紹介します。 OpenNI/C++ KinectSDK/C++ KinectSDK/C# OpenNI/Processing いずれもKinectのソースコード付きで解説すると大変なので省略し、Arduinoの初期化と呼び出しの箇所だけ書きます。また、数値を文字列に変換する書きっぷりも処理系によって違うので、dataという変数に入った値を出力するという想定で書きます。 ●OpenNI+OpenCV/C++/Mac
トイレシュランのAndroid版をリリースもしたことだし、ちょっと開発について振り返ってみようかと思う。 開発にはTitanium MobileというJavaScriptでAndroidやiPhone向けのアプリを開発できるものを選んだ。制約も少なくないと思うけど、少しでもシンプルな言語が好きな人にはオススメできるかも。 と言いつつ、困ったポイントも書き残しておく。 まず、デバッグ情報を出力できないのを、なんとかする。 これまでモバイル端末向けの開発をしたことがなかったが、ちょっと書いてはイミュレータに転送して動作確認させるものらしい。ただ、解析時にイミュレータにデバッグ情報を出すのは大変なので、Ti.API.infoという関数でコンソールに出力させることができる。 ただし、このTi.API.infoが不安定。僕の環境(Windows7 64bit + Titanium Studio 1.
某トイレ関係のWebサービスは、僕がデザインが得意ではないのでTwitter BootstrapをいうCSSコンポーネントの助けを借りている。本格的に使い込んだわけではないけど、便利だと思ったところを列挙していく。 あのサービスのようなボタンを作れる Twitter Bootstrapなので、当然ながらTwitterのような各丸で適当にグラデーションがかかっていて、マウスを近づけると色が少し変わるような、オシャレなボタンを <button type="submit" class="btn btn-primary"> と書くだけで実装できてしまう。(もちろん、ヘッダでcssを呼び出しておくのですが) 色も7色から選べるので、例のトイレのサイトでfacebookの「いいね!」ボタンに対抗して「スッキリ」ボタンを実装する際にも使わさせてもらった。 フォーム全般も見栄えが改善 CSSを使わずにペー
以前にPython+PILで画像処理してハードウェア(arduino)と連携させるという記事を書いたが、PILより面白いことができそうなOpenCVにも挑戦してみた。 ちなみにプラットフォームはMacBook+Pythonではなく、さくらインターネット+Pythonにした。また、お題はOpenCVの顔ともいえる顔画像認識を選んだ。 まず、OpenCVの前に、cmakeをインストール。なお、cmakeのcはクロスプラットフォームらしい。これ伏線。 (/local/src配下で) wget http://www.cmake.org/files/v2.8/cmake-2.8.2.tar.gz tar xvf cmake-2.8.2.tar.gz cd cmake-2.8.2/ ./bootstrap --prefix=$HOME/local 次にOpenCV。 (/local/src配下で) w
これまで、LCD、7セグと進化を続けてきた犬トイレ時計を、さらに進化させるべく、LEDマトリクスを並べた表示器を作ってみた。シフトレジスタ(74HC595)を2つとデコーダ(74HC138)を1つ使っている。 後ろから見ると、こんな感じにarduinoが刺さっている。 これ、実は最初は、もっとコンパクトに、こんな感じで作りたかったのだけど 作ってる途中に配線を間違えたりして、嫌になったので、ちょっと工夫をしてみた。 ポイントは2つある。 Ethernet Shieldのポートと干渉しないよう、バニラシールドを削って使っていたが、毎回、何か作るたびに削るのは面倒なので、ひとつ削ったものを作り、使いまわそう。 汎用的なユニバーサル基板で作れるようピン配置をarduino fioと互換にしよう。 で、実際に作ってみたfioとピン互換のシールドがこちら。 Ethernet Shieldを刺した状態
どうしても長いタイトルになってしまうのだが、まあ、タイトルの通りのことをやってみた。 図にすると、こんな感じ。 何が嬉しいかというと、 「先月に読んだ本のタイトルなんだっけ」というのを探せる 参考書とかを読み込ませて、勉強の記録を作れる 本の貸出の管理に使える といったことを「パソコンを立ち上げなくても、8ビットマイコンとクラウドで実現できちゃう」というところかな。まあ、実用面としては、たいしたアイデアではないと思います。 今回、使ったバーコードリーダは、これ。 バーコードリーダはキーボードと同じようにUSBとPS/2があって、どちらもパソコンからはキーボードと同じように認識される。今回は、Ethernet Shiledを使いたかったので、Ethernet Shieldとピンが重複するUSBホストシールドの利用は断念してPS/2を選んだ。PS/2キーボードの利用については下記のライブラリと
【追記】 この手法、Open Electronicsの方々が修正して、わかりやすいチュートリアルにしてましたので、こちらを参照してください。 http://www.open-electronics.org/how-send-data-from-arduino-to-google-docs-spreadsheet/ こちら経由で知りました。 http://blog.makezine.com/archive/2011/07/how-to-save-arduino-output-to-google-docs-spreadsheets.html -- 前に、arduinoとEthernet Shieldから色々とデータ送信する方法をまとめたが、 arduinoでEthernet Shieldパターン(送信編): uessay その中で、Google Docsのスプレッドシート(表計算)にデータを送
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く