2025年4月29日火曜日

2025年4月報

1.4月授業まとめ
2.4月の課題
3.3月の解答
4.5月の授業予告
5.今後の授業スケジュール
6.お知らせ


1. 4月授業まとめ


1.0 <スタートアップ(全コース)>


 割愛します。


1.1 <プレプライマリーコース『キックボーダー』>


 割愛します。

1.2 <プライマリーコース『がたごとレスキューたい』>


 割愛します。

1.3 <ベーシックコース『ケンドーロボ』>


 文字通り、剣道のように竹刀(しない)を振るロボットです。
剣道には、ここぞという時に、前進と「面!」の2つの俊敏(しゅんびん)な動きが必要です。

 1日目では、モーターで左右両輪を駆動(くどう)し、前進・後退(こうたい)できるようにしましたが、竹刀は手動で前後に振り動かせるだけです。
竹刀を自動的に振るには動力源動作タイミングを与えなくてはなりません。
2日目に解決します。

 動力源として、モーターを前進に利用してしまっているため、輪ゴム(の弾性力=だんせいりょく)を利用します。
前面に引っかけた輪ゴムが、竹刀を後方へ振り構(かま)えるにつれ引っぱられます。

動作タイミングとしては、背後(はいご)に振り構えた竹刀を振り下ろさないよう固定するロックが、相手にぶつかった衝撃(しょうげき)を検知して外れるようロック部品と一体化してスライドするバンパーを前部に取り付けました。

衝突して押しこまれるバンパーを利用する点が、2024年11月のプライマリー『うおうさおう』と似ています。

 このロックがうまく外れるための工夫が設計されています。それは“スピード”です。
スピードがあればこそ、ぶつかった衝撃が大きくなり、ちゃんと検知できるのです。

だから、今回のロボットはちょろちょろと速く走り、捕(つか)まえるのが大変ではありませんでしたか?
設計上の違いは、モーター軸(じく)に取り付けるのがいつものピニオンギアではなく、もっと大きなギアMでしたね。
こうして(ギアMがギアMを回して)モーターの回転数を落とさずにタイヤに伝え、速く走らせていたのです(*1)。

 最後の競技は「一本!」勝負。早く竹刀を振り下ろし、相手に当てた方が勝ちです。
バンパーを長くして早めに相手を検知し、それ以上に竹刀を長くしてリーチを伸(の)ばすことも一つの指針ですが(*2)、あまり欲ばると重くなって、動作にキレがなくなりましたね。

案外、ノーマル仕様の小柄(こがら)なボディの方が、体格のいい先輩たちを打ち負かします。

 なお、ケンドーロボ同士を対面させて、いざ取り組もうと発進させても、まっすぐ進まずに相手を打てないと悩むことがありました。

左右のタイヤは同一シャフトで直結しており、必ず等しく回転するので(*3)、一旦走り出した後はほぼ直進するのですが、最初の急加速する瞬間は、大きな力(タイヤのグリップ力)が地面にかかり、摩擦(まさつ)や重心バランスの関係で、どちらかのタイヤが多めにスリップしてしまうことが原因です(*4)。

底にパーツを付けて、摩擦スリップバランスを取ることで直進したり、あえてバランスを崩(くず)すことで曲がったりするようにも調整できましたね。

剣道家には見えなくなりますが、直進させるのに最も確実なのは、3輪や4輪車にするアイデアでした。


*1 同じ大きさのギア同士は、回転速度が同じに保たれます。このことを「減速しない」と言います。

*2 自分と相手のバンパーが当たるようだと、相手からも早く検知されるので、相手と高さを変えない限り、あまり有利とは言えません。

*3 モーター直結のギアが右タイヤを先に回していることが曲がる原因と分析する人がたまにいて、安易(あんい)な考えの下であるものの、瞬間的な加速時にはシャフトが僅(わず)かに捻(ねじ)れるはずであり、その影響もあり得そうです。

*4 タイヤLを裏返して嵌(は)め、さらに中央の溝に輪ゴムを巻くと、グリップ力が上がってスリップしにくくなります。


1.4 <ミドルコース『ロボキャッチ』>


 第9回アイデアコンテスト全国大会(2019年)MVP賞作品(当時小3)がベースのクレーンゲーム型ロボットです。
UFOキャッチャーを彷彿(ほうふつ)とさせる見た目からもワクワクするテーマですね。
ミドルコースの傑作(けっさく)選に加えましょう。

 しかし、このゲームには、ハンドを閉じて景品をキャッチし、引きずらないように持ち上げ、目標位置まで水平移動する3つの動作が必要です。

その後、景品を下ろし、ハンドを開いて放し、次の景品に向かって戻る動作も必要です。

これをミドルコースで、モーター1個で、掴(つか)んだり、持ち上げたり、移動したり、どうやって実現できたのでしょうか?

 これには、2024年9月の『ロボアーム』と同じ動作原理が使われています。

一言で言えば「差動装置」であり、特にギアを使った装置をディファレンシャル・ギア(differential gear=差動歯車)と呼びます。
ディファレンシャル・ギアとして最も有名なのが自動車の駆動軸に用いられるもので、通称「デフ」と呼ばれます(*1)。

これは、左右両輪の駆動軸(一般車は前輪、高級車・スポーツカーは後輪、一部は前後輪とも)の中央付近に設けられ、
カーブを曲がる時などに左右の回転数の差を許容しながらも、1つしかないエンジン/モーターの回転を絶えず分配するために使われています。

 『ロボキャッチ』では正に、このデフを模した機構を腐心(ふしん)して作り上げており、先生たちをも感嘆させました。

テキストp.7で、マイタギア4枚を対向させて組み上げたギアボックス“自体”を、裏返したタイヤLゴムで包んで回せるようにしています。

このような構造にすると、左右2本の出力軸(シャフト4ポチ)が無負荷(空回り)または等しい負荷(自動車の直進)の時には、中心のギアボックスと一体的に回るだけで、単に1本のシャフトで左右の回転軸を直結した(デフロック)状態と変わりませんが、
ひとたび負荷に差が生じる(片側の回転が重い/カーブを曲がる)と、左右の回転数が異なってきます。

このとき、回転数の比〔左軸:デフ:右軸〕は、デフロック状態を 100:100:100 とすると、
50:100:150 になったり、0:100:200 になったり、-100:50:200 になったりと、〔左軸 + 右軸 = デフ×2〕の関係になります。

つまり、エンジン/モーターでデフを定速回転させている時、左軸が +20 だけ変化すれば、右軸が -20 だけ変化し、その結果が逆回転になってもお構いなしです。
「差動装置」と呼ばれる所以(ゆえん)です。

なぜそうなるかは、デフをゆっくり手で回して観察すれば分かるでしょう。

 パーツによっては、マイタギア4枚で組むと回転が固くなる場合がありますので、
写真のように3枚でコの字に組み、シャフトペグ2本を対向させる代わりにシャフト4ポチを通すとスムーズになります。

パーツ形状の限界から、デフへの入力として自動車同様のシャフトドライブは採用できなかったため、輪ゴムによるベルトドライブを編み出しています。
(写真は輪ゴム1本ですが、3本かけると切れにくく、また滑りにくくなります

タイヤLとSのゴムを裏返してできる溝に輪ゴムを掛けて伝達するあたり、小型車のトランスミッション(CVT=無段変速機)に多く採用されている金属ベルトドライブに似ており、これも自動車っぽいマニアックな機構です。

 では、なぜ、『ロボキャッチ』に差動装置が必要だったのでしょうか?

それは、モーターが回転し続けたままアーム/ハンド操作水平移動動力を振り分けるためです。
モーターにとっては「回せるならどっちが回っても構わない」リンク構造になっています。

力学的には、中心のマイタギアを介した「作用・反作用の法則」により、どちらにも同じ回転力(トルク)で出力されますが、その結果として、“楽に”回せる方が(多く)回ります(*2)。

 アームの上げ下げハンドの開閉もまた、マイタギア同士による差動装置になっています。
つまり、マイタギア同士が噛み合って回転を伝える(ハンドを開閉する)のか、
または、もう互いに回せなくなったマイタギア同士が一体となって一緒くたに回転する(アームを上げ下げする)のか、
楽な方の動きが選択されます。

かくして、スイッチを入れると、
1) ハンドが物を掴(つか)む
2) アームを少し持ち上げる
3) アーム全体が移動する
の順に作動します。

所望の位置で止め、今度はスイッチを反転させると、先程の逆順ではなく
4) 先ずはアームを垂(た)らし
5) ハンドを開いて荷物を離し
6) アーム全体を逆方向へ移動する
という一連のクレーン操作を滞(とどこお)りなくこなすのです。

スイッチを入れている間、モーターはずっと一方向に回り続けているだけです。
動作が切り替わるのは、動ける限界の位置に達した(ハンドを閉じ終わる)時や、動きが重くなった(アームを持ち上げて重力がきつい)時です。

マイコンも使わず、機械だけでこんなことができるのですね。

 プログラミングにより、スタートして強制的に移動するクレーンを声に反応させて停止した後、モーターを逆転することで景品を掴み、戻って来させるUFOキャッチャーさながらのゲーム性もナイスです。


*1 ウィキペディア「差動装置」
 https://ja.wikipedia.org/wiki/%E5%B7%AE%E5%8B%95%E8%A3%85%E7%BD%AE

*2 自動車のデフも同じで、これが裏目に出る場合があります。
 その典型が雪道や泥沼での“スタック”で、一方のタイヤが滑りやすい路面で空転し始めると、(その方が楽なので)反対側のタイヤに駆動力が伝わらなくなり、その場から抜け出せなくなります。
 この欠点を回避するため、「デフロック」や「リミテッド・スリップ・デフ=LSD」と呼ばれる追加機構が装備された車両もあります。


1.5 <アドバンスコース『ブランカー①』>


 ブランコ遊びを模(も)した新作ロボットで、4月は立ち漕ぎ、5月は座り漕ぎバージョンを作ります。

 昔はブランコでよく遊びましたね?
どうやってブランコを漕いだか、言葉にできますか?

乗ればできると思いますが、感覚的に覚えているだけで、体の動かし方を意識したことは無いかもしれません。

実は、立ち漕ぎなら、最下点付近で立ち上がり、折り返す両端付近でしゃがむと効果的に加勢できるのですが、皆さんも近いことを無意識にやっているのです。

座り漕ぎになると、やるのも少し難しいですが、メカニズムの説明はもっと難しいです。


実際、ブランコに隠された科学は奥深く、近年になっても、ブランコを上手に漕ぐコツを解明した論文が発表されたほどです(*1)。

 体(物体)が運動(加減速)するためには、他の物体に力を及ぼし、そこからの反力【作用・反作用の法則】を得る必要があります。

 ・歩行  = 地面を後ろに蹴る   ⇒ 地面が足を押し返す
 ・水泳  = 水を後ろに掻く    ⇒ 水が手を押し返す
 ・自転車 = 地面を後方へ押す   ⇒ 地面がタイヤを押し返す
 ・飛行機 = 空気を後方へ押しやる ⇒ 空気がプロペラを押し返す

ところが、ブランコは地面から浮いていますし、ジェットエンジン(またはオナラ)で後方へ気体を噴出するわけでもありません。
一体どのような原理でブランコは加勢されるのでしょう?

これには振り子の性質や、【(角)運動量保存則】なる物理学が関わってきますが、
正確な理解よりも、振り子やブランコにまつわる科学をYouTube動画で感覚的に掴(つか)みましょう。


■振り子の等時性
【題名】エクスペリメンツ ~現代の技術を育んだ科学実験~ (12)正確に時を刻む時計の礎! ~ガリレオ・振り子の等時性~
【動画】https://www.youtube.com/watch?v=L0gCmxMy224
【内容】
 振り子の等時性を確かめる実験動画です。
 振り子の往復にかかる時間(周期)は、振り子の長さが同じならば、振り幅やおもりの重さには(殆ど)影響されず、同じであることが分かります。
 また、振り子の長さが長いと周期も長く、短いと周期も短くなることが分かります。

■ブランコ加速の原理
【題名】【ゆっくり解説】ブランコはどうして加速するのか
【動画】https://www.youtube.com/watch?v=rXFq1XoNmrs&t
【内容】
 ブランコが加勢される原理を科学的に解説しています。
 ポイントは、最下点で立ち上がり(重心を高く)、最上点でしゃがむ(重心を低くしておく)ことです。


*1 新潟医療福祉大学 研究力
 ブランコを上手に漕ぐコツを解明
 https://www.nuhw.ac.jp/research/2023/05/post-108.html
 ―――――――――――――――――――――――――――――――――――
 TBS NEWS DIG
 コツは上半身を後ろに倒すこと?15年かけ研究『ブランコの上手な“こぎ方”』とは 国際的な科学雑誌にも掲載
 https://newsdig.tbs.co.jp/articles/-/551089


1.6 <プロ1年目コース『オムニホイールロボット①』>


 春タームとして、オムニホイール(Omnidirectional Wheel;全方向車輪)ロボットを製作し、リモコン操縦するまでの1ヶ月目の授業です。

 1日目は製作です。
2層の円形ボードにモーター、オムニホイール、マイコンボード、無線モジュール、電池ボックスを組み付け、配線コネクタを差し込んでいきます。
殆どの作業がネジ留めですが、組み付ける順番の解決と、手先の器用さが要求されます。
日常において、あまり経験しない作業なので、悩みながらもパズルのようで楽しかったのではないでしょうか。

パソコンからサンプルプログラムを転送し、3つのホイールを指示通りの速さ・向きに回せることを確認して終了しました。

 2日目に、ゲームパッド(プレステ3用と同等!)と無線通信リンクを確立し、パソコンからラジコンプログラムを転送すると、アナログスティック(*1)を倒した分だけの速さで前後左右に移動することを確認しました。

また、調整用プログラムを転送してロボットの動きを観察し、個体差(重心やホイールの摩擦力の違い)による進行方向のズレを補正するための調整値(*2)を割り出しましたが、これは今回の学習テーマの本質ではありませんので、あまり気にしなくて良いです。

 どのスティックをどれだけ倒したか、どのボタンを押したかにより、ロボット(3つのモーター)をどの向き(電流の+-)にどれくらいの速さ(電圧)で動かすかは、全てあなた(プログラム)が決めることです。
マイコンは、得意な計算・判断だけを、あなたに代わってあなたが決めたルール通りに素早く実行し、各部品に必要な命令(数値による指示)を間違いなく出してくれる便利な道具と考えてください。

 オムニホイールの特徴は、黒い樽型ローラーの作用により、普通のタイヤとしての進行方向(回転方向)とは垂直の横方向(ホイールの回転軸方向)にズルズルっと滑ることです。
このホイールが120°間隔で3つ装着されることにより、自由自在に移動・旋回できそうなことは分かりましたが、これを力学的・数学的にどのように捉え、プログラム上の数値にどのように反映すべきかについては、次回で学びます。


*1 アナログ(連続量)はデジタル(離散量)の対義語ですが、アナログスティックは、倒した向き・強さを -128 ~ 127 など、マイコンが扱いやすい整数(とびとびの値=離散量)に変換しているため、厳密にはデジタル式なのですが、ON/OFF判定だけの○×△□ボタンと違って、最小値~最大値を十分細かく刻んで表しているため、人間には滑らかな連続量で制御しているように感じられます。

*2 プログラム上の調整値“0.9f”などは、数学でいう実数(連続量)に相当し、細かな小数で計算するための拡張された表現方法ですが、これもマイコン内部で扱う以上、厳密にはデジタル値(離散量)です。


1.7 <プロ2年目コース『不思議アイテムII①』>


 春の3ヶ月タームに入りました。外付けの電子回路をプログラミングで操ります。

 これまでも、マイコン(頭脳)の外側にある、モーターやLED表示器などの出力デバイス(手足)、タッチセンサーなどの入力デバイス(感覚)をプログラム制御してきました。

しかし、それらは、単体で所望の入出力デバイスとして機能する完結品で、ハードウェア的作業としては“つなぐだけ”でした。
ここで、もっと、自ら回路を設計し、動かすためのロボット実装スキルを学び始めましょう。

 1日目は、電子工作において最も基本的な部品である、LED抵抗を使っての点灯実験です。
回路の土台としては、実験やプロトタイピング(試作)に便利なブレッドボードを用います(*1)。

LED(Light Emitting Diode,発光ダイオード)も、点けるだけなら豆電球同様、マイコンは要りませんね。
しかし、小学校理科に登場しない、下記の知識が必要です。
LED電極には極性(+/-)がある
過大電流で切れやすいので、保護抵抗を入れる(*2)
保護抵抗値を大きくするほど電流が絞られ、暗くなる

マイコンなら、点滅を制御できますね。
8番ピンに繋いだLEDを1秒間だけ点灯するなら、下記のようなプログラムになります。

pinMode(8, OUTPUT);    //8番ピン出力モード設定
digitalWrite(8, HIGH); //8番ピンON
delay(1000);          //そのまま1000ms放置
digitalWrite(8, LOW);  //8番ピンOFF

たったこれだけで!
お、面白い…。マイコンには“手足”をたくさん繋げられます。
LED本数を増やして、流れるイルミネーションに挑戦です。

 しかし、LED本数に比例して、プログラム行数が増えていきます(*3)。
LED3本0.5秒毎に順次点灯・消灯させるだけで、下記になります。

pinMode(6, OUTPUT);    //6番ピン出力モード設定
pinMode(7, OUTPUT);    //7番ピン出力モード設定
pinMode(8, OUTPUT);    //8番ピン出力モード設定
digitalWrite(6, HIGH); //6番ピンON
delay(500);            //そのまま500ms放置
digitalWrite(7, HIGH); //7番ピンON
delay(500);            //そのまま500ms放置
digitalWrite(8, HIGH); //8番ピンON
delay(500);            //そのまま500ms放置
digitalWrite(6, LOW);  //6番ピンOFF
delay(500);            //そのまま500ms放置
digitalWrite(7, LOW);  //7番ピンOFF
delay(500);            //そのまま500ms放置
digitalWrite(8, LOW);  //8番ピンOFF

8~10本ともなると、とんでもない量になりました。
点灯パターンを作るのも変更するのも大変な労力です。
こんなやり方で、キャラクタが跳び回るゲームなぞ作れる訳がないですね。

for文を使って書き直します。

int n;  //整数型変数n宣言
for(n=6; n<=8; n++) {    //n=6, 7, 8
  pinMode(n, OUTPUT);    //n番ピン出力モード設定
  digitalWrite(n, HIGH); //n番ピンON
  delay(500);            //そのまま500ms放置
}
for(n=6; n<=8; n++) {    //n=6, 7, 8
  digitalWrite(n, LOW);  //n番ピンOFF
  delay(500);            //そのまま500ms放置
}


このプログラム行数は、LEDが3本でも10本でも変わりません。“繰返しパワー”ですね!

 さて、時間制御プログラムを走らせて眺めているだけでは飽きますので、もっとインタラクティブ(interactive,人間の操作が関わる)な電子回路にしましょう。
ゲーム機に近づきます。

タクトスイッチ(押しボタン)を押している間だけLED点灯させます。
“フツー”のスイッチですね。マイコン要らず、簡単です。
回路の実装も動作も予想の範囲内で、感動もありません。

 では、同じスイッチを使って、押すとLEDが消える回路を作れるでしょうか。
動作が逆なだけなのに、難しいですね。途端に電気回路の知識が必要になります(*4)。

しかし、「私がスイッチを押したら消して」と誰かに申し付ける方法もあります。
if文を使って、マイコンにやらせましょう。

pinMode(5, INPUT);      //5番ピン入力モード設定
pinMode(8, OUTPUT);      //8番ピン出力モード設定
if( digitalRead(5) == HIGH ) {  //もし5番ピンに入力(スイッチ押下)あれば
  digitalWrite(8, LOW);  //8番ピンOFF(LED消灯)
} else {  //さもなければ
  digitalWrite(8, HIGH); //8番ピンON(LED点灯)
}

これは凄いフリーダムです。自分専属の執事を従えたようなものです。
繰返し命令時間命令を組み合わせれば、押している間だけ消すのも、1回押せば永遠に滅すのも、暫くして復帰するのも、フラッシュ明滅するのも、5分であらゆるスイッチに変身できます。
スイッチ1個でLED3本を同期させるも、時間差でアニメーションさせるも、スイッチ3個で暗号キーを照合させるも、“神”となった君の手中です。

 緑色LED3本の代わりに、フルカラーLEDR,G,B端子を差せば、“光の3原色”の組合せで、2×2×2=8色(デジタルRGB)表現できます。
digitalWrite(8, HIGH) に代わり、analogWrite(8, 128) と書けば、8番ピンの色を50%(128/255)に落とすなど、256×256×256=1677万色(アナログRGB)表現が可能になります(*5)。

 光に飽きたら、です。
tone(A5, 440, 2000) と書き直し、A5ピンにスピーカを繋げば、440Hzの“”が2秒間鳴ります。タクトスイッチは、もう、電子ピアノの鍵盤なのです。

まさに全能です。マイコンなしで電子回路の機能を変更するのは、大変な手間なんですよ。

*1 電子部品の抜き差しが自由で、はんだを使わず、差し込むだけで部品同士を接続できるため。

*2 順(電流が流れる)方向に電圧を上げていくと急激に流れ始めるダイオードの一般的な性質により、焼損しないよう、電源と直列に100~1kΩを入れます。

*3 いや、可能な点灯パターンは爆発的に増えます。「指数関数的に増大する」と表現します。

*4 かように、マイコンを使わず、要素的な電子部品(受動素子)だけで機能(受動回路)を設計する方が、高度な知識や経験を必要とする面もあります。
「江戸時代のからくり人形より、現代のロボットの方が簡単」とも言えます。

*5 パソコンやテレビと同じ“フルカラー”と称される色数ですが、あくまで机上の計算値であり、電圧に対するLED輝度の非線形領域の使用により、そこまでの再現性はありません。
 また、デジタル回路の塊であるマイコンには、真のアナログ信号は扱えないので、PWM制御(1年目1月)により擬似的にアナログ電圧(各ピン256階調)を生成しています。


1.8 <プロ3年目コース『不思議アイテムIII-1①』>


 春タームは、赤外線で遊びます。

 赤外線(Infrared Ray, IR)とは何でしょうか。
(人間の)目に見えない光の一つ(波長領域)であって、「目に見える可視光線の中で波長が最も長い赤色光よりもさらに長いために見えない、限られた波長領域の(赤から少し外れた)光」と言えます。

可視光線の波長が約400nm~800nmの範囲であるのに対し、赤外線は800nm~1,000,000nm(1mm)と長く広範囲の波長領域を指し(*1)、波長が長くなるにつれ、近赤外線・中赤外線・遠赤外線と分類されます。

このうち、赤色の可視光線に近い特性をもつ近赤外線は、家電のリモコンや赤外線カメラ、携帯電話間の赤外線通信(もう時代遅れ?)に使われています(*2)。

 さて、市場には、あらゆるリモコンの信号を読み取り、“真似”できるという「学習リモコン」なるものが存在しますね。
佐藤が初めて目にした時は、リモコンの通信方式も知らずに、凄いモノが作れるもんだと感嘆しましたが、
下記の条件のお陰で、Arduino環境でもライブラリが揃っているように、(マイコンがあれば)比較的容易に作成できます。

1) 波長950nm近傍の近赤外線を使う
2) 周波数38kHz前後の明滅パルスを搬送波として使う(*3)
3) 単位時間500μs前後のパルス位置変調(Pulse Position Modulation, PPM)方式で符号化(0/1表現)する
4) 一方的に送り付ける用途(双方向通信ではなく、届いたかどうかは無関心)
5) 主に使用されている送信フォーマットは数種類しかない

1)~3)の共通性によって、単位符号(0/1)が読み取れますので、5)のフォーマットが何でも、プログラム次第で解釈できます。

事実、携帯電話やプリンタ間の写真転送などで使われる双方向のIrDA通信規格とは異なり、赤外線リモコンの通信プロトコル(データフォーマット)には明確な標準規格が無く、各社各様です。

但し、主に使用されているのは下記3方式のようで、SONYフォーマットを除き、1フレーム(1回の送信データ列)当たり、カスタム(メーカー識別)コード16bitデータ(コマンド)コード16bit32bit前後で構成され、約100ms毎に(ボタンが押されている間)繰り返し送信するという類似性があります。

・NECフォーマット     … 主にSONY製以外のAV機器
・家製協(AEHA)フォーマット … 主に一般(白物)家電
・SONYフォーマット     … SONY製品のみ

 このような背景により、マイコンに赤外線LED赤外線受光素子を繋ぐだけで、家電リモコンの信号をプログラム[IRrecvDump]で“傍受”し、プログラム[IRJackEx]で“真似”したり、別のコマンドデータに置き換えて“電波ジャック”したりできるようになります。

実際、扇風機や照明器具等の一般家電では、ブレッドボード上に組んだタクトスイッチをリモコンのボタン代わりにして操作することができました。

複数コードのシーケンス(序列)を認識して作動する家電や、テレビ等の高機能AV機器では(?)成功率が低かったようです。
ライブラリが対応していないだけで、プロトコルや適正タイミングさえ明確に分かれば、Arduinoで再現できるかもしれません。

 また、リモコンのボタン毎の信号を区別できるということは、専用品を作らなくても、付属の汎用リモコンや適当な家電リモコンで、オムニホイール操縦プログラム[IRrobot]のようにロボットを制御(前進・後退・旋回コマンド等)できるということです。

あるいは、プログラム[IRText]のように、文字コードをデータコードに埋め込んで送信し、受信側で取り出して8×8マトリクスLEDに表示することにより、メッセージ伝送もできました。

文字コードを暗号化して、第三者に傍受されても解読不能にすることもできますよ!

 赤外線通信を使って、他にどんなアプリケーション(応用)が考えられるのか、次月も探求して参りましょう。


【出展・参考文献】
▶赤外線リモコンの通信フォーマット
 https://elm-chan.org/docs/ir_format.html
▶赤外線リモコンのフォーマット
 https://www.asahi-net.or.jp/~gt3n-tnk/IR_TX1.html
▶リモコン(ウィキペディア)
 https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3


*1 広範囲と言っても、0.01nm以下から100,000,000,000,000nm(百km)以上の波長まで連続的に存在する電磁波のうちでは、ごく狭い帯域の(不可視)光線に過ぎません。

*2 光のように真っ直ぐしか飛ばず、電波のようには拡がりませんので、一所懸命リモコンをテレビへ向けなければなりませんね。
 電波式リモコン(SONYおき楽リモコン等)の使い勝手を知ると戻れませんが、赤外線式の方が低コストなのです。

*3 この搬送波1パルスの有無がデータ符号1bit(0/1)を表すわけではありません。
 赤外線の物理的な放射タイミングがこの周期(1/38kHz≒26μs)毎に発生し、実際の放射パルス(の複数個の連続)の有無(の組合せ)によって、1bit(0/1)を表します。
 つまり、赤外線を(物理的な意味で)放射している期間は38kHzで点滅しおり、搬送波を使わず連続点灯させる場合よりも少ない電力で高いピーク輝度を出力できます。
 また、一般に、信号を搬送波に乗せる(搬送波を信号で変調する)方式では、特定の周波数成分だけを拾うフィルタ回路を経由して受信(またはプログラムで信号処理)することにより、混線回避やノイズに強い通信ができるようになります。


2. 4月の課題


 <スタートアップ(全コース)>
  特にありません

 <プレプライマリーコース> (プライマリーではありません)
  - オリジナル図形プリント
  https://robocobo.sakura.ne.jp/blog/HW/RobotPP2504-Q.pdf

 <プライマリーコース> (難しければプレプライマリー↑でもOK)
  - オリジナル図形プリント
  https://robocobo.sakura.ne.jp/blog/HW/RobotP2504-Q.pdf

 <ベーシックコース>
  - 授業まとめを精読する(概ね3年生以上/低学年は補助の下で)
  - オリジナル課題プリント(3面図+設問)
  https://robocobo.sakura.ne.jp/blog/HW/RobotB2504-Q.pdf

 <ミドルコース>
  - 授業まとめを精読する
  - オリジナル課題プリント(3面図+設問)
  https://robocobo.sakura.ne.jp/blog/HW/RobotM2504-Q.pdf

 <アドバンスコース>
  - 授業まとめを精読する
  - オリジナル課題プリント(見取図+設問)
  https://robocobo.sakura.ne.jp/blog/HW/RobotA2504-Q.pdf (来月まで分)

 <プロ1年目コース>
  - 授業まとめを精読する(該当テキストページを見ながら)

 <プロ2年目コース>
  - 授業まとめを精読する(該当テキストページを見ながら)
  - タクトSW7個で“ドレミファソラシ”7音の電子ピアノ[ElectroPiano1改](第2回テキストp.20~21)を完成させる

  《ハイレベル挑戦》タクトSW4~7個で8音以上の電子ピアノを設計・実装する
  【ヒント】片手5本の指を使った2進法でいくつまで数えられたかな?
       必ずしも2進法に則る必要はない


  - 音のみで出題し、対応するSW4~7個(鍵盤)で回答チェックする『音当てゲーム機』に改造する

  《ハイレベル挑戦》LEDも光らせ、直ぐに対応するSWを押さないと終了する『モグラ叩きゲーム機』を製作する
  【ヒント】random(5, 12) で 5~11の乱数を出せる
       7ピンを共用(入出力切替)すればLED7個+SW7個も可能であるが、回路とプログラミングが難しいので、LED出力4ピン+SW入力4ピンで考える


 <プロ3年目コース>
  - 授業まとめを精読する(該当テキストページを見ながら)


3. 3月の解答


 <プレプライマリーコース>
  https://robocobo.sakura.ne.jp/blog/HW/RobotPP2503-A.pdf
 <プライマリーコース>
  https://robocobo.sakura.ne.jp/blog/HW/RobotP2503-A.pdf
 <ベーシックコース>
  https://robocobo.sakura.ne.jp/blog/HW/RobotB2503-A.pdf
 <ミドルコース>
  https://robocobo.sakura.ne.jp/blog/HW/RobotM2503-A.pdf
 <アドバンスコース>
  https://robocobo.sakura.ne.jp/blog/HW/RobotA2502-A.pdf


4. 5月の授業予告

 https://robocobo.sakura.ne.jp/blog/hap/robo-2505.pdf

 <プレプライマリーコース>『ロビット』
 <プライマリーコース>『ウォーカータクシー』
 <ベーシックコース>『ロボクリーン』
 <ミドルコース>  『ロボゲーター』
 <アドバンスコース>『ブランカー②』
 <プロ1年目コース>『オムニホイールロボット②』
 <プロ2年目コース>『不思議アイテムII②』
 <プロ3年目コース>『不思議アイテムIII-1②』


5. 今後の授業スケジュール


◆5月は小倉南を除く全教室(東福間・古賀・八幡東・小倉北)で一週ずつ遅れます。
 5月は小倉北⇔小倉南で(同日の為)振替できません。
◆6月も日曜日の教室(東福間プロ・小倉北・南)は一週ずつ遅れます。
小倉南5/11は〔山田緑地〕で開催します。
八幡東7/19は創フェスの為、7/26へシフトします

――――――――――<佐藤教室長>――――――――――

[東福間]第1・3土原則<学習ルームでこぼこ>
   - 13:30~ ベーシック/ミドル
   - 15:30~ アドバンス

 ⇒ 5/10※, 24※,  6/7, 21,  7/5, 19

 ※5月は一週ずつ遅れます

[東福間プロ]第2・4日原則<学習ルームでこぼこ>
   - 10:00~ プロ1年目
   - 13:00~ プロ2年目
   - 16:00~ プロ3年目

 ⇒ 5/18※, 6/1※,  6/15※, 29※,  7/13, 27

 ※5月・6月は一週ずつ遅れます

[サンリブ古賀]第2・4土原則<文化サークル>
   - 10:30~ ベーシック/ミドル/アドバンス

 ⇒ 5/17※, 31※,  6/14, 28,  7/12, 26

 ※5月は一週ずつ遅れます

[小倉北]第1・3日原則<ムーブ>
   - 10:30~ ベーシック/プライマリ
   - 13:00~ ミドル
   - 15:00~ アドバンス

   - 12:30~ プロ1・2年目/卒業制作
   - 15:00~ プロ3年目

 ⇒5/11※第1回 5F企画ルーム1
  5/25※第2回 5F企画ルーム1
  6/8※, 22※,  7/6, 20

 ※5月は一週ずつ遅れ、小倉南と同日(振替不可)となります
 ※6月も一週ずつ遅れます

――――――――――<中野教室長>――――――――――

[八幡東]第1・3土原則<レインボープラザ4F>
   - 13:30~ ベーシック/プライマリ
   - 15:30~ ミドル
   - 17:30~ アドバンス

 ⇒ 5/10※, 24※,  6/7, 21,  7/5, 26※

 ※5月は一週ずつ遅れます
 ※7/19創フェスの為、7/26へシフトします

[小倉南]第2・4日原則<総合農事センター2F>
   - 10:30~ ベーシック/プライマリ
   - 13:00~ ミドル
   - 15:00~ アドバンス

 ⇒ 5/11※, 25,  6/15※, 29※,  7/13, 27

 ※5/11は農事センター利用不可につき〔山田緑地〕で開催します
 ※6月は一週ずつ遅れます


【振替教室ご利用条件(ロボプロを除く)】――――――――
 振替先の1週間前までにメール下さい(許可制)
 振替手数料550円/回をご負担下さい(お引落し)
 (東福間⇔小倉北のみ無料)
 所定コース内容・時間のみお受けします


6. お知らせ


1) 第15回ロボット教室 全国大会

 全国大会2025年の開催が決定しました。

【日程】
 8/23(土) 東京大学 安田講堂(本郷キャンパス内)

【エントリー部門】
 ●アイデアコンテスト(全コース)
 ●テクニカルコンテスト(アドバンスコース)

【告知・申込】
 ▶ 5月中旬 応募要項公開
 ▶ 5/28(水)12:00~6/25(水)17:00 エントリー・観覧申込受付

【告知チラシ】
 5月授業日に配布します
 https://kids.athuman.com/robo/event/convention/2025/


2) 創フェス(クリエイティブフェス)

 全国大会に先立ち、従来の「スペシャル地区イベント」に代わり、
今年は未来創生STREAM教育総合研究所(RISE)との共催にて、
全国7都市で創フェス(クリエイティブフェス)を開催します。

【日程】
 福岡県 北九州市: 7/19(土) 九州工業大学(戸畑キャンパス)

【内容】
 自作ロボット/プログラムの発表・展示、体験、ロボットレースなど

【告知・申込】
 ▶ 5月中旬 応募要項公開
 ▶ 5/28(水)12:00~6/25(水)17:00 エントリー受付

【告知チラシ】
 5月授業日に配布します
 https://www.miraisosei.or.jp/fes/2025/


3) 神山まるごと高専 コラボイベント

 ◆5/31 10:00~ オンラインセミナー「未来のモノづくり教室」 応募受付中
 ◆7/21~23 サマーキャンプ2泊3日(中1・2生) 5月中公開・6/2~応募受付

【告知チラシ】
 5月授業日に配布します
 https://kids.athuman.com/summerschool2025/


4) 5月景品交換会
 3ヶ月毎の宿題ポイント交換会を下記授業日に開催します。
 ポイントカードを忘れずに、早めに来て下さい。

 [東福間]5/24
 [八幡東]5/24
 [小倉北]5/25
 [古 賀]5/31
 [小倉南]5/25


5) 3月課題 高得点者  []内は教室と学年

 ◆プライマリ【2名平均 図形4.0】
   5点…田中(心)[小倉北 年長]

 ◆ベーシック【12名平均 図面3.1+設問1.1=4.2】
  10点…なし
   9点…なし
   8点…なし
   7点…なし
   6点…菅原(い)[小倉南1], 菅原(は)[小倉南4]

 ◆ミドル【11名平均 図面3.6+設問1.9=5.5】
  10点…なし
   9点…なし
   8点…染森[東福間4], 亀平[八幡東3]
   7点…荒川[小倉北4]

 ◆アドバンス【3名平均 図面4.7+設問1.5=6.2】
  12点…諸富[小倉南6]


東福間・小倉北・サンリブ古賀教室 佐藤 / 八幡東・小倉南教室 中野