sophiaの書

なんか書く

六畳間に布団を4枚敷くとき、部屋に占める布団の面積を最大化する

以前合宿で部屋に布団を敷いていたとき、誰かが「この作業は布団の面積を最大化する問題に置き換えられるのではないか?」と言っていたので確かめてみた。

条件

そのときの部屋の大きさは覚えていないので、適当に六畳間とする。畳の寸法は団地間(85 cm×170 cm)とする。

また、敷き布団の大きさを測ってなかったのでここでは直置き用のシングルサイズ(100 cm×210 cm)とする。

計算量を減らすために布団の縁が部屋の壁と平行になるように布団を敷くことにする。

計算量を減らすために布団を20 cmずつずらして布団の面積を計算し、布団の面積が最大となるような布団の配置を探す。具体的には布団4枚についてx方向とy方向にそれぞれ動かすのでプログラムで八重ループを使う。

面積は図1に●で示した格子点の個数を数えて計算する。図1の場合は●が84個ある。●はそれぞれ20 cm×20 cmの面積と対応している。よって、図1では布団の面積は84×20×20平方センチメートルとなる。ただし図1において灰色で示した部分は無視している。布団の長辺210 cmは20 cmで割り切れないからである。なお、図1には縦置きと横置きの布団が2枚置いてある様子を示してある。格子点の個数はMATLABのunion関数とsize関数を用いることで簡単に求められる。

図1 面積計算法

図1 面積計算法

部屋の大きさは340 cm×255 cmである。布団を20 cmずつ動かすため必ずしも布団を部屋の隅まで動かすわけではない。布団配置決定のための八重ループに時間がかかるので、計算量を減らすためにこのような粗い評価をせざるを得ない。

結果

横置きの布団が4枚のとき、布団面積は67200平方センチメートルであった。この面積の値は上でも述べたように布団の一部を無視して計算した値である。図2にこのときの布団配置を示す。黒枠は六畳間を表す。左上の角が原点であり右方向にx軸を、下方向にy軸を取る。それぞれの布団の位置は布団左上の角の座標で表す。見やすさのために4枚の布団を赤、黄、緑、青で区別する。図2の場合、赤い布団の位置は(0 cm, 0 cm)、黄色い布団の位置は(0 cm, 100 cm)、緑の布団の位置は(120 cm, 0 cm)、青の布団の位置は(120 cm, 140 cm)であった。この布団配置が横置き4枚を今回の条件の下で動かし布団の面積が最大となる布団配置である。例えば緑の布団を青の布団に接するまで図2の下方向に動かしても布団の面積は変わらない。このように面積を変えずにある程度布団の位置をずらせるので、求めた布団配置は唯一の配置ではない。

布団を20 cmずつ動かして評価しているので布団を部屋の隅まで動かせてないことが図2から分かる。

図2 横置き4枚

図2 横置き4枚

横置きが3枚、縦置きが1枚のとき布団の面積は70400平方センチメートルであった。図3にこのときの布団配置を示す。図3の場合、赤い布団の位置は(0 cm, 0 cm)、黄色い布団の位置は(0 cm, 100 cm)、緑の布団の位置は(40 cm, 140 cm)、青の布団の位置は(240 cm, 0 cm)であった。

図3 横置き3枚、縦置き1枚

図3 横置き3枚、縦置き1枚

横置きが2枚、縦置きが2枚のとき布団の面積は72800平方センチメートルであった。図4にこのときの布団配置を示す。図4の場合、赤い布団の位置は(0 cm, 0 cm)、黄色い布団の位置は(40 cm, 140 cm)、緑の布団の位置は(100 cm, 0 cm)、青の布団の位置は(240 cm, 40 cm)であった。

図4 横置き2枚、縦置き2枚

図4 横置き2枚、縦置き2枚

横置きが1枚、縦置きが3枚のとき布団の面積は70400平方センチメートルであった。図5にこのときの布団配置を示す。図5の場合、赤い布団の位置は(0 cm, 0 cm)、黄色い布団の位置は(40 cm, 140 cm)、緑の布団の位置は(100 cm, 0 cm)、青の布団の位置は(240 cm, 0 cm)であった。

図5 横置き1枚、縦置き3枚

図5 横置き1枚、縦置き3枚

縦置きが4枚のとき布団の面積は70400平方センチメートルであった。図6にこのときの布団配置を示す。図6の場合、赤い布団の位置は(0 cm, 0 cm)、黄色い布団の位置は(40 cm, 40 cm)、緑の布団の位置は(140 cm, 0 cm)、青の布団の位置は(240 cm, 0 cm)であった。

図6 縦置き4枚

図6 縦置き4枚

考察

布団の面積が最大となったのは横置き2枚、縦置き2枚のとき(図4)であった。

今回の条件では布団の一部を無視して面積を計算した。同じ布団の配置で布団の一部を無視せずに計算し直してみる。横置き4枚のときは69600平方センチメートルである。横置き3枚、縦置き1枚のときは73100平方センチメートルである。横置き2枚、縦置き2枚のときは74600平方センチメートルである。横置き1枚、縦置き3枚のときは72100平方センチメートルである。縦置き4枚のときは73800平方センチメートルである。

よって布団の一部を無視せず面積を計算したとしても横置き2枚、縦置き2枚のとき面積が最大となる。

二番目に大きな面積との差は74600-73800=800平方センチメートルである。この値は布団一枚の面積210×100=21000平方センチメートルの800÷21000×100≒3.8%である。あまり大きな違いはないと言える。

また、今回は布団を20 cmずつずらして面積を計算したので雑な評価であり、今回の計算結果は本当の最大値ではない。

加えて、計算結果は布団と畳の寸法によって変わることに注意しなければならない。

よく考えてみれば、実際には六畳間に布団を4枚敷くとき部屋の床面積に占める布団の面積の割合を最大化しているわけではない。部屋の入り口付近には布団を敷かないようにしたり、荷物置き場を用意したり、布団の重なり合いをどの布団でも同じくらいにしたりしている。

単純に布団の面積を最大化するだけでは不十分である。

MATLABプログラムについて

横置きの布団が4枚のとき私のPCでMATLABプログラムを動かすのにかかった時間は117.901秒であった。部屋の対称性と布団の形が全て同じであることを利用して八重ループの回数を減らす工夫をしている。

同様にして、横置き3枚、縦置きが1枚のとき計算時間は398.045秒。

横置き2枚、縦置きが2枚のとき計算時間は202.037秒。

横置きが1枚、縦置きが3枚のとき計算時間は106.175秒。

縦置きが4枚のとき計算時間は23.338秒であった。

クラシックマウス用の迷路で鬼ごっこ

この記事の内容

大きさが16×16の格子状で未知の迷路(クラシックマウス用)内で、2台のロボットが鬼ごっこできるかシミュレータで確かめました。逃げる方の逃げ方を適当に決めたせいか、鬼が勝ちました。

きっかけ

以前、私たちが迷路を広げて各自のクラシックマウスを走らせていたことがありました。迷路内を複数のクラシックマウスが走り回っている様子を見て、誰かがクラシックマウスに鬼ごっこをさせられたら面白そうだと言いました。私は複数のクラシックマウス間で互いの現在地を教え合う機能さえ追加すれば鬼ごっこができると思いつきました。クラシックマウス同士が互いの位置を分かっていれば、逃げる側(子)はどこから逃げればよいか分かりますし、追う側(鬼)はどこを目指せばよいか分かるからです。また、鬼が子の隣に来たら鬼の勝ちだということにすれば、「つかまえた」判定もできるようになります。そこで、この思いつきで鬼ごっこができるかどうかを確かめます。まずはシミュレータ上で鬼ごっこを試します。

やり方

他の人が作ってくれた迷路探索シミュレータを使います。これを使えば簡単に鬼ごっこを試せます。私は画面の中の迷路にクラシックマウスを2台同時に登場させ鬼ごっこをさせる機能を追加するだけで済むので楽です。シミュレータのプログラム内では2台の位置を記録する変数をグローバル変数として宣言しているため、お互いの位置が分かるようになっています。

画面の中で子は赤い四角で、鬼は青い四角で表します。子だけが知っている(子が実際に通ったところの)壁は赤で、鬼だけが知っている(鬼が実際に通ったところの)壁は青で、両方が知っている(迷路外枠と両者が通ったところの)壁はピンク色で表します。

ルールは次のようにします。子は迷路の左下の角の区画から、鬼は右上の角の区画から出発します。両方とも同時に動き始めます。鬼が子の隣の区画に来たら鬼の勝ちです。鬼が子をつかまえるまで鬼ごっこは続きます。

両者の作戦は次にようにします。

鬼は子がいる区画に向かって動きます。

子は鬼から逃げます。逃げ方は私が適当に決めました。子は迷路の右上の角の区画、右下の角の区画、左下の角の区画、左上の角の区画のどれかに向かって動きます。その4つのうちどれを選ぶかは鬼の位置によります。鬼が迷路の右上のどこかにいたら子は右下の角の区画を目指します。鬼が迷路の右下のどこかにいたら子は左下の角の区画を目指します。鬼が迷路の左下のどこかにいたら子は迷路の左上の角の区画を目指します。鬼が迷路の左上のどこかにいたら子は右上の角の区画を目指します。

結果

子(赤い四角)の逃げ方が下手過ぎて鬼(青い四角)につかまってしまいました。

鬼ごっこ始め

ごっこ始め

鬼ごっこ途中

ごっこ途中

つかまえた

つかまえた

動画も載せときます。

まとめ

クラシックマウス用の迷路で鬼ごっこができます。

これはクラシックマウス?

同じ迷路内を同時に走るクラシックマウスをまとめてクラシックマウスと呼ぶことはできません。つまり、迷路を走るロボットは1台でなくてはクラシックマウスと呼べません。なぜならマイクロマウスクラシック競技規定の2文目に次のように書いてあるからです。

"A robot participating in this contest is termed Micromouse."

日本語訳「ここに出場するロボットをマイクロマウスと呼ぶ。」

注:クラシックマウスは昔マイクロマウスクラシック競技という名前だったので、競技規定ではクラシックマウスをマイクロマウスと呼んでいるのでしょうね。

この不定冠詞によって、クラシックマウスは1台であると分かります。

マイクロステップ駆動の音

概要

ステッピングモーターを1-2相励磁により動かしたときの音とマイクロステップ駆動により動かしたときの音を耳で聞いて比べました。マイクロステップ駆動では音が小さいけれど音がしなくなるわけではないことを確かめました。

はじめに

ステッピングモーターを動かすと音が鳴ります。以前ステッピングモーターを鳴らしていた時になぜ音が鳴るのか疑問に思いました。また、マイクロステップ駆動では音がどうなるか気になりました。そこで今回試してみました。

方法

オリエンタルモーターのPKE243A-Lという駆動方式が2相ユニポーラのステッピングモーターを使いました。私のクラシックマウスに使われているものです。今回はクラシックマウスにくっつけたまま実験しました。(私は今のところクラシックマウスだけにしかステッピングモーターを使ってないので、クラシックマウスにくっついたステッピングモーターについて実験します。)

EIC4133というモータードライバー(以下モタドラと略す)を使いました。これはSLA7078MRというモタドラと同じように使えるものです(たぶん)。EIC4133はステッピングモーターと一緒に箱の中に入っていました。

ステッピングモーターを1-2相励磁とマイクロステップ駆動により動かしました。モタドラへ入力するパルス信号の周波数は1-2相励磁とマイクロステップ駆動とで同じにしました。ステッピングモーターが出す音を耳で聞き、その高さと大きさを主観的に比べました。

1-2相励磁はMode F固定としました。また、モタドラの仕様でマイクロステップ駆動はW1-2相励磁、2W1-2相励磁、4W1-2相励磁の3種類あります。今回は三つとも試してみました。つまり、今回試した駆動方式はMode F固定とした1-2相励磁とマイクロステップ駆動のW1-2相励磁、2W1-2相励磁、4W1-2相励磁の計4種類です。

注:これらの専門用語に関する説明はこの記事では省略します。

結果

音の高さはどの駆動方式でも同じでした。

音の大きさは1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁(後ろ三つがマイクロステップ駆動)の順に小さくなっていきました。つまり1-2相励磁が一番大きな音を出し、4W1-2相励磁が一番小さな音を出しました。

4W1-2相励磁でステッピングモーターを動かすとだいぶ音が小さかったです。しかし無音とは言えないくらいの大きさの音が鳴っていました。

1-2相励磁でステッピングモーターをゆっくり回したときテッピングモーターが震えました。一方でW1-2相励磁、2W1-2相励磁、4W1-2相励磁(三つともマイクロステップ駆動)でゆっくり回したときは震えませんでした。なお、1-2相励磁でステッピングモーターを速く回したときはステッピングモーターが震えませんでした。(もしかしたらステッピングモーター単体で実験したら震え方が変わるかもしれません。)

なお、ステッピングモーターが回る速さは1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に遅くなっていきました。モタドラに入力するパルス信号の波一つ分で回る角度が1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に小さくなるからです。

考察

参考文献に書いてありましたので紹介します。

ステッピングモーターは、入力パルスに対して1ステップずつ同期しながら回転しています。

そのため、1ステップごとにオーバーシュートとアンダーシュートを繰り返し、減衰振動をした後に所定の位置で停止しています。
この減衰振動が低速での振動・騒音の原因となる場合があります。

ステップ角を細かくすることで、この減衰振動を小さくすることができます。
そのため、マイクロステップ駆動は低速域での振動や騒音の低減に効果的です。

マイクロステップ駆動が低速域での振動(ゆっくり回したときの震え)に効果的であることは今回の実験でも確かめられました。

今回はどの駆動方式でも同じ高さの音が鳴りました。これはモタドラに同じ周波数のパルス信号を入力しているからです。その場合、どの駆動方式でもステッピングモーターの回転軸が単位時間あたりにカチッと動く回数が同じになります。同じ速さで回転軸がカチカチ鳴るので同じ高さの音が出ます。厳密には音色が違うかもしれませんが、耳で聞いただけではあまり音色の違いがありませんでした。

1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に音が小さくなっていきます。これはW1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に回転軸の動きが滑らかになっていくからです。言い換えると、回転軸がカチッと1回動く大きさが小さくなっていくからです。回転軸がカチッと動く大きさが小さくなればそれだけ回転軸の震えが小さくなります。回転軸の震えが小さくなればそれだけ音が小さくなります。

ステッピングモーターはコイルを不連続に励磁して回すモーターであるため、回転軸の震えはなくならず、音は消えないようです。(不連続でなくなったらもはや「ステッピング」とは言わないのでは?)

まとめ

ステッピングモーターをより滑らかに回せば音がより小さくなります。ただし音はなくなりません。

参考文献 

2-5. マイクロステップ駆動の動作原理|WEBセミナー|セミナー・技術情報 |オリエンタルモーター株式会社

 2020年5月16日閲覧

研究発表の練習相手の製作

研究発表をするときに聞き手の様子を見て聞き手に合わせた話し方ができるようになりたいので、練習方法を考えました。

なんで研究発表が苦手なんだっけ?

私は研究発表がとても苦手です。ですが、聞き手の様子を見て聞き手に合わせた話し方ができるようになりたいと思っています。目標だけは高いんです。だから研究発表の練習について考えているわけです。

苦手を克服するために、まずは研究発表が苦手な原因を明らかにする必要があります。そしてそれぞれの原因に対して解決策を考えます。ちょっと考えてみたら次のような原因と解決策が思い浮かびました。

1つ。成果がないので発表することがない。

成果がまだなくてもうまくいく見通しとその根拠を示せれば良いらしいです。(それすらなかったらどうすればいいんでしょうか)

1つ。研究発表の練習をほとんどしたことがない。

研究発表の練習を始めても、練習自体がしんどいのですぐに止めてしまうんですよね。とか言い訳してないで練習しろ。

1つ。研究発表のやり方を知らない。

知らないことはできなくて当然なので調べます。

1つ。スライド作りが下手すぎて発表しにくい。

スライドの作り方について調べます。聞き手にとってだけではなく、私自身にとっても分かりやすいスライドを作るように心がけます。

1つ。研究発表の練習をしたあとにスライドを改良してない。

声に出して研究発表の練習をすると、スライドを作っているときには気づかないようなことにも気づけます。研究発表の練習をして気づいた点を踏まえてスライドを作り直し、また研究発表の練習をすることを繰り返します。スライド作りと研究発表の練習は同時並行で行うと良さそうです。

1つ。研究内容に関する理解が甘い。

研究発表以前の問題なので研究を頑張ります。

1つ。慣れてない硬すぎる言葉遣いで話してしまうためよく噛んでしまう。

無意識のうちにやってしまっているようなのですが、緊張のせいか慣れない言葉遣いをしてしまうようです。もっと簡単な言葉遣いで話すように意識します。

1つ。研究発表の話し方に慣れてない。

普段のおしゃべりでは話が行ったり来たりしますし、全てを話さなくても聞き手が察してくれたりします。噛んでしまっても特に問題は起こりません。ところが研究発表では初めから終わりまで流れるように話す必要があります。ぶっつけ本番でアドリブで研究発表しようとすると、流れるような話し方に慣れてないのでうまくいきません。流れるような話し方に慣れるためには練習が必要です。

1つ。話している間は言葉とスライドに集中していて聞き手の様子に注意を払う余裕がない。

自分の研究発表で頭が一杯になってしまい、聞き手を置き去りにしてしまいます。聞き手の様子に注意を払う余裕が持てるくらいに研究発表に慣れておく必要があります。練習あるのみです。

 1つ。聞き手の顔や目を見て話すのが苦手である。

少しづつ慣れていくしかないでしょうね。

目標を分析

ここでいったん最初に掲げた目標である「研究発表をするときに聞き手の様子を見て聞き手に合わせた話し方ができるようになりたい」を3つに分解してみます。

  1. 研究についてスライドを使いながら声に出して説明できる。
  2. 聞き手の様子が分かる。
  3. 聞き手に合わせた話し方ができる。

1つ目に関してはとにかくたくさん練習して慣れるのが一番早くて確実でしょう。

2つ目はとても苦手なのでなんとかしなければなりません。聞き手の顔や目を見て話すことが苦手な私にとってはとても難しいです。

3つ目は1つ目と2つ目ができるようになればすんなりできるようになると思うので気にしないことにします。

練習相手を作ってみた

ここからは私にとって重要な「聞き手の様子が分かる」ようになるための練習方法について説明します。1人で発表練習しても聞き手の様子が分かるようにはなりません。でも練習のたびに誰かを呼ぶのは面倒です。そこで人間ではない練習相手を作ることにしました。今回作った練習相手はコイツです。

すみっコぐらしのあいつ

すみっコぐらしのあいつ


パソコンの前に練習相手を描いた紙をぶら下げています。顔と目が付いており、描きやすいのでコイツを描きました。ぬいぐるみのほうが立体感があって良かったのですが、あいにく手元になかったので絵を代わりに使います。

コイツには顔も目もついているので、聞き手の顔と目を見て話す練習になるでしょう。

研究内容について何も分かってなさそうなコイツに分かってもらえるように練習すれば、分かりやすい研究発表ができるようになるかもしれません。

評価はこれから

練習相手がいる状態で研究発表の練習をしたら上達するのかはまだ確かめてません。これから自分で試してみます。2年後の修論発表までにうまくなれるといいな。

最適な練習相手とは

今回作製した練習相手が最適な練習相手だとは私は考えていません。なぜなら、練習では本番より負荷をかけたほうがよいと思うからです。厳しい環境で行う研究発表の練習はスポーツにおける高地トレーニングと同じです。本番が楽に感じられるようになるでしょう。私が考える厳しい環境での練習とは、動く美少女キャラクターの前で練習することです。画面の中でキャラクターを動かす技術はすでに存在するので、画力とやる気と時間さえあれば実現可能です。動く美少女キャラクターは人型ですし目線が動きますので、今回作製した練習相手より本番の聞き手に近いです。それに動く美少女キャラクターの目の前で練習したら緊張すると思います。緊張にさらされながら練習すれば力がつくと思います。

残念ながら私には美少女キャラクターを描く画力がありません。ゆえにこの案は没です。

まとめ

研究発表での目標を掲げました。

研究発表が苦手な原因をいくつか考えました。

研究発表の練習で使う練習相手を作製しました。

練習相手がいればあればうまくいくのかはこれから確認します。

赤外線リモコン受信モジュールがヘルメットに見える

赤外線リモコン受信モジュールを見たとき、私は潜水服や宇宙服のヘルメットを連想しました。そのため赤外線リモコン受信モジュールに頭以外を取り付けて人型にしてみました。ついでに赤外線リモコン受信モジュールの動作確認をしました。

使用するもの

1.今回はこの赤外線リモコン受信モジュール(OSRB38C9AA)を使います。

akizukidenshi.com

2.この赤外線リモコン受信モジュールに入力する信号は秋月電子通商で売っている赤外線リモコン(オプトサプライ赤外線リモコン)により生成します。

akizukidenshi.com

3.頭以外はポリウレタン銅線を使って作ります。手元にあったのでこのポリウレタン銅線を使いましたが、線が太くて曲げにくく、作業がしにくかったです。そのためこれより細いポリウレタン銅線を使うべきです。

akizukidenshi.com

4.その他マイコンやブレッドボードなど必要なもの。

作業手順

まず、図1のように赤外線リモコン受信モジュールを用意します。図1において上側の部分が受光部です。今回はこの部分が頭部になります。下側の三本足は左から順に出力端子、GND、電源です。

赤外線リモコン受信モジュールをじっと見つめていると、潜水服や宇宙服のヘルメットに棒が3本突き刺さっている様子に見えてきます。未来の生き物のようにも見えてきます。

図1. 赤外線リモコン受信モジュール

図1. 赤外線リモコン受信モジュール

次に赤外線リモコン受信モジュールにポリウレタン銅線を巻きつけて頭以外を作ります。ポリウレタン銅線はぴかぴかしていてきれいですし、絶縁されているので赤外線リモコン受信モジュールに直接巻き付けてもショートしません。赤外線リモコン受信モジュールはただの飾りではなく、本来の用途である赤外線リモコン受信モジュールとして使用したいので、3本の端子が巻き付けたポリウレタン銅線から突き出した状態にしなければなりません。

図2に頭部と頭以外を前から見た様子を、図3に頭部と頭以外を後ろから見た様子を示します。

図2. 現場猫ポーズ 前側

図2. 現場猫ポーズ 前側

図3. 現場猫ポーズ 後ろ側

図3. 現場猫ポーズ 後ろ側

次に巻き付けたポリウレタン銅線から突き出している3本の端子をブレッドボードに突き刺します。そして同じブレッドボードにマイコンや電源などに必要な回路を構成します。図4に配線後のブレッドボードの様子を示します。

赤外線リモコン受信モジュールや赤外線リモコンの商品名を検索すると、先人たちが使い方を分かりやすく説明してくれているブログがいくつか見つかります。必要な回路に関する詳細はそれらのブログを参考にしましょう。秋月電子通商のホームページからダウンロードできるデータシートも参考になります。私も先人たちのブログやデータシートにお世話になりました。

図4. そいつはブレッドボードの角に座っている

図4. そいつはブレッドボードの角に座っている

次にマイコン用のプログラムを作成します。私が今回作成したプログラムの概要を簡単に説明します。言葉だけで説明しても分かりにくいでしょうから読み飛ばしてください。

赤外線リモコンのボタンを押したら出力される赤外線の信号が赤外線リモコン受信モジュールに入力されます。すると赤外線リモコン受信モジュールから電気信号が出力され、その電気信号がマイコンに入力されます。マイコンは外部割込みにより関数を呼び出し、その関数内で電気信号1つ分すなわち赤外線リモコンのボタンを1回押したら出力される赤外線の信号に相当する電気信号を読み取り、関数を抜けます。ここで、外部割込みにより呼び出される関数を受信関数と呼ぶことにします。電気信号1つ分は複数のパルス波で構成されており、受信関数内でそれらの時間的な長さを計ります。その際にある工夫をしています。その工夫とはタイマ割り込みと符号なし32bit整数のglobal変数のインクリメントです。タイマ割り込みで0.1msごとに関数を呼び出し、その関数の中で符号なし32bit整数のglobal変数をインクリメントします。するとそのglobal変数は10kHzで+1されていきます。その程度の速さでインクリメントしているだけでは符号なし32bit整数はなかなかオーバーフローしません。今回はその符号なし32bit整数のglobal変数を0.1ms刻みの時計として使います。ここでタイマ割り込みにより呼び出される関数を時計関数と呼ぶことにします。最後に、電気信号1つ分をマイコンが認識したら、赤外線リモコンのどのボタンが押されたのか判別し、シリアル通信でパソコンに送信します。パソコンではターミナルにどのボタンが押されたかを表示します。受信関数と時計関数の割り込み優先度は時計関数を1番目、受信関数を2番目に設定します。

このプログラムを書くのはとても大変でした。しかし、外部割込みなどの洒落たことをしなければ先人たちの知恵を借りるだけで済みます。そもそも外部割込みをしようがしまいが結果は変わらない気がするのでやらなくてよかったかもしれません。

プログラムを書く段階でも先人たちのブログに大変お世話になりました。

結果

最後に、必要なプログラムをマイコンに書き込んで実行します。図5にターミナルにどのボタンが押されたかを表示している様子を示します。このときはAボタン、Bボタン、上矢印ボタン、白ボタン、右矢印ボタン、下矢印ボタン、左矢印ボタンの順に赤外線リモコンのボタンを押しました。うまくマイコンで識別できています。

図5. ターミナルに結果を表示

図5. ターミナルに結果を表示

まとめ

  • 面白い見た目の電子部品がある。
  • 赤外線リモコン受信モジュールの動作確認ができた。
  • 外部割込みプログラムが書けた。

おまけ

ちなみに、Twitterで誰かがツイートしてましたがLEDはくらげに見えます。もちろん足が2本しかないLEDはくらげには見えにくいです。しかし足が多いとくらげに見えやすくなります。例えば足が4本あるRGBフルカラーLEDはどうでしょうか。

akizukidenshi.com

 

真人間化手法の調査

はじめに

本ブログでは「真人間」を「相手のために状況に応じて振舞いを変化させることができ、人間関係においてつり合いが取れている人物」と定義する。

人間は社会的な生き物であり、他人と関わらなければ生きていけない生き物である。この事実を踏まえて人間社会に適合した人物、それが真人間であると筆者は考えている。

本ブログでは筆者が周囲を観察して見つけた真人間の特徴を列挙する。これらの特徴を満たすよう努めれば真人間になれるはずである。

気遣い

飲み会での作法

真人間はその場に適した作法を察知して実行する。作法とは行って当然なものなので、もしやらなかったら相手に不愉快な思いをさせる。当たり前なことを当たり前にできる人が真人間であると言える。その作法に従うだけの価値があるか考えるのは真人間の仕事ではない。

  • 誰をどの席に配置するかをよく考える
  • 他人のコップが空になっているかどうかを監視する
  • 他人のコップが空になっていたら飲み物を追加注文するか聞く
  • 席に着いたらまずは全員分のコップに水を入れる
  • 箸と取り皿を全員に配る
  • 最後に残った食べ物のひとかけらには手を付けない
  • 食べ過ぎない(特に奢られるとき)
  • 飲み過ぎない(ただし状況による)
  • 左利きの人は左側の席に座らせる
  • 大皿の料理が来たら全員に配る
  • 空いた皿を回収して机の端にまとめて置く
  • 奢られた際の感謝の返事(「ありがとうございます。これからも仕事をがんばります。」これが無難な返事か。)
  • 偉い人の前で本人を貶めない
  • 後輩には食べ物を食べるよう勧める
  • 後輩が居づらさを感じないように気遣う
  • 企業によっては飲むべきビールの会社が決まっているため、店を予約するとき気を付ける
  • 会が終わったら全員の席を見て忘れ物がないか確認する
  • 会話が途切れないように気を配る

常識

概要

例え常識が他人とずれていたとしても真人間になる方法はある。以下の2点を満たす行動をすればよい。

  • 相手に合わせる
  • 相手に不愉快な思いをさせない

誤字の指摘

文字を間違えて覚えている人がいたらこっそり指摘してあげるべきだと筆者は考えている。もし指摘しなかったらその人が文字を間違い続け、恥をかき続けるからである。しかし、真人間は誤字を指摘しないで放置する。指摘した瞬間に相手に恥をかかせて不愉快にさせることを避けるためである。

同様に、誰かの鼻の穴から鼻毛がはみ出していても真人間は指摘しない。その人が鼻毛をはみ出させ続けて恥をかき続けることよりも、鼻毛を指摘した瞬間に相手に恥をかかせ不愉快にさせることのほうが罪深いとみなす。

SNSにおける人間関係は実際の人間関係の延長

グループLINEでの発言も気を付けなければならない。LINEの手軽さのために忘れがちであるが、LINE上での人間関係は実際の人間関係の延長上にある。グループLINEでの発言は全員の前で壇上に上がりマイクで話すことに相当する。グループLINEで何か発言すると既読スルーが多発するが、考えてみれば当たり前なのである。全員の前で壇上に上がって何か話しても、大抵の場合は聴衆から反応が返ってこない。

ごまかし

嘘つきは泥棒の始まりということわざがあることからも、嘘はよくないことであると分かる。しかし、もしも誰もが常に本当のことしか言わなかったら人間関係がぎくしゃくしてしまう。嘘も方便とはよく言ったものだ。嘘には人間関係を円滑にする効果がある。

意図的な情報隠蔽

嘘はつかないが本当のことも言わない。真人間はこの手法を用いる。真人間は本当のことを言っても人間関係がよくならないと知っているのである。馬鹿正直に本当のことを話すのはただの馬鹿である。

意図的な情報操作

真人間は何事も肯定的に表現する。なぜなら否定的に表現されても聞く側は困るからである。聞く側が困らないように真人間は肯定的表現を用いる。

場所によって発言内容を変える

場所によって求められる発言は異なるため、真人間は発言内容を使い分ける。もし全く同じ発言を別の場所ですると人間関係に亀裂が入る可能性がある。真人間は臨機応変に発言内容を変える。

発言内容を場所によって変える態度は不誠実であるが、人間関係を悪くするよりも自分が不誠実になるほうがましであると真人間は知っている。

演技

涙なんか出ないような場面であっても、泣きまねをすれば雰囲気がよくなる場面が確かに存在する。また、誰かから何かをもらったら嬉しそうにしなければならない。

適切な演技によってその場の雰囲気がよくなるため、真人間は演技する。

人助け

人間は例外なく互いに支え合って生きているため、ひとりだけ人助けをしないととんでもないことになる。真人間は基本的に人助けをする。

会話

真人間は会話内容よりも会話自体を重視する。話相手と言葉をやりとりして楽しむ。

やりすぎは禁物

真人間は人間関係においてつり合いが取れているので、上記した手法の数々をやりすぎない。何事にも限度があることをわきまえているのである。

非真人間の特徴

ここまで真人間の特徴について述べてきた。この章では逆に非真人間の特徴を述べる。

  • 場違いなウケ狙い
  • 価値観の押し付け
  • 常識のずれと欠落
  • 他人の話を聞かないこと
  • 他人に合わせないこと
  • 気遣いをしないこと
  • 精神攻撃
  • 日常会話をしないこと
  • 優先順位を考えてないこと
  • 空気を読まないこと
  • ノリが悪いこと
  • 時と場所と場合をわきまえてないこと
  • 自分のことしか考えてないこと
  • 自虐は誠実の証だと思い込んでいること
  • 知らない人にいきなり馴れ馴れしく話しかけること
  • 知人に突然議論を吹っ掛けて喜ぶこと
  • 他人の自虐ネタに対して苦笑いではなく爆笑で応じること

感想

たとえ中身が真人間でなくても上っ面だけは真人間に成り得る。ばれさえしなければ平和を保てる。筆者はそこを目指している。

他にも色々真人間の特徴はありそうなので今後も調査を続ける予定である。

山手線一周体験記

知り合いの何人かが山手線を歩いて一周していたので自分でもやってみた。そのときは山手線を歩いて外回りで一周した。その後、体験記をスライド形式で作って見せてほしいという要望があった。しかし写真を撮ってなかったため、再び山手線一周を試みて写真を撮影した。2回目は徒歩ではなく自転車で行い、山手線を内回りした。2回目が終わった後に作った体験記の内容をこのブログで公開する。

以下の画像は体験記の各ページをそれぞれ画像として出力したものである。山手線の一駅あたり1ページを使ってスライドを作成した。2回目に山手線一周を試みたときに通過した駅の順番と同じ順に駅を並べてある。つまり山手線内回り順である。

ちなみに筆者は2018年に山手線を一周した。そしてスライドを2018年に作成した。それぞれの画像内には2018年における筆者の意見を記してある。ただ、このブログは2020年に書いているので、それぞれの画像下には2020年1月現在に筆者が考えた意見を記した。

表紙

表紙

自己紹介

自己紹介

山手線徒歩一周

山手線徒歩一周

このときは山手線外回りで線沿いを歩いた。

山手線自転車一周

山手線自転車一周

このときは山手線内回りを線路沿いに自転車を漕いだ。

高田馬場駅

高田馬場駅

高田馬場駅を出発して山手線を自転車で内回りした。写真はそのときに撮影したものである。高田馬場といえば学生ローンの看板、BIG BOX、飲み屋、鉄腕アトムである。かの悪名高きワロタ大学の最寄駅の1つがここであることでも知られている。学生街とよく言われているが、実際には学生の割合は小さい気がする。ただの先入観かもしれないが、この街には飲んだくれが多い印象を受ける。筆者自身は安くてたくさん食べられる飲食店を求めてこの街を徘徊している。

新大久保駅

新大久保駅

理工キャンパスとは、ある大学のキャンパスである。それはさておき、新大久保駅周辺には人が多い。信じられないくらい多い。勘弁してほしい。

ちなみに、筆者には高田さんと馬場さんと大久保さんという名前の知り合いがいる。

新宿駅

新宿駅

とても大きな街である。色々と遊べる。筆者は都庁の展望台に上ったり、紅葉の季節に新宿御苑に行ったり、映画を観たり、バイトをしたり、他大に出張して会議をしたり、東急ハンズでアクリル板を買ったり、手芸屋でコンピュータミシン用のミシン糸を買ったりした。

代々木駅

代々木駅

高い建物は道しるべになる。山手線一周を試みる者にとっては大体の現在地と進むべき方向を知るために役立つ。

原宿駅

原宿駅

竹下通りにずけずけと入り込む度胸を筆者は持っていなかった。誰か筆者を竹下通りに連れて行って案内していただけないだろうか。

すぐ近くに明治神宮があるせいか、照明が少なく夜は暗い。

渋谷駅

渋谷駅

渋谷は文字通り谷である。渋谷に近づくと急激な下り坂が出現する。渋谷に着いたら〇〇〇〇教っぽい文句が書かれた看板が掲げられていたので撮影してみた。

山手線一周とは関係ないが、ハロウィンの時期の渋谷は新大久保以上に混雑する。完全にこのブログの内容と逸脱するが、筆者が所属している研究室のOBは昔、仮装して渋谷でハロウィンを楽しんでいたそうだ。勘弁してくれ。筆者は真の陰キャなのでそこらへんのことがよく分からないのである。

恵比寿駅

恵比寿駅

恵比寿駅はおしゃれ過ぎてびびった。

渋谷に掲げられた〇〇〇〇教っぽい文句が書かれた看板の写真と恵比寿に設置されたクリスマスツリーの写真によって筆者が2018年12月の何日に山手線自転車一周を敢行したか察しが付くであろう。体も心も寒かったよ(は?)。

目黒駅

目黒駅

目黒といえばやっぱり目黒のさんまだろう。

五反田駅

五反田駅

筆者は今まで五反田駅とは縁がなかった。調査不足である。

大崎駅

大崎駅

山手線最南端の駅である。山手線を一周しようとしている者がこの駅に着くとちょっとだけ達成感を感じられる。

品川駅

品川駅

山手線に沿って移動していると、品川駅周辺で急に高い建物が密集し始めることに気づく。夜に品川駅前を通ると摩天楼感がある(?)。

高輪ゲートウェイ駅

高輪ゲートウェイ

山手線を自転車で一周していた当時は建設中であった。ちなみに一番上に示した画像にある電車の写真はここら辺で撮影した写真である。

謝罪

謝罪

そう。自転車をこぐのに疲れちゃったのである。だってクリスマスだし。はやく家に帰りたかったのである。山手線の内側を横断して高田馬場に戻る途中で通った六本木や麻布は豪華な感じだった。

残念ながらこの日は山手線自転車一周を断念した。しかし幸いなことに筆者は2018年9月16日に徒歩で山手線一周に成功しているのである。以降はそのときの記憶を頼りに発表を続ける。写真は撮ってないのでなしである。

田町駅

田町駅

2018年の筆者は手抜きスライドを作っても開き直っているようだ。2020年1月現在の筆者としては、当時の自分にはもうちょっと頑張ってほしかった。

浜松町駅

浜松町駅

海が近い。

新橋駅

新橋駅

なんと高田馬場駅より飲んだくれが多かった。

日本の鉄道発祥の地であるためSL広場なる場所がある。

有楽町駅

有楽町駅

歩いて山手線を一周していたとき、だいぶ疲れていたのであまりよく覚えてない。

東京駅

東京駅

丸の内口から見た東京駅には重厚感があり、線路を挟んで反対側の八重洲口から見た東京駅は近代的である。品川駅から東京駅にかけて高い建物が多い。

神田駅

神田駅

品川駅から東京駅までの雰囲気とは異なる雰囲気を持つ。1駅分歩いて移動するだけで異なる雰囲気を楽しめる。

秋葉原駅

秋葉原駅

秋葉原の客引きはコスプレしているので遠くから見ると楽しい。しかし客引きに近づきすぎたり客引きと目が合ったりすると客引きされるので恐ろしい。そもそもコスプレ客引きに限らず客引きは怖えよ。

学校が長期休暇に入る時期になると客引きの人数が増える気がするが、本当に増えるかどうかは知らない。

山手線を一周していると、秋葉原が意外と小さな街であると気づく。狭い範囲にありとあらゆるものが密集している。

秋葉原で買い物をするにはちょっとした事前知識が必要である。例えば、ある電子部品を買いたいとき秋月に行くべきなのか千石に行くべきなのかといった知識である。意外と厄介なのだ。

御徒町駅

御徒町駅

筆者が小さい頃、御徒町のことをお菓子の町なのだと思っていた。この駅にまつわる話はそれだけである。

上野駅

上野駅

ここで持論を展開させていただく。巷では上野の不忍池がデートスポットと呼ばれており、彼氏がせっせとボートを漕いで彼女に格好良いところを見せる場所であるらしい。

筆者はこの唾棄すべき迷信に異議を申し立てる。読者の諸君には恋愛で曇った目をこすり冷静になってよく考えてみてほしい。すぐに気づくはずである。彼女にもボートを漕がせろよ、と。せっかくボートを漕げる場所に来ているのだから、彼氏だけがボートを漕いでいるのを眺めるだけでなく、彼女自身もボートを漕いだほうが絶対に楽しいに決まっている。これはのぼせ上った彼氏が悪いけれど、彼氏を放任している彼女の責任でもある。己の愚かさを恥じよ。

鶯谷駅

鶯谷

ラブホテルには客引きがいないと知った2018年9月16日の夜。客引きがいなくても客が来るからであろう。

日暮里駅

日暮里駅

なんだか大きめな駅であった。

西日暮里駅

西日暮里駅

日暮里駅と西日暮里駅は非常に近い。

田端駅

田端駅

高低差が激しかった覚えがある。

ちなみに、筆者には田端さんという名前の知り合いがいる。

駒込駅

駒込駅

手抜きがひどくなってきていてワロタ。

巣鴨駅

巣鴨

手抜き確信犯。

大塚駅

大塚駅

路面電車が見れる。

池袋駅

池袋駅

筆者は青春時代を池袋にある予備校の自習室の個別ブースの中で過ごした。

目白駅

目白駅

出発地点である高田馬場駅の隣駅であるにも関わらず、この駅のことはあまりよく知らない。

以上で山手線全駅を巡ったことになる。お疲れさまでした。

お気に入りの景色

お気に入りの景色

山手線沿線で筆者が一番気に入っている景色を紹介する。池袋大橋から見える景色である。橋の下には線路が何本も入り組んでおり、なんだか文明を感じる。すぐ近くは人でごった返しているのにここは人が少ないので不思議な感じがする。高い建物が密集している中で、線路のおかげで遠くまで見通すことができ、新宿の高層ビル群が見える。背後にはタワーが高くそびえ立っている。(このタワーはごみ処理場の煙突)

一周目

一周目

1周目は歩いて山手線を一周した。

一周目

一周目

現実は甘くない。

一周目

一周目

漫喫があっただけでありがたいと思わねば。

一周目の感想

一周目の感想

名誉の傷

二周目の感想

二周目の感想

徒歩よりはるかに楽かと思いきや、自転車でもかなりしんどかった。

まとめ

まとめ

いばれる。これが一番重要かもしれない。

最後に、筆者が歩いて山手線を一周しながら筆者がつぶやいたツイートを見てみよう。

(中略)

このときは筆者のアカウントが突然駅名ばかり頻繁につぶやき出したから、他の人たちは筆者のアカウントがbotに乗っ取られたかと心配したらしい。もちろん筆者が駅に到着するたびに自分でツイートしたものだ。

実際に山手線を一周したときはとても時間がかかってとても疲れたが、このブログを書くためにもたくさんの時間と労力を費やしたので疲れた。

おしまい。