arduinoによるLCDへの温度表示

arduinoの勉強のために少しプログラムをいじってみた。
I2Cを使った温度計測とそれをLCDに表示するプログラムである。
手持ちのセンサーは、温度計測はAT7410、LCDはosoyooのラズパイスターターキッとにはいっていたもの。
ネットで似たような書き込みを調べるがAT7410はすぐに見つかったが、LCDは特殊らしく見つからない。
そこでosoyooのarduinoに関するページを見てみるとライブラリーに関する記述があったので、それを参考にライブラリーを組み込み、テストプログラムが無事動作した。
両者を合わせた、計測した温度をLCDに表示するプログラムは次のとおりである。
------------------------------------------------------------------------------------
#include
#include

int I2CAdrs;
LiquidCrystal_I2C lcd(0x3f,16,2); // run ic2_scanner sketch and get the IC2 address, which is 0x3f in my case,it could be 0x3f in many cases
// 初期化
void setup(void) {
I2CAdrs = 0x48;   // スレーブアドレス

Serial.begin(115200); // シリアル通信パラメータ設定
Wire.begin();    // I2Cマスタ初期化
lcd.init();          // initialize the lcd
}

// メインループ
void loop(void) {
uint16_t val;
float tmp;
int ival;

Wire.requestFrom(I2CAdrs, 2); // S.C発行,CB送信
val = (uint16_t)Wire.read() << 8; // データの読み出し(上位)
val |= Wire.read(); // データの読み出し(下位)
val >>= 3; // 13bit化
ival = (int)val; // 整数化

if(val & (0x8000 >> 3)) { // 符号判定
ival = ival - 8192; // 負数のとき
}

tmp = (float)ival / 16.0; // 摂氏温度換算
Serial.println(tmp, 2); // xx.xx 温度値をシリアル送信
lcd.backlight(); // 表示クリヤー
lcd.setCursor(0,1); // 位置を指定し
lcd.print("Temp:"); lcd.print(tmp); lcd.print("\337C");// 温度を表示
delay(1000); // 測定周期(ms)
}
------------------------------------------------------------------------------------

配線はI2Cの接続のためAT7410もLCDもNANOのA4,A5端子にSDA,SCLにパラで接続してアースと5V電源を継ぐだけである。
lCDの写真は以下のとおりである。