雑学としての VOR/ILS
むか~~し
むかし
知人が
地上機上の
いろいろな電子機器の
説明ホームページを作成していた
じじぃ~
も
日々 消えていく 記憶
時々刻々 あいまいに なる 記憶
を
めもする
※個人の 調べと記述なので
正確性は あやふやであり
しかも うん十年前の 知識で
あることを お断りする
現在は 時代遅れ かつ
GPSなどの 衛星支援に
置き換わっている技術もある
もともと
じじぃ~ の ため
の
ブログである
# ==============================
VOR/ILS 大雑把 変!
# ==============================
むかし
航空機は お天気次第で 飛んだり
飛ばなかったり
時代は 流れて
定期的に 定時制を もって
ブンブン飛ぶ
天気も 昼夜も
おかまいなし である
その なぞ
VOR
飛行ルートや空港の近くに設置する
電波送信施設
飛行機は 必要な VOR局を
選択して それを 目指して
飛行する
こうすれば 天気が悪くても
迷子にならないw
ILS
空港に近付いたら
ILSを利用する
空港の滑走路に沿って
電波の案内が発射される
飛行機は それを
受信すれば
滑走路に理想的な
着陸進入ができる!
MB
ILSに含んだり
別扱いだったり
資料によってバラツキがあるが
じじぃ~は
ILSの 一部として 解釈
滑走路の端から
所定の位置に
電波送信所を設置する
飛行機が その 上空を
飛ぶと 受信して
滑走路までの
おおまかな距離がわかる
# ==============================
じじぃ~
雑学としての Two-out-of-five code
むか~~~し
むかし
の
ずっと 昔
航空祭じゃぁ~~~
基地祭じゃぁ~~~
と

這いずり回っていたころ
周波数設定 などに
興味を持った
で
Two-out-of-five code
# ==== 【chatGPT】様の回答例
Two-out-of-Five Code(2/5コード) は、古典的なデジタル符号方式の一つで、
十進数 0〜9 を 5本の信号線またはビットのうち「必ず2本をアクティブにする
」 ことで表現するものです。
## ■ 基本の考え方
* 5本のライン(またはビット)を用意する
* そのうち ちょうど2本だけがアクティブ(接地/Low または High depending o
n convention)になる
* この組み合わせで 10通り(0〜9)を表現できる
* 「2本アクティブ」というルールのおかげで、断線や誤信号の検出が容易
## ■ 代表的な用途(一般論)
1. 郵便バーコード(Industrial / Interleaved 2-of-5)
* 郵便番号や商品コードの印字・スキャンに利用
* ビット位置やバー/スペースの組み合わせで 0〜9 を符号化
2. 航空機の旧世代電子機器
* ARINC 410 以前、MIL 規格移行前の装置
* フライトディレクタ、オートパイロット、INS、DME/VOR、数字表示器
* A〜E の5本ディスクリート信号を用い、2本を接地して数字を送信
* ノイズ耐性が高く、断線検出が容易なため航空機の安全要求に適合
3. 工業用途・センサ系
* PLC、スイッチ入力、カウンタ入力などでも利用例あり
## ■ 典型的な割り当て例(航空電子/一般論)
| 数字 | アクティブ線(接地) |
| -- | ---------- |
| 0 | A + B |
| 1 | A + C |
| 2 | A + D |
| 3 | A + E |
| 4 | B + C |
| 5 | B + D |
| 6 | B + E |
| 7 | C + D |
| 8 | C + E |
| 9 | D + E |
> ※メーカーや機種によって割り当ては異なる
> ※航空機用では A=LSB とするか E=LSB とするかも機器依存
## ■ 特徴・利点
* 誤信号検出が容易
* 1本しかアクティブになっていない、あるいは3本以上アクティブになってい
る場合はエラー
* 2線アクティブという冗長性
* 信号線の断線やショートが発生しても、単純に判定可能
* アナログ配線でも扱いやすい
* 1960〜1980年代の航空機ではシリアルバスが普及しておらず、
この方式が実装容易で安全だった
## ■ まとめ(ブログ用まとめ文案)
> 「Two-out-of-Five コードは、5本の信号線のうち必ず2本だけをアクティブに
して、十進数を表す方式です。郵便バーコードなど工業分野で広く使われたほか
、旧世代の航空機電子装置では、フライトディレクタやオートパイロットなどの
装置間で数字情報を安全かつ確実に伝えるために用いられました。2線が必ずア
クティブになるため、断線や誤信号が発生した際にも検出しやすいという利点が
あります。」
# ==============================
にゃあ~~~ご
じじぃ~
雑学としての DVD形式
ぶんぶん
すかすか
DVD-Video規格の解像度ルール
DVD-Videoで使える解像度は複数あります:
720×480(フルD1)
704×480(ほぼ同じだが端を削ったD1)
352×480(ハーフD1)
352×240(SIF)
つまり、LPやEPモードで録画された映像は「ハーフD1」や「SIF」として保存されている。
じじぃ~
すぴ~かぁ~ こける
ぴ~こ
ぴ~こ
サブPC
の
すぴ~かぁ~
が
こけるこけるこける
なぜ???
よし!
頑丈な
すぴ~かぁ~
スタンドを
製作
しよう・・・
が!
金は ない!
じじぃ~
Dimora to xlsx (4)
ぶるれこ様の
データを
なるべく
手間を かけないで!
xlsxで 読み込めるようにする
以前も 作ったけど・・・
ぜんめんりにゅ~ある である
製作:Microsoft Copilot様
OnLineBackUp で ありんす♪
# ==== xlsx to openpyxl to ods 変!
from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment
from openpyxl.worksheet.page import PageMargins
# === 定数 ===
INPUT_FILE = r"F:\_pypy\DIGA\COPY\recList-USB.xlsx"
OUTPUT_FILE = r"F:\_pypy\DIGA\COPY\recList-USB-styled.xlsx"
# Excelファイルを読み込み
wb = load_workbook(INPUT_FILE)
ws = wb.active
# --- 列幅を辞書形式で指定 ---
col_widths = {
"A": 17,
"B": 12,
"C": 66,
"D": 5,
"E": 4,
"F": 8,
"G": 6,
"H": 10,
"I": 3,
"J": 6,
}
for col, width in col_widths.items():
ws.column_dimensions[col].width = width
# --- タイトル行のスタイル ---
title_font = Font(name="00コミック7", size=10, bold=True, color="000000")
title_fill = PatternFill(start_color="FFFF99", end_color="FFFF99", fill_type="solid") # 薄い黄色
thin_border = Border(
left=Side(style="thin"),
right=Side(style="thin"),
top=Side(style="thin"),
bottom=Side(style="thin")
)
for cell in ws[1]: # 1行目(タイトル行)
cell.font = title_font
cell.fill = title_fill
cell.border = thin_border
cell.alignment = Alignment(horizontal="center", vertical="center")
# --- データ行のフォント指定(列ごとに異なる) ---
for row in ws.iter_rows(min_row=2, max_row=ws.max_row):
row[0].font = Font(name="Times New Roman", size=12, bold=True) # 列A
row[1].font = Font(name="Times New Roman", size=12, bold=True) # 列B
row[2].font = Font(name="木漏れ日ゴシック", size=12, bold=True) # 列C
row[3].font = Font(name="Times New Roman", size=12, bold=True) # 列D
row[4].font = Font(name="Times New Roman", size=12, bold=True) # 列E
row[5].font = Font(name="Times New Roman", size=12, bold=True) # 列F
row[6].font = Font(name="Times New Roman", size=12, bold=True) # 列G
row[7].font = Font(name="Times New Roman", size=10, bold=False) # 列H
row[8].font = Font(name="Times New Roman", size=6, bold=False) # 列I
row[9].font = Font(name="Times New Roman", size=6, bold=False) # 列J
# 罫線を全セルに適用
for cell in row:
cell.border = thin_border
# --- セルの書式設定例 ---
for row in ws.iter_rows(min_row=2, max_row=ws.max_row):
# 分(整数+3桁区切り)
row[3].number_format = "#,##0"
# 放送開始日時(h:mm)
row[1].number_format = "h:mm"
# 通貨列がある場合(例: 列J)
# row[9].number_format = "¥#,##0"
# --- 印刷設定 ---
ws.page_setup.paperSize = ws.PAPERSIZE_A4
ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE
ws.page_margins = PageMargins(left=0.25, right=0.25, top=0.25, bottom=0.25)
# 保存
wb.save(OUTPUT_FILE)
print(f"整形完了: {OUTPUT_FILE}")
## ✅ このコードのポイント
# - **列幅**:辞書形式で管理 → `col_widths` に列と幅をまとめて指定
# - **タイトル行**:フォント「00コミック7」、背景色「薄い黄色」、罫線+中央揃え
# - **データ行**:列ごとにフォントを変える(Times New Roman、木漏れ日ゴシックなど)
# - **セル書式**:数値は `#,##0`、時間は `h:mm`、通貨は `¥#,##0`
# - **印刷設定**:A4横向き、余白最小
# これで「見た目だけ整える」処理が一通り可能になります。
# 👉 次のステップとしては「条件付き書式(例:未視聴なら背景色を変える)」を追加することもできますが、
# まずはこの基本スタイルで試してみますか?
# # ==============================
