ACM1602を接続して、LCDへ温度を表示させます。次の写真は動作中の様子です。ACM1602を接続してみました。温度センサのSCLとSDAにLCDのSCLとSDAをそれぞれ並列に接続してあります。LCDの端子部分に付いているアダプタ基板は筆者が製作した#310アダプタ基板です。1枚の基板に実装されているため、簡単にACM1602を接続できます。I2C-LCDアダプタ●AVR部(#282)単独使用例ここではプログラム作動中はUSBは不要なので、CQガチャduinoのAVR部(#282)単独で作動させることができます。次の写真はのUSB/電源部(#283)を外して、AVR部(#282)単独で作動させているところです。電源は右側のDCジャックから5Vを供給しています。(9/30追加)WSN310を使わずにACM1602を直接つなぐ場合の配線図を示します。センサ基板内のプルアップ抵抗を有効にする場合の配線図ですが、有効にしない場合はSCL、SDA両ラインを10kΩ程度の抵抗器で5Vにプルアップしてください。●制御プログラム次にサンプルスケッチを示します。前回の16ビットのものをLCD用に変更しました。シリアル出力のものと対比しやすいように、シリアル処理関係はコメントアウトして残してあります。delay(1000);}LCDの制御は筆者が作成したI2C-LCD用ライブラリ”wI2cLcd”を使用しています。このライブラリはLiquidCrystalとほぼ互換性があります。9,10行目でI2C用LCDのインスタンスを作成しています。ここではインスタンス名は”lcd_acm”としています。20行目でLCDインタンスを初期化しています。引数は順に16文字、2行、I2Cスレーブアドレス0×50という意味です。これ以降、LiquidCrystalと同じように使用できます。clear()やprint()、setCursor()などが同じように使えます。表示に関しては80行目の”Seerial.println()...”をlcd_acm.print()...”に変更するだけですが、そのほかにカーソル位置の指定や文字列表示の処理を追加しています。ここで使用したI2C-LCD用ライブラリ”wI2cLcd”は、書籍「Arduino実験キットで楽ちんマイコン開発」で紹介したものです。よろしければこちらもごらんください。ライブラリはCQ出版のサポートサイトから無償でダウンロードできます。この投稿のパーマリンクコメントは受け付けていません。