『昼夜逆転』工作室
[トップページへ戻る]

AVR USI-TWI Slave使用例:キャラクタLCD-I2C化アダプタ Ver.2

2017年8月
AVRのUSI機能をTWI化した記事「AVR USI-TWI Master使用例」 ではマスター側を紹介しました。本記事ではスレーブ側を紹介します。
※事前にマスター側の記事をご一読ください。

USI機能をTWI化する

キャラクタLCD-I2C化アダプタ(プリント基板)」 ではI2Cスレーブデバイスを作成しました。そこで使用したATtiny20が現在は入手困難なため、 比較的入手性がよくて大袈裟なスペックではないATtiny44Aで置き換えました。
ATtiny44AにはI2C機能がないのでUSI機能をTWI化し、I2Cスレーブ機能を実装しています。 具体的な方法はアプリケーションノートで公開されています(「AVR USI-TWI Master使用例」内リンクを参照)。

ソフトウェア

ダウンロード usiTwiSlave.zip
開発環境: Windows10/64bit, AtmelStudio7
上記は USI-TWI Slaveのソース(I2Cスレーブデバイスのファームの一部)です。 本記事ではこれを使い、キャラクタLCDモジュールをI2C接続できるようにしました。

キャラクタLCD-I2C化アダプタ

特徴

使用方法
本アダプタ独自のAPI/ライブラリは下記よりダウンロードできます。 ATmega328Pをマスターデバイスとして表示デモを行います。SCL/SDAには10kΩ程度のプルアップ抵抗が必要です。
Arduino用のライブラリは特に用意していません。 自作する場合、I2C接続でHD44780互換コントローラにコマンドとデータを送信(4ビットモードで操作)するプログラムを作成すればOKです。
ダウンロード i2clcd_demo.zip
開発環境: Windows10/64bit, AtmelStudio7
回路図
回路図

動作の様子

マスターデバイスから温湿度センサーの値を受け取り、表示しています。

動作の様子 動作の様子 動作の様子
動作の様子 動作の様子 基板

おまけ

ATtiny44A書き込み台

書き込み台 書き込み台 書き込み台

動作テスター
動作テスター 動作テスター

◆ ◆ ◆

ATtiny44AにUSI-TWI Slave機能を実装しました。I2Cのマスターから送信されたセンサーの値を受信し、キャラクタLCDに表示することができました。
I2C接続のディスプレイといえば近年、小型OLEDが比較的安価に入手できるようになり、「定番ディスプレイ」の座が交代しそうな勢いです。 しかしOLEDは基本的にグラフィックディスプレイ。シンプルに文字情報を表示したい場合はキャラクタLCDの方が便利です。


 
(C) 『昼夜逆転』工作室
[トップページへ戻る]