だからと言って、キリスト教が優れた宗教である、というような紛れ込ませを肯うことは決してないから、左様、心しておくがよいわ。
日: 2015年6月7日
おお、ビシビシ
うほほ、なんだかわからないが、韓国WIZnetにビシビシ紹介されている。嬉しいぞ。
今朝のエントリ
今朝、「犬入札」という記事を書いたのだが、なんであんなアホな夢を見たのかと一日不思議でならなかった。
一方、最近古川緑波の昭和日記を読んでいて、これがけっこう面白いのだが、「毎日観客を沸かせて、劇場に『大入札』が出た」というような描写がしょっちゅう出てくる。
なにっ、「大入札」!?
- 大入札(おおいりふだ)
- 犬入札(いぬにゅうさつ)
……。
ぬぅ、夢の原因はコレかっ(違
……と、思って
ものすごい勢いでHTMLフォームとプログラムを書き始めたが、酔っ払ってきてやめてしまった。
3色入りLED
あ、そうだ、最初に買ったキットの中に3色入りのLEDがある。アレを、Webインターフェイスでコントロールするのも面白そうだな……。イーサネットシールド2もあるし。
珍しく
分裂
Arduinoは内部抗争で分裂しているのだそうな。そういやあ、arduino.orgとarduino.ccの二つがあって、ダウンロードできるIDEのバージョンが微妙に違ったりするので、変だな、と思っていたのである。
- 内部抗争と分裂について書いてあるサイト
- arduino.cc(これはArduino LLCという「本家」のほうだそうだ)
- arduino.org(こっちはArduino SRLという「元祖」のほうだそうだ)
私はと言うと、なんというか、2ちゃんねる用語でいうところの「今北産業」(笑)みたいなことなんで、なにがどうなんだか、さっぱりワカンネェw。
ほほー……
人間の脳はその力のおよそ80パーセントから90パーセントを視覚情報の処理に割いている、と何かで読んだことがあるが、なるほど、こういう映像を見ながら音を聞くと、視覚に幻惑されてか、本当に音が後ろから聞こえるのは、けだし当然と言えようか。
皮算用を胸算用
Youtubeからgoogle AdSense経由でお金が振り込まれたことに気を良くし、いっちょうここは、ブログに広告を貼ってやろうかい、などと考えた。
ひっひっひ、広告御大尽、……。
取らぬ狸のなんとやら、で、このブログ、日に100件くらいのビューしかないから、まあ、多分、ずーっと広告貼りっぱなしでも、ゼロ円だろうなあ。
無駄の多い距離計(笑)
昨日、一定の距離に近づくとカメラのシャッターが切れるという装置を作ったが、ふと思いついて、同じハードウェアで距離計が作れるな、と思った。なぜかというと、無駄にサーボを使っているからだ。
50センチ以下の距離が測れればいいな、というわけで、サーボの0度から180度まで割り付ける。
5センチ18度、というわけで、何かスマホいじりをしている次女に
「お~い、智香っ、智香。分度器を貸せ」
と言ったら、
「ん~?分度器?……ナイ。」
とニベもない。中学生のクセして、ないワケあるかいっ!!……と思ったが、ガミガミ言うのも面倒くさい。
針の長さがだいたい8cmだから、
tan18° = x ÷ 8cm、x = tan18° × 8cm ≒ 2.6cm。
円周上2.6cm刻みで目盛りをふればよろしい。……って、なにムダな計算しとるんだ俺は。
まあよい、それで、動かしてみるとこんなふうになかなか面白い。
で、まあ、定規をあてて測ると、だいたい合ってる。
しかし、デジタルで採れている値を、ムダにアナログに直すという、はっはっは。
スケッチはこんな具合。
// // rangemeter.ino // 超音波センサで測距して、サーボで作ったメーターで表示する。 // 27.6.7(日) 1015~ // 佐藤俊夫 // #include <Servo.h> Servo meter; const int SERVO = 8; const int TRIG = 9; const int ECHO = 10; const int SERVO_MIN = 0; const int SERVO_MAX = 180; const float RANGE_MIN = 0.0; const float RANGE_MAX = 50.0; void setup() { meter.attach(SERVO); meter.write(SERVO_MIN); pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT); } void loop() { float range = 0.0; delay(1000); range = ranging(); if(range <= RANGE_MAX){ indication(range); }else{ indication(RANGE_MAX); } } void indication(float range){ int deg = 0; deg = map(range, RANGE_MIN, RANGE_MAX, SERVO_MIN, SERVO_MAX); meter.write(deg); } float ranging(){ float time = 0.0, range = 0.0; digitalWrite(TRIG,LOW); delayMicroseconds(1); digitalWrite(TRIG,HIGH); delayMicroseconds(1); digitalWrite(TRIG,LOW); time = pulseIn(ECHO,HIGH); if (time > 0.0) { range = (time / 2.0) * 340.0 * 100.0 / 1000000.0; return(range); }else{ return(9999.0); } }