だからと言って

投稿日:

 だからと言って、キリスト教が優れた宗教である、というような紛れ込ませを肯うことは決してないから、左様、心しておくがよいわ。

今朝のエントリ

投稿日:

 今朝、「犬入札」という記事を書いたのだが、なんであんなアホな夢を見たのかと一日不思議でならなかった。

 一方、最近古川緑波の昭和日記を読んでいて、これがけっこう面白いのだが、「毎日観客を沸かせて、劇場に『大入札』が出た」というような描写がしょっちゅう出てくる。

 なにっ、「大入札」!?

  •  大入札(おおいりふだ)
  •  犬入札(いぬにゅうさつ)

……。

 ぬぅ、夢の原因はコレかっ(違



3色入りLED

投稿日:

 あ、そうだ、最初に買ったキットの中に3色入りのLEDがある。アレを、Webインターフェイスでコントロールするのも面白そうだな……。イーサネットシールド2もあるし。

珍しく

投稿日:

 NHKの朝の連ドラ「マッサン」の放映が終わったのはもう随分前の事のように感じられ、もはや主演女優シャーロット・ケイト・フォックスすら過去の人のように思われるが、あれ以来、国産はサントリー一辺倒だった私がにわかにニッカ・ファンになり、ミーハーにもブラックニッカなぞ買い漁っているのは、我ながら恥ずかしい気もする。

 さておき、さっきスーパーに行ったら、ブラックニッカの新製品を売っていたので、さっそく買ってきた。

 早々と入浴してしまい、窓から初夏の薫風を入れて、一杯やる。うーん、うまいぞ。

wpid-wp-1433664487961.jpeg

分裂

投稿日:

 Arduinoは内部抗争で分裂しているのだそうな。そういやあ、arduino.orgとarduino.ccの二つがあって、ダウンロードできるIDEのバージョンが微妙に違ったりするので、変だな、と思っていたのである。

 私はと言うと、なんというか、2ちゃんねる用語でいうところの「今北産業」(笑)みたいなことなんで、なにがどうなんだか、さっぱりワカンネェw。

ほほー……

投稿日:

 人間の脳はその力のおよそ80パーセントから90パーセントを視覚情報の処理に割いている、と何かで読んだことがあるが、なるほど、こういう映像を見ながら音を聞くと、視覚に幻惑されてか、本当に音が後ろから聞こえるのは、けだし当然と言えようか。



皮算用を胸算用

投稿日:

 Youtubeからgoogle AdSense経由でお金が振り込まれたことに気を良くし、いっちょうここは、ブログに広告を貼ってやろうかい、などと考えた。

 ひっひっひ、広告御大尽、……。

 取らぬ狸のなんとやら、で、このブログ、日に100件くらいのビューしかないから、まあ、多分、ずーっと広告貼りっぱなしでも、ゼロ円だろうなあ。

無駄の多い距離計(笑)

投稿日:

 昨日、一定の距離に近づくとカメラのシャッターが切れるという装置を作ったが、ふと思いついて、同じハードウェアで距離計が作れるな、と思った。なぜかというと、無駄にサーボを使っているからだ。

 50センチ以下の距離が測れればいいな、というわけで、サーボの0度から180度まで割り付ける。

 5センチ18度、というわけで、何かスマホいじりをしている次女に

「お~い、智香っ、智香。分度器を貸せ」

と言ったら、

「ん~?分度器?……ナイ。」

とニベもない。中学生のクセして、ないワケあるかいっ!!……と思ったが、ガミガミ言うのも面倒くさい。

 針の長さがだいたい8cmだから、

tan18° = x ÷ 8cm、x = tan18° × 8cm ≒ 2.6cm。

 円周上2.6cm刻みで目盛りをふればよろしい。……って、なにムダな計算しとるんだ俺は。

IMG_2999

 まあよい、それで、動かしてみるとこんなふうになかなか面白い。

 で、まあ、定規をあてて測ると、だいたい合ってる。

IMG_2996

 しかし、デジタルで採れている値を、ムダにアナログに直すという、はっはっは。

 スケッチはこんな具合。

//
//  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);
  }
}