<Raspberry Pi-26> STTS751による温度測定をターミナルに表示します。 秋月電子から、専用基板も購入しましたが米粒ほどの大きさで基板に半田付けするのに苦労しました。 STTS751はこのページです。 専用基板はこのページです。 接続は、@→GNDA→GNDB→+3.3VC→SCLE→SDAに接続します。 *@は、アドレス設定で+3.3V接続で0x48、GND接続で0x39になりました。 資料によるとプルアップ抵抗7.5k:0x48,12k:0x49,20k:0x38,33k:0x39とあります。 温度測定画像 プログラムを下に示します。 -------------------------------------------------------------------------------- #!/bin/sh #関数 温度データ取得 センサー:STTS751 temp_mes() { temp_add0=$(i2cget -y 1 0x48 0 b) #アドレス0のデータ取得 整数部分 temp_1=$(($temp_add0)) #16進→10進に変換 temp_add2=$(i2cget -y 1 0x48 2 b) #アドレス2のデータ取得 小数点部分 temp_2=$(($temp_add2)) #16進→10進に変換 temp_2=` perl -e "print(${temp_2} / 256)" ` #少数部分の計算データシート参照 temp=` perl -e "print(${temp_1} + ${temp_2})" ` #整数部分と少数点部分の足し算 } while [ true ] do temp_mes sleep 1 echo $temp done -------------------------------------------------------------------------------- 時刻と温度測定画像(秒表示が1秒飛ぶ時があります16:27:56→16:27:58) プログラムを下に示します。 -------------------------------------------------------------------------------- #!/bin/sh tokei() { hms=`date +"%H:%M:%S"` } #関数 温度データ取得 センサー:STTS751 temp_mes() { temp_add0=$(i2cget -y 1 0x48 0 b) #アドレス0のデータ取得 temp_1=$(($temp_add0)) #16進→10進に変換 temp_add2=$(i2cget -y 1 0x48 2 b) #アドレス2のデータ取得 temp_2=$(($temp_add2)) #16進→10進に変換 temp_2=` perl -e "print(${temp_2} / 256)" ` #少数部分の計算 temp=` perl -e "print(${temp_1} + ${temp_2})" ` #整数部分と少数点部分の足し算 } while [ true ] do tokei echo -n $hms"--->" temp_mes echo $temp"℃ " sleep 1 done -------------------------------------------------------------------------------- Raspberry Pi-27に続く・・・ Raspberry メニューに戻る