試験問題

アマチュア無線の試験を前回 (3級) 受けたのは、まだ電信受信試験があった中1のときだったので、実に14年ぶりぐらいの試験になった。その間に電信の試験は廃止され2級と1級はあまり難易度に差がなくなったみたいなので (数学的な部分だけ?)、2級は受けないことにした。

動機

  • 10MHz, 14MHz (2級以上で許可) に出てみたくなった
  • 3級とか小学生でもとれるし恥ずかしい感じがする
  • 資格の説明が「 アマチュア無線局の無線設備の操作」 とシンプルになってかっこいい

やりたいことは2級でもできるし、QRO (2級で最大200W、1級だと最大1000Wまで許可されるけど、集合住宅だと出力をあげるのは悪手) する気もないので、モチベーション的な問題が大きい。

勉強

昔はどうだったか知らないけど、1アマは難しい難しいと聞いていた割に、今はそんなに難しい試験ではないように思った。中学で数学ちゃんとやって卒業してたら余裕、みたいな感じだと思う…… (複素数の計算が一部あるけど、1アマだとたいしたことはしない) 電信聞き取りがないし、ほんと単に数学力が難易度に直結する。

自分は中学・高校で数学をちゃんとやらなかったばかりか、かけ算九九でミスをするレベルなので、そのへんが大変つらかった。問題を方程式にするまではできても、かなりの頻度で計算ミスをして、しばらく気付けないことがある。計算ミスが多いと、それに気をとられるがあまり、考慮不足で根本的に間違えることもあって辛い。

2ヶ月前から落ちてもいいから基礎からというつもりで準備をしたけど、本気でやりまくったのは最初の1ヶ月だけで、模試をしてみたら合格点を超えてしまったのでだんだんやる気が落ちていった。使った本は

第一級アマチュア無線技士試験問題集 (合格精選400題) - 吉川忠久

吉川忠久

5.0 / 5.0


基礎からよくわかる無線工学―第1級・第2級アマチュア無線技士国家試験準拠 - 吉川 忠久

吉川 忠久

4.0 / 5.0

と、中学生レベルの計算を思い出すためにドリルを買って2回ぐらいやった。高校受験用だと中1〜3まで纏まっていて便利。

中1~3数学10分間復習ドリル―サッと復習ググッと学力アップ - 中学教育研究会

中学教育研究会

5.0 / 5.0

ドリルは体感的にはかなり効果があって、その後問題を解くのが気分的にもだいぶ楽になった。

あと、本でよくわからなかったところは以下のサイトが大変わかりやすかった。たぶん以下のサイトと過去問題だけでも工学は受かると思う。

前述の通り、複素数に関しては1アマでは普通に文字式を解くのと変わらないレベルのことしか要求されないので、余計な勉強はしてないし、特に苦手意識もつかなかった。新たに覚えたのは分母にj がきたとき共役複素数で分母を有理化というルールだけだった。

本番

直近の過去3回の問題は事前にやってたけど、工学は本番の問題が思いのほか難しく感じた。これは1枚目に計算問題が集中しており、なおかつその全てが事前にやった問題集や試験問題に同じ形の問題がないというものだったからだと思う。なのでかなり焦った。そう難しい変化ではないとはいえ、方程式の変形をよくミスするので、結局念のため4回ぐらい解いたりした…… (おかげでこれらは正答できた)

能動素子 (半導体) の問題が全然でなかったなあという印象だった (出たことは出たんだけど)。ことごとく、出たらいいなあとなんとなく思っていた問題はでなかった。逆に、出たら捨てようと思っていた過渡状態の問題がでて悲しかった (けどこれは改めて考えたら解けた)

間違えた問題(A問題の2問)の原因は、理解不足による勘違いと、根本的な解きかたのケアレスミス (2倍するのを忘れた的な) だった。

久しぶりに全力で応用部分の頭使った感じだった。終わったあとヘロヘロになった。

法規は単に覚え間違いが多かった。「無線電信とは~通信設備である」が何度見ても納得いかない。設備じゃねーだろと思うんだけど、定義だから仕方ない……

答えあわせ

試験日の3日後?の15時に公式の解答が出るみたいで、答えあわせをした。(法規、工学ともに、150点満点中 105点 正答率70%以上が合格ライン)

  • 法規: 130点 (正答率87%)
  • 工学: 140点 (正答率93%)

だった。試験後の印象としては、法規は余裕で工学がヤバイ、だったけど、点数的には逆だった……

マークミスさえなければ、合格しているはず。25日に正式な合格発表がある。

まとめ

やればできた。勉強はじめる前はいろいろあって受かる気がしなかったんだけど、実際勉強してみると、そんなグダグダ言うほどには難しくなくて、これさえ受かないとかだと自分相当ダメなんじゃないかと思ってプレッシャーだった。(難易度的には1陸特より少し難しいぐらいらしく、無線資格としては1陸技・1総通まであるわけで、入門レベルなのだなあという感じ…)

たまには試験的なものをしてみるのもいいかもなあと思う。けど、受けるモチベーションが起こる試験があまりない。多少勉強する姿勢ができたので、継続して何かしら勉強をしたい。

  1. トップ
  2. ham
  3. 1アマ (第1級アマチュア無線技士) 試験を受験した

仮にも (こういう言い方をすると怒られそう) プログラマとして働いているのに、情報処理試験を一度も受けたことがなく、勉強の機運が高まっているので受けてみようと調べてみたけど、やはりメリットが感じられず、モチベーションが沸いてこなかった。

情報処理の試験は受かっても別になにか独占業務があるわけではないので、何に価値を見い出せばいいのかよくわからない。「情報セキュリティスペシャリスト」とか名前かっこいい!ぐらいしかない…… ウェブ業界だと、資格持ってても github しか見られないし就職には殆ど意味を感じられない。

勉強すること自体には意味があるけど、過程だけに意味があってもやる気沸いてこない。なんか「これは!!」っていうメリットはないんだろうか。

PROGMEM をつけると (const も必須)、その変数の示す先がプログラムメモリー領域になる。そのままだと使えないのでワーキングメモリ (SRAM) にコピーする必要がある、という話。大きい定数は SRAM に置けないので、基本的にプログラムメモリ (フラッシュメモリ) 上に置いて、必要なときだけコピーするようにする。

avr/pgmspace.h に byte やら word を読み出す関数は提供されているけど、long はない。どうするのが正しいのかなあと思ったけどよくわからなかった。

結局以下のように memcopy でうまくいった。

const uint32_t MORSE_CODES[] PROGMEM = {
    ...
};

uint32_t current_sign;
memcpy_P(¤t_sign, &MORSE_CODES[character], 4); 


progmem 調べていると prog_ が prefix された型を使え、って書いてあるのがよく検索ででてくるけど、それは obsolete で、使うとエラーになる。ヘッダを読んだほうが良い。const と PROGMEM をつけるのが正しい。

しかしヘッダ見ると far とか near とかよくわかんない関数がいっぱいあって混乱する。far は 64KB 以上のフラッシュがあるデバイスしか関係ないっぽいので気にしないほうがいいっぽい。つまり near_ だけ使っていれば良い (実際、 near も far もついていない関数は near のエイリアスになっている)

ヘッダファイルの冒頭部分の一部を訳してみた。

\note If possible, put your constant tables in the lower 64 KB and use
pgm_read_byte_near() or pgm_read_word_near() instead of
pgm_read_byte_far() or pgm_read_word_far() since it is more efficient that
way, and you can still use the upper 64K for executable code.
All functions that are suffixed with a \c _P \e require their
arguments to be in the lower 64 KB of the flash ROM, as they do
not use ELPM instructions. This is normally not a big concern as
the linker setup arranges any program space constants declared
using the macros from this header file so they are placed right after
the interrupt vectors, and in front of any executable code. However,
it can become a problem if there are too many of these constants, or
for bootloaders on devices with more than 64 KB of ROM.
All these functions will not work in that situation.

可能なら、定数テーブルは 64KB 以下に配置し、pgm_read_byte_far() や pgm_read_word_far() の代わりに pgm_read_byte_near() や pgm_read_word_near() を使ったほうが効率が良いし、なおかつ 64KB 以上は実行コードに使える。

プリフィックスに _P がついている全ての関数はELPM 命令を使わず、フラッシュROMの64KB 以下を引数にとる。これは大抵の場合、このヘッダファイルのマクロを使って定義されたプログラムスペース定数はリンカーが割込みベクターのすぐ後に配置するので、気にすることはない。

しかしながら、もしこのような定数が多すぎる場合や、デバイス上のブートローダーが 64KB 以上の場合問題をひきおこすかもしれない。これらの関数はこのような状況では一切動かないだろう。

  1. トップ
  2. avr
  3. AVR progmem に long を置く方法
  1. トップ
  2. arduino
  3. AVR progmem に long を置く方法

抵抗器とかコンデンサとかをうまく整理する方法を考えてる。とにかく種類が多いし、そこそこ体積があったりするので面倒くさい。

値わけして袋詰めするまではいいとして、袋がばらばらにあっても、ソートされていないと見つけることができないのでゴミと変わりがない。

抵抗

抵抗はそんなに大きくないので (100本ぐらいだと結構…) 100均のハガキ用バインダーにだいたい納まった。E24 系全部持ってたりすると2冊ないとダメそう。

コンデンサ

電界コンデンサだと特にだけど、そこそこ体積があるので、バインダーみたいのに入れこむのはつらい。こちらは普通に横長のプラスチックケースにソートして入れるみたいにしてみた。

本当は仕切りが可変できるパーツボックスがあればいいんだけど、結構高いのしかないので、これで我慢する。

半導体

半導体が一番悩ましい。ソートしようがないので、できるだけ 一覧性が高い形で保存したいけど、いい方法が思いついてない。

基本は用途別にわけていくのがよさそう。

  • ダイオード
    • 整流用
    • 小信号用
    • ツェナー
  • LED
    • 形別にわける
  • トランジスタ
    • 耐圧ごと? になんとなくソート?
    • フォトカプラも
  • FET
    • 耐圧ごと? になんとなくソート?
  • センサー系
  • ロジックIC
  • オーディオ関係IC
  • マイコンチップ

ドラム式洗濯・乾燥機

NA-VX7200L-N パナソニック ドラム式洗濯乾燥機 - パナソニック(Panasonic)

パナソニック(Panasonic)

5.0 / 5.0

買ってから半年ぐらい経ったけど不満なし。常に乾燥まで一気にやっていて、一切外に干していない。

食洗機

パナソニック 食器洗い乾燥機 NP-TR6-W ホワイト - パナソニック(Panasonic)

パナソニック(Panasonic)

5.0 / 5.0

これも買ってから半年ぐらい経ったけど一切不満がないし、これなしではもはや生きていけない。

手で洗うよりも確実に綺麗になるので安心感がある。無理してでも設置する価値が絶対にある。

食洗機用小物カゴ(丸型) TD10 - オークス

オークス

5.0 / 5.0

小物洗うには別途カゴも必要。これは厚さを2段階に調節できて便利。ステンレスだから清潔な感じがするし良い。

ルンバ

 -

4.0 / 5.0

これも買ってから半年ほどだけど満足度が高い。普段の掃除の殆どを自動化できる。

これに限らないけど、ここまで書いた「家事自動化」は確実に生活が向上する。特に、1つ自動化できればその間に他のことをすることができる。

シャトルシェフ

THERMOS 真空保温調理器 シャトルシェフ 2.8L アプリコット KBF-3000 APR - サーモス(THERMOS)

サーモス(THERMOS)

5.0 / 5.0

これは自分では買っていなくて、結婚祝いにもらったんだけど、同じように便利。

煮ている間、火を使わないのでつきっきりでいる必要がなくなる。家事自動化と同じような効果があって、他のことに時間を使うことができるようになる。洗濯機まわしつつ、食洗機まわしつつ、ルンバを起動して、シャトルシェフでカレーを作りながら風呂に入ったりとかできるようになる。神か。

髪の毛くるくるぽい

【お風呂グッズ】 髪の毛くるくるポイ (Cタイプ) ユニットバス用 (x1個) - ウェルスジャパン

ウェルスジャパン

3.0 / 5.0

掃除しやすくなっていい。あと見てると渦ができて楽しい。ただ、設置方法的に、くるくるぽいに髪の毛が挟まっていることがあって、これがうまく解決したらいいなあと思う。

万年筆

パイロット 万年筆カクノ M ライトグリーン FKA1SRLGM - パイロット(Pilot)

パイロット(Pilot)

5.0 / 5.0

kakuno のコストパフォーマンスが非常に高い。書くのが楽しくなる。勉強とかテンションあがらないけど、多少テンションをあげることができて良い。

パイロット 万年筆インキ iroshizuku INK-50-TY ツキヨ - PILOT

PILOT

5.0 / 5.0

 -

4.0 / 5.0

これらも買うとさらにテンションをあげることができる。インクを早く使いきるぞ!っていうモチベーションが生まれるのでかなり良い。

スピードサラダ

スピードサラダ 19639 - 下村企販

下村企販

5.0 / 5.0

切れるピーラーを使うべき。千切り機能が思いのほか便利だった。

ロールシャープナー

京セラ ロールシャープナー 包丁研ぎ器 手動 包丁専用 ( ステンレス・チタン・鋼 ) 両刃用 ファインセラミック砥石 前後に約10回往復 荒砥ぎ 仕上げ 同時にOK 高い切れ味回復 縦方向の研磨 研ぎ器 シャープナー RS-20-FP - 京セラ(Kyocera)

京セラ(Kyocera)

3.0 / 5.0

包丁研ぐの面倒だけど、これだとすぐ研げるので良い。切れない包丁はかえって危険なのでこまめに研げるのがいい。

10口OAタップ

 -

5.0 / 5.0

10口ある OA タップはなかなかない。四角でデザインもわるくない。横と縦につけれるので、幅が大きいACアダプタが多い場合も有効に使いやすい。

ACアダプタ繋げるタップ

【2003年モデル】ELECOM 電源ケーブル ACアダプタを4個つなげる ホワイト T-AD4WH - エレコム(ELECOM)

エレコム(ELECOM)

4.0 / 5.0

AC アダプタばっかり繋げる場合、こういうのがあったほうが便利。

テービルタップボックス、モール

イノマタ化学 テーブルタップボックス ブラウン Lサイズ - イノマタ化学(Inomata-k)

イノマタ化学(Inomata-k)

5.0 / 5.0

【2001年モデル】ELECOM LD-GAF3/BR フラットモール(ブラウン) - エレコム(ELECOM)

エレコム(ELECOM)

5.0 / 5.0

テーブルタップボックス、モールは「見た目」の観点から語られることが多いけど、ルンバを使う場合、ケーブルを床に這わせると悲しいことになるので、これらが必須。もちろん見た目もかなり良くなるので大変良かった。一旦設置したら動かすことも殆どないので、面倒くさがらず一回やったらよい。

ドリルドライバ

京セラ(Kyocera) 旧リョービ ドライバードリル CDD-1020 645801A - 京セラ(Kyocera)

京セラ(Kyocera)

3.0 / 5.0

ドリルとしても使えるし、ドライバとしても使える。クラッチがついてるので一定の締め付け度になると空転してくれる。普通に使ってる。

踏み台 セノビー

トレードワン 踏み台 高さ39cm×幅39×奥行32cm 折り畳み 隙間収納 ステップ 室内・屋外 洗車 釣り ブラック セノ・ビー のっぽ君 10052 - トレードワン(Trade One)

トレードワン(Trade One)

5.0 / 5.0

うちが狭いので、あまり踏み台とか買っても置き場がないんだけど、これだと折り畳めるので便利。普通に使いまくってる。

ワットモニター

サンワサプライ ワットモニター5種類測定可能 検電器 TAP-TST8 - サンワサプライ(Sanwa Supply)

サンワサプライ(Sanwa Supply)

5.0 / 5.0

消費電力の可視化は重要。まずは測定。間違った思い込みで節電しても効果は薄い。