まあ、おデコの温度を測ってネットに晒すのはシャレだったが、……。
脳波は、耳と額の電位差を測って、これをFFTにかければよいのだそうである。
……っていうか佐藤よ!何をしようとしている!?お前はどこへ行きたいのだ!!w
オッサンは生きている。
まあ、おデコの温度を測ってネットに晒すのはシャレだったが、……。
脳波は、耳と額の電位差を測って、これをFFTにかければよいのだそうである。
……っていうか佐藤よ!何をしようとしている!?お前はどこへ行きたいのだ!!w
この次の休暇(夏、だなあ、はあ……)では、ソレノイド、デジカメのACアダプタなどを買ってきて、デジカメのシャッターを定期的に落とすブツをこしらえよう。多分、1000円以内で出来てしまうだろう。
所有のデジカメにはEyeFiのSDカードが入っているから、電源を入れたまま撮影さえすれば、次々にパソコンに画像が送られる。
あっ、それと、イーサネットシールドをつけるのもやりたい。
それから、GPSモジュールは2000円くらいからある。これもやりたいし、SDカードの読み書きもやりたい。
あと、全然違うブツで、Raspberry PIもイジりたい。
さて、このようにArduinoで遊び、写真のような成果を得た。
これが、Arduinoを使用して、私・佐藤俊夫をワイヤード(USB経由)でネットに接続し、常時私のおツムの具合をネットに公開するシステムの図である。
左側のブレッドボード、その更に左側にわずかに見える緑色の素子がサーミスタである。+5Vを印加、10kΩ抵抗と直列につないで接地し、抵抗とサーミスタの間から出力をとってArduinoのアナログ入力に入れてある。
まことに疑問の余地もなく、シンプルである。
Arduino側には、次のようなシンプルなソースが書かれている。
// // シリアルに体温を送る。 // 佐藤俊夫 // 27.05.05(火) 1730~ // const int THERMISTOR = 0; // A0 // void setup() { Serial.begin(9600); } void loop() { float v = 0; // v = analogRead(THERMISTOR); v = -9.663E-5 * v * v + 0.164 * v + 0.197; Serial.println(v, DEC); }
次に、これを手近のLinuxマシンにつなぐ。
# stty -F /dev/ttyACM0 speed 9600 baud; line = 0; -brkint -imaxbel
これでよい。
あとは、crontabに次のように書き込み、crondを再起動すれば終わりである。
*/5 * * * * head -n 1 /dev/ttyACM0 | mail -s "Sato's Physical condition." foobar@hogehoge.ne.jp
無論、上記の「foobar@hogehoge.ne.jp」というメールアドレスは、私のブログへのメール投稿アドレスにほかならず、こうすることによりTwitterとFacebookにパブリサイズ共有されるわけである。
これで、私こと佐藤が、ついにインターネットに接続された!!
なぜ体温付近の温度をArduinoで検出しようとしているかと言うと、言わずと知れたこと、ふっふっふ、
先日、Arduino UNOと一緒に買った入門キットは、「seeedstudio SIDEKICK BASIC KIT」と言うもので、千石電商の2階に置いてあったから無造作にヒョイと選んだものだ。
ブレッドボードにジャンパ各色、小さいサーボ、可変抵抗、抵抗、チルトスイッチ、ダイオード、ボタンやスイッチ、ブザー、LED各種、コンデンサ、Cdsセル、サーミスタなどが詰め合わせになっており、オライリーの「Arduinoをはじめよう第2版」の題材を一通り試せるようになっている。
まず過不足のないところなのだが、seeedstudioというのは何分中国企業で、日本語のドキュメントが少ない。
と言っても、部品は簡単なものばかりなので、特にドキュメントなどなくても自分でテスターで計りながら使えばそれでよいのだが、この中の、サーミスタに関する情報が非常に少なく、難渋する。
サーミスタには写真のように「503」と刻印があるのみで、なんの情報もない。
ネット上で探すと、一応、seeedstudioのFAQページに、情報があることはある。
その中に、中国語のPDFで、こんなシートがある。
要するに「MF11-503K」という型番で、「503」というのはどうやら、「25℃で50kΩ」とでも言う意味らしい。
で、電圧発生抵抗を一本入れて、えーっと、どういう計算になるんだっけな、……と初心に帰る。
抵抗2本、直列に入れた時の一本目の抵抗の電圧はこうだから……
自分の指でつまんで温めたりして試したいんで、ターゲット温度を体温前後にする。なので、データシートどおりに抵抗が変化するんなら、こういう感じに電圧は変化する。
……で、Arduinoのアナログ入力は、0V~5Vを0~1024にマッピングするんで、1024/5をこれらにかけて、近似させればいいよね。
2次式モデルでこうなった。
v = -9.663E-5 * v * v + 0.164 * v + 0.197;
結局、サーミスタに直列に10kΩ、サーミスタの下からアナログへ出して、サーボにつなぐ。サーボの針が体温で上がったり下がったりするわけだ。
コードはこんな感じ。
// // サーミスタでサーボを制御 // 佐藤俊夫 // 27.05.05(火) // #include <Servo.h> // const int SERVO = 9; // D9(Servo) const int THERMISTOR = 0; // A0 const float INMIN = 30; const float INMAX = 40; const float OUTMIN = 5.0; const float OUTMAX = 175.0; // Servo meter; void setup() { meter.attach(SERVO); } void loop() { int v = 0; // v = analogRead(THERMISTOR); v = -9.663E-5 * v * v + 0.164 * v + 0.197; v = map(v, INMIN, INMAX, OUTMIN, OUTMAX); v = constrain(v, OUTMIN, OUTMAX); meter.write(v); }
ちょっと今後のWebに関して思うところでも書き留めておこうとして、ひょいと「LINE」、SNS、なんて書いたら、ブログ、Web掲示板、田代祭り、ネットニュースのエロ画像、メーリングリスト、メール……と遡ってしまい、そうするととめどもなくパソコン通信のBBS、草の根ネット、ニフティ、テレホーダイ、電電公社からNTTへ、ペンティアム、486、386、286、8086、エプソンの互換機、MS-DOSが5、4、3、3.30bが一番よくつかった、2.11、PC-DOS、8ビットのBASIC、シャープの電卓に4004の互換の石が乗っててこれはたしかPC-1211って型番、緑っぽい液晶で、そう、嶋正利氏、嶋氏といえば8086の一方ではザイログでZ80AからB、そんでZ800にZ8000、いやそれはもっと後の話、シャープのワンボードのマイコン博士、TK-80、80にはあとに「BS」てのがあってさ、その頃だったら電電公社の「DEMOS」とかまだ動いてたでしょプッシュホンでアクセスするアレ……などと、際限なく収拾のつかない回顧文字列に脱線していくから、もう、ダメだ。
「日本が推薦した候補で過去に登録勧告が覆された例もないが、今回は委員国の韓国が「朝鮮半島出身者を強制労働させた施設があり、世界遺産の基本精神に合わない」と強く反対しており、審議が紛糾する恐れもある。」
……って(笑)。
私は中国人・韓国人と共に手を携え、白人文化に目にもの見せてやりたいと内心考えているような変な男なので、もう韓国人を蔑視するようなことは書きたくもないのだが、向こうのほうでこれじゃあ、なあ、ハァ(ため息)。
天皇陛下万歳。
毎年書くことであるが、「こどもの日」は実は法定の「母の日」でもある。
「国民の祝日に関する法律」を紐解いてもらえば、
「こどもの日 五月五日 こどもの人格を重んじ、こどもの幸福をはかるとともに、母に感謝する。」
……と記されてあることがわかるだろう。
子供のある向きは、子供をして妻に感謝せしめれば、子供の人格を重んじ、かつ子供にとっての母に感謝することとなり、一石二鳥である。これは子供だけでなく、家族全般の幸福にも寄与すると思う。