ATtiny402マイコン サンプル:I2Cで液晶表示
・ATtiny402マイコン サンプル:割り込みでシリアル出力
・ATtiny402マイコン サンプル:RCサーボモータテスター
に続いて、あらたなATtiny402マイコンのサンプルです。
これらに、I2C液晶を追加してみました。
※参:Arduino IDEの環境
・シリアル出力を割り込みで。
出力完了を待たなくても、次の仕事が
できる。
・A/D変換データ取得を割り込みで。
変換完了を待たなくても最近値を
いつでも読める。
・1ms割り込みでタイマー。
この中でA/D変換開始を指令。
液晶表示の様子
ざっと、タイミングを見てもらいましょう。
上から
PWM出力 50Hz(20ms)でサーボ用パルスを出力
シリアル出力データ(9600BPS)
I2C SCL 液晶表示
I2C SDA 〃
4文字+6文字の液晶表示を行った後、シリアルデータを出力。
2msの時間待ちをしてから2文字を表示。
シリアル出力が割り込みで処理されるので、
2ms待ちと2文字表示が、シリアル出力完了を待たなくても
処理が進んでいます。
さて、なんとかしたいのが液晶表示のためのI2Cアクセス。
「Wire」「twi」ライブラリを使うので複雑になっています。
液晶表示だけなら書くだけ。
余計な処理はいらないので、もっと短くシンプルに
できるはず。
※参考
・I2C液晶のアクセス、割り込み処理で遅れる原因らしきもの
・I2C液晶のアクセス、割り込みで処理しないようにすると
Arduino UNO R3のI2C制御とATtiny402の制御が
異なるので、ATmega328用のプログラムは動きません。
もうちょい勉強です。
~~~~~~~~~~~~~~~~
超低速2相パルス発生回路・ケース入れ で、
I2C液晶表示をwireライブラリを使わない
ようにしたら(wireの中からtwiを呼んでいる)、
プログラムのサイズが1.8kバイトほど減少。
RAMエリアも200バイトほど減りました。
~~~~~~~~~~~~~~~~
てな具合なので、なんとかしたいです。
※バックアップ代わりに今回のスケッチ
液晶表示処理は別ファイルになってます
・ダウンロード - lcd_pwm_txint0.zip
※注意:I2Cのプルアップ抵抗
・秋月の液晶表示器 ACM0802C-NLW-BBW-IIC、I2Cのプルアップ抵抗
モジュールに2.2kΩのプルアップ抵抗が内蔵されています。
※続き
・ATtiny402マイコン サンプル:I2Cで液晶表示(Wire.hを使わないで)
プログラムエリアとRAMエリアを縮小できます。
・ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら
| 固定リンク
「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)
「AVRマイコン」カテゴリの記事
- ATtinyのデータシートに「1/1023」が出現(2025.09.26)
- ATtiny402サンプル:"Wire.h"を使わずI2Cで液晶表示 AQM1602だと(2025.09.09)
- ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら(2025.09.09)
- ATtiny402マイコン サンプル:I2Cで液晶表示(Wire.hを使わないで)(2025.09.08)
- ATtiny402マイコン サンプル:I2Cで液晶表示(2025.09.05)
「ATtiny」カテゴリの記事
- ATtiny3224で裸の32bit周波数カウンタ(2026.01.22)
- ATtiny3224のタイマでは・・・言うことを聞かないゾ(2026.01.10)
- ATtiny1614:タイマレジスタの初期設定を見る(2026.01.06)
- ATtiny1614 DAC出力とADC入力を見る(2025.12.23)
- ブザー報知周波数でマイコンの動作クロックを探る#2(2025.12.04)



コメント