秋月のI2C接続液晶 AQM1602XAを基板に直付け
SDAとSCLの2線でつなげる液晶モージュールが
なかなか便利です。
先日来使っているのが16文字x2行のこれ。
AQM1602XA-RN-GBW
液晶の足は1.27mmピッチで一直線。
AE-AQM1602A(KIT)
これになると2.54mmピッチへの変換基板が付属しています。
内部昇圧回路のコンデンサが付いているので、
主回路への接続は、+電源・GND・SDA・SCLの4本だけ。
ところが、この基板を使うと、液晶を基板に貼り付けるのに
上に出っぱる
厚くなる(基板そのものは1.2mm厚)
と、使い勝手がよくありません。
そこで、こんなつなぎをしています。
足を曲げて外に膨らませ、2.54mmピッチの
ユニバーサル基板にハンダしちゃうのです。
ちょい拡大
コンデンサの取り付けは基板の裏(パターン側)で。
液晶板と基板の間にはスポンジタイプの両面テープ。
全面に貼ると剥がすとき大ごとになりそうなんで、
両端にちょっとだけ。
この液晶を使い、Arduino UNO R3(のチップで)こんなツールを
作っています。
二つともデジタルで周波数を設定できる2相パルス発生回路
です。
90度位相差のあるA相B相パルスを出力します。
CW/CCWとカウント方向を変えられます。
下のは 「fclk / n16」でATmega328の16bitタイマー、
アウトプットコンペアで分周する方式。
周波数を設定できる範囲は0.1Hz~9990.0Hz。
1/nですんで周波数が高くなると
ちょいと誤差が出ます。
割り込みの時間に余裕があったんで、パルス数を
指定して「何発出せ」をできるようにしてみました。
ロータリーエンコーダを回して周波数とパルス数を指定。
CWあるいはCCWスイッチを押すとパルスを出力。
設定数出したらSTOP。
2相パルスとして使わなくて、
「何発かのパルスが欲しい」
ときに便利。
お手軽ツールで、これってなかなか無いんじゃ
なかろうか。
上のはDDS方式で、0.01Hz単位で周波数を設定できます。
0.10Hz~9999.99Hz。
こっちは STOP・CW・CCWの操作だけ。
基準カウントクロックが80kHzで、16MHzクロックの
ATmega328にはなかなか重い仕事です。
80kHz=12.5μ秒で割り込みをかけてDDS処理。
タイマー1のコンペアマッチで2相パルスを出力します。
ポートを叩いてH/Lを出力するんじゃないので、ジッターは
ありません。 (DDSに起因するジッタはある)
80kHzで割り込み。
DDSのための32bit加算
次のコンペマッチで出力するA相B相を決定。
これを繰り返します。
※関連記事
・2024年6月2日:秋月電子通商のI2C接続液晶表示器
・2021年7月2日:秋月の液晶表示器 ACM0802C-NLW-BBW-IIC、I2Cのプルアップ抵抗
・2022年7月18日:秋月電子16文字x2行のI2Cインターフェース液晶AQM1602Y
・2024年9月12日:液晶表示:CG-RAMの表示がちょいと違う
※重要 液晶へのI2CアクセスとTWI割り込みを切り離せたから
高速割り込みが安定してできるようになったのです。
・2024年4月3日:超低速2相パルス発生回路・ケース入れ
・2024年4月7日:I2C液晶のアクセス、割り込み処理で遅れる原因らしきもの
・2024年4月12日:I2C液晶のアクセス、割り込みで処理しないようにすると
※2相パルスあれこれ
・2024年4月26日:治具作りは面白い:2相パルスの発生
・2014年07月01日:高速2相パルス発生回路
・2018年5月25日:アナログ入力で2相パルスの周波数と正転逆転を制御する発振器
※2相パルス発生回路 回路図
・2022年8月24日:パルスジェネレータを作ってみた:箱に入れた
これの出力はデューティ可変できますが
「パルスを何発欲しい」には対応していません。
設定も「周期」で、「周波数」として合わせたい時は
ちょいと不便。
「全部入り」を作ろうとすると、Ardino UNO-R3ベースでは
だいぶとチカラ不足。
いずれも、電源や表示器以外は、
ATmega328Pの中に入っている機能だけ
で実現していますんで、
「こんだけできるんやで」と褒めてやりたいところ
です。
※案
DDS方式の2相パルス発生器、割り込みの中では
処理時間の制限でもうなにもできませんが、
「外(main loop)」ではあれこれできそうです。
例えば、周波数を振らす。
何Hzから何Hzまで、何秒かけて周波数をup/down。
てな処理です。
DDS加算している値を変えると周波数が変わります。
割り込みでの処理時間は同じ。
設定メニューを出してあれこれでしょう。
SW4を付けとけば良かった。
| 固定リンク
「ツール」カテゴリの記事
- 今日の失敗:ABS樹脂ケースに穴を開けたらホルソーが詰まったゾ(2026.01.15)
- ブザー報知周波数でマイコンの動作クロックを探る#2(2025.12.04)
- 3.3V出力の実験用安定化電源回路にスイッチを付けたい(2025.12.04)
- ブザー報知周波数でマイコンの動作クロックを探る(2025.10.31)
- 買ってはダメ! コーナンLIFELEXリピート型結束バンド(2025.08.17)
「Arduino」カテゴリの記事
- ATtiny1614:タイマレジスタの初期設定を見る(2026.01.06)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」#2(2025.09.15)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」(2025.09.11)
- ATtiny402サンプル:"Wire.h"を使わずI2Cで液晶表示 AQM1602だと(2025.09.09)
- ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら(2025.09.09)


コメント