最近,この手の LCD モジュールが安く売られています.
が,データシートが無いので,どう使えばいいのか,詳細が不明です. というわけで,現物をいじったり,資料をググったりして調べてみました.
この手の LCD モジュールは,LCD コントローラに HD44780 (の互換チップ)が使用されているものがほとんどです. データシートの DC characterics の部分を見ると,妙なことに気がつきます.
〜 4.5V と 4.5V 〜 に分けて特性が書いてあるのですが,
で外部入出力部が動作しているように読めます.
HD44780 には互換チップがあって,ST7066U というやつがよく使われているようです. データシートを見ると,こちらは 5V 電源でも普通に CMOS レベルの入出力レベルです.
内部の IC のデータシートはさておき,手持ちの LCD モジュールのデータシートが欲しいので,ググってみると,それっぽいやつが見つかりました. 機構図面の外観も似ています. が,こいつがまた怪しげ.
外部入出力電圧が 5V TTL レベルっぽい?
LCD コントローラには先の ST7066U が使われているので CMOS レベルのはずなんだけどなぁ,とよく見ると,表の上部に「Vdd=3.0V±10%」とあります. ひょっとして
バックライトの LED のために電源は 5V としていて,LCD コントローラは 3.0 V で動作しているのか?
とか,期待してしまいます.
LCD モジュールをマイコンにつないで動かしてみます. マイコンボードは STM32 Nucleo-F446RE を使いました.
STM32 の GPIO は 5V トレラントなので,LCD モジュールが 5V を吐いてもマイコン側が壊れることは無いはずです. マイコンの H レベル出力も,LCD モジュールのスレッショルド電圧はどうにか越えるでしょう.
というわけで,ごちょごちょとプログラムを書いて,文字の出力に成功.
最初に表示させたのは,日本の伝統に則って,カタカナのイ.
おなじみのやつも表示させて
ロジアナでバスの信号を見てみると
初期化して文字を表示するまで 0.3 秒. お,遅い…
バスのウェイトに HAL が提供している delay 関数を使っているのだけど,こいつの分解能が 1 ms と粗いのが響いています. 内蔵タイマとかビジーループを使えば,もっと細かい分解能でタイミングを取れるけど,まぁ,いいか.
ここまでは,マイコン側がバスのすべての信号を駆動していて,LCD モジュール側からは信号は出力されていません. というわけで,リードサイクルを発行して,LCD モジュール側から信号を出力させてみます. 赤がマイコンから駆動される RW,黄色が LCD モジュールから駆動される D7 です.
はい,残念賞.
普通に 5V レベルの信号が出力されていました. 5V 電源のモジュールが 5V レベルの信号を吐く,なんのヒネリもない結果でした.
最近のマイコンは GPIO が 3.3V レベルのものがほとんどなので,何も考えずにこの LCD モジュールをつなぐと,最悪壊れてしまいます.
というわけで,安全に使える使い方をいくつか考えてみました.
今回はこれ.まぁ動作はするけど信号レベルが合ってないので,ノイズには弱くなります
双方向だと回路が複雑になるかな
LCD モジュール内の情報は参照せずに,一方的にコマンド・データを送りつけても動作させることはできます.
動作はして壊れることはないけど,やっぱり信号レベルが合ってないので,ノイズに弱くなります
74HCT244 あたりを1個使えばイケるかな
newlib の printf 関数をリンクして,カウントダウン表示させてみたり
「万」「円」の内蔵フォントはあるけど,「兆」のフォントは無かった
そろそろボーナスのシーズンらしいので
トシ食ったせいか,手足が冷えるようになってきた. というわけで,いわゆる「着る毛布」の類のやつを買ってみた.
「ダメ着2020」という名前で,人をダメにする部屋着だそうな.
以下,感想などを適当に書いてみる.
Bauhutte はゲーム用の椅子・机などのゲーミンググッズのブランドで,この「ダメ着」もそういう文脈で作られているらしい.
「快適にゲームができる環境を」ということなのだろうけど,別にゲーム時に限らず快適なのではないかな,という考えで買ってみた.
服の形状は,上下が一体となったツナギ.
着るときはフロントのファスナーを開いてから,両脚を通して,両腕を通して,ファスナーを閉じることになる.
そういや,ツナギの服って着たこと無かったな. ツナギ初体験だぜ.
オイラは身長は 168 cm なので,L サイズ (165〜175cm) を買ってみた.
体に全然フィットしないダボダボサイズなのだけど,体に圧迫感を与えないようにこういう大きさになってるのだろう.
オイラは肌が弱いので,下手な毛布のようにチクチクしたら嫌だな,と思っていたけれど,そんなことはなくて安心.
が付いている.
特に首まわりがゴチャゴチャしてるけど,ゴチャゴチャが襟巻きみたいに暖かい.
あと,歩くたびにファスナーのタブが「しゃらん,しゃらん」と音を立てる. 音が気になる場合は要注意.
「着たままトイレシステム」(尻出しファスナー)で,着たままで便器に着座できるように作られてはいる. けど,ダボッとしたサイズなので,大きい用を足すのは不安があって,まだトライしていない.
男性の小用は,つなぎのフロントファスナーにタブが2つ付いていて,着用時には下にあるタブを上に引き上げると「社会の窓」がオープンする. 服のダボダボが液体の軌道に干渉しないように気を付ける必要があるが,こちらは目が届く範囲なので,まだ不安は少ない.
ソックスを使わない場合は,ソックス先端のボタン留めを裾のボタンに引っ掛けるように作られているけど,ボタン留めが小さくて留め辛い.
まぁ,使わないときはソックスを裾のなかにしまい込んでおけばいいので,それほど気にはならないかな.
今までは,部屋では適当なフリースの上着にトレパンで過ごしていたのだけど,それに比べてとても暖かい.
ツナギになっていて,暖かい空気が逃げにくいからだろう.
今までよりも室温を数度下げても快適に過ごせる. 省エネだぜ.
amazon のレビューにもあるように,新品の状態でファスナーの付け根部分で縫い目がほつれて穴が空いていた. 縫い目の末端の処理が悪いのかな. 場所は「着たままトイレシステム」(尻出しファスナー)の右端.
返品・交換しようとも思ったけど,それも面倒なので自分で繕った. 部屋着で,人に見せるわけでもないし,縫い目が不格好でも問題ないからね.
オイラが買ったのもレビューにあったのも赤の L サイズなので,ロットの問題だとしたら,別の色だと大丈夫かもしれない.
洗濯はまだしていないけど,2シーズンぐらいは保ってほしいなぁ,と思っている.
テレビやビデオなどを操作するときに使う赤外線リモコン. そのリモコンが発する信号を受信してみました.
赤外線リモコンの信号を受信する,専用のモジュールがあります.
いろんなメーカからいろいろ出てますが,今回は ROHM の RPM7138-R というやつを使いました.
モジュールは単なる赤外線フォトダイオードではなく,AGC・BPF・検波・コンパレータ回路が入っていて,太陽光などの自然光は無視してリモコンの光だけに反応するようになっています.
このモジュールの端子は
の3本しかありません. シンプルですね.
まずは
をつないで,出力信号を見てみます.
出力信号はアクティブローなので
です.
この一連のパルスを解読すれば,赤外線リモコンのどのボタンを押したかわかります. が,人力で解読するのも面倒なので,ロジアナでリモコンのコードを解読してみます.
↑こいつを使ってみました. Linux 上の pulseview (sigrok) で操作できます.
pulseview で解読できるリモコンのコード体系は
の2つです.
まずは NEC のテレビのリモコンを試してみます.
実際に NEC のテレビを持ってるわけではなく(今はもう作ってないよね),Panasonic のスカパーチューナーのリモコンにあるテレビ操作ボタンのメーカ設定を NEC にして送信してみました.
さすがに NEC のテレビだけあって,NEC フォーマットを使ってます. RC-5 のほうでも何かデコードされてますが,信号の途中でデコードが終わってたりするので,誤反応ですね.
で,調子に乗って家じゅうのリモコンを集めて信号を見てみましたが,NEC フォーマットのリモコンはこれだけでした.
Address と Address# がビット反転になっていませんね. Address が足りなくなったため,今の NEC フォーマットの仕様では Address と Address# を合わせて1つの機器コードとしているそうです.
象印なんて昔からあるメーカだけど,リモコンを使う機器を売り始めたのはそれほど昔でもないので,このようなことになったのかもしれません.