前へ⇒ 豪雨・洪水対策!Raspberry Piで作る家庭用水位センサー
※当サイトは、アフィリエイトプログラムを利用して商品を紹介しています。
猛暑による熱中症や、急な温度上昇による火災の危険は誰にでも起こり得ます。Raspberry Piと温度センサーをつなぐだけで、室内の温度をリアルタイムに確認できる仕組みを自作できます。

防災・防犯の第一歩として、初心者でも簡単に始められる電子工作を紹介します。
1. 必要なもの
- Raspberry Pi
- ADT7410 温度センサー
- ブレッドボード(部品を差し込む板)
- ジャンパーワイヤー(オス-メス)
温度センサー
ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサーモジュール: 計測器・センサー・ロガー 秋月電子通商-電子部品・ネット通販

2. 配線のしかた
ADT7410は I2C通信 という方式でラズパイと会話します。配線はとてもシンプルです。
ADT7410 ピン | Raspberry Pi ピン番号 | 説明 |
---|---|---|
VCC | Pin 1(3.3V) | 電源(3.3V) |
SCL | Pin 5(GPIO3) | クロック線 |
SDA | Pin 3(GPIO2) | データ線 |
GND | Pin 6(GND) | グランド(マイナス側) |
必ず 3.3V に接続してください。5Vに接続すると壊れる危険があります。
Raspberry pi本体 GPIOピンの配置
3.3V (1) (2) 5V
GPIO2 (3) (4) 5V
GPIO3 (5) (6) GND
GPIO4 (7) (8) GPIO14
GND (9) (10) GPIO15
GPIO17(11)(12) GPIO18
GPIO27(13)(14) GND
GPIO22(15)(16) GPIO23
3.3V (17)(18) GPIO24
GPIO10(19)(20) GND
GPIO9 (21)(22) GPIO25
GPIO11(23)(24) GPIO8
GND (25)(26) GPIO7
ID_SD (27)(28) ID_SC
GPIO5 (29)(30) GND
GPIO6 (31)(32) GPIO12
GPIO13(33)(34) GND
GPIO19(35)(36) GPIO16
GPIO26(37)(38) GPIO20
GND (39)(40) GPIO21
I2Cを有効化する
Raspberry Piの初期状態ではI2Cは無効になっているため、有効化する必要があります。
- ターミナルを開きます。
Ctrl + Alt + T
を同時に押す。設定ツールを起動sudo raspi-config
- メニューから以下を選択
Interfacing Options → I2C → Enable
Interfacing Optionsを選択

I2Cを選択

3. 有効化を確認するメッセージが出るので「はい」を選択

4. 設定を保存してRaspberry Piを再起動 sudo reboot
5. 再起動後、コマンドでデバイスファイルがあるか確認。ターミナルを開きます。Ctrl + Alt + T
を同時に押す。ls /dev/i2c-*
→ 出力に /dev/i2c-1
が表示されれば成功!

ADT7410のI2Cアドレスの仕組みと選び方
ADT7410のI2C通信
ADT7410はI2Cで通信する温度センサーです。
Raspberry Piなどから「どのデバイスに話しかけるか」を区別するために、I2Cアドレスが必要になります。
ADT7410のアドレスは固定ではなく、ハードウェアの設定ピン(A0, A1)によって変更できます。
ADT7410のアドレス設定方法
ADT7410には A0ピンとA1ピン という入力ピンがあります。
このピンを GND(0) または VDD(1) に接続することで、アドレスが決まります。
アドレスの範囲は 0x48〜0x4B です。
A1 | A0 | I2Cアドレス |
---|---|---|
0 | 0 | 0x48 |
0 | 1 | 0x49 |
1 | 0 | 0x4A |
1 | 1 | 0x4B |
(0 = GND、1 = VDD)
どう使い分けるの?
- センサーを1つだけ使う場合
→ A0とA1をGNDに接続して、デフォルトの0x48
を使うのが一般的です。 - 複数のADT7410を同じI2Cバスに接続したい場合
→ それぞれのセンサーでA0/A1の接続を変えて、0x48
〜0x4B
の範囲で違うアドレスを割り当てます。
こうすることで、Raspberry Piはセンサーを区別して読み取れます。
実際にアドレスを確認する方法
- 配線を終えたら、ターミナルを開きます。
Ctrl + Alt + T
を同時に押す。i2cdetect -y 1
を入力して実行。

2. 表の中に 48
〜4B
のどれかが表示されるはずです。

3. Pythonプログラムで通信する時は、そのアドレスを指定します。例:デフォルト(0x48)の場合 I2C_ADDR = 0x48
3. Pythonプログラムプログラムを作る
- ターミナルを開きます。
Ctrl + Alt + T
を同時に押す。 - 新しいファイルを作成します:
nano shikosjikoondo.py
nano shikoshikoondo.py
3. 次に、以下のプログラムを入力します。
import smbus2
import time
I2C_ADDR = 0x48 # ADT7410のアドレス(多くの場合0x48)
I2C_CH = 1 # I2Cのチャンネル(Raspberry Piは通常1)
bus = smbus2.SMBus(I2C_CH)
# 温度を読む関数
def read_temperature():
try:
data = bus.read_i2c_block_data(I2C_ADDR, 0x00, 2)
raw = (data[0] << 8) | data[1]
raw = raw >> 3 # 13ビットモード
if raw & 0x1000:
raw -= 1 << 13
return raw * 0.0625 # 温度に変換
except OSError as e:
print("通信エラー:", e)
return None
try:
print("温度計測開始(10秒ごとに平均を表示します)")
while True:
readings = []
for _ in range(10): # 10回計測して平均を取る
temp = read_temperature()
if temp is not None:
readings.append(temp)
time.sleep(1)
if readings:
avg_temp = sum(readings) / len(readings)
print("平均温度(過去10秒):{:.2f} ℃".format(avg_temp))
else:
print("データが取得できませんでした")
except KeyboardInterrupt:
print("終了します")
bus.close()
nanoで入力が終わったら、以下の手順で保存します。
Ctrl + O
を押す(ファイルを保存)Enter
を押す(ファイル名を確定)Ctrl + X
を押す(エディターを終了)
ターミナルを開きます。Ctrl + Alt + T
を同時に押す。
実行します: python3 shikoshjikoondo.py
ターミナルに「平均温度」が10秒ごとに表示されれば成功です!

ADT7410で温度が測れるようになると、いろいろな工作に発展できます。
- 室温モニター:部屋の温度が30℃を超えたらLEDを点ける
- 温度ロガー:温度をCSVに記録して、グラフ化する
- Webで表示:Flaskなどを使い、スマホから部屋の温度をチェック
- IoT化:クラウドに送信して、遠くから温度を監視
次回は、水害・熱中症・防犯対策を1台で!Raspberry Piでつくるオールインワン防災システム です。
イケオジ流!ラズベリーパイ(Raspberry Pi)一覧はこちら
ラズベリーパイを始めるならこれ!本体・モニター・センサー類の商品リスト
X(旧twitter) 今日のイケオジ
イケオジのキング・オブ・アスリートへの道はこちら
プログラミングスクール:[PR]仕様書通りにコードを書ける、だけじゃない。業界でも稀な「2年間」という長期間の充実したカリキュラム、プログラミングをする前に知っておくべきITの基礎から徹底的に指導することで、IT未経験からでも、仕事も、働き方も選べる”希少型エンジニア”を育成します。

オンラインのプログラミングスクール:[PR]SiiD(シード)は、合同会社BugFixが運営するオンラインのプログラミングスクールです。登録者数12.7万人を誇るエンジニアYouTuberのセイト先生が運営しており、未経験者からITエンジニア転職を目指す方や、現役エンジニアのキャリアアップを支援するカリキュラムを提供しています。

ミニPC専門店:[PR]MinisforumのミニPCは、仕事向けのコスパ重視のミニPCや最新のCPUやGPUなどを使用した最新型ミニPC。省スペースながら高性能、豊かな接続端子、より良い冷却システムと静音性、メモリやストレージを増設など簡単、複数ディスプレイ同時に出力可能。

DELL:[アフィリエイト広告]抜群の価格競争力と製品の信頼性で、法人ユーザのみならず、個人・SOHOユーザからも高い支持を受けています。

富士通:[PR]富士通パソコンFMVの直販サイト。予算や用途に合わせて機能が選べるカスタムメイドモデルFMVをはじめ、未使用・未開封のワケありパソコンやアウトレットなど直販ならではの特価品も豊富に取り揃えています。最新モデルは送料無料&富士通保証付きです。

激安な中古パソコンといえば:[PR]圧倒的な品揃えと低価格: 年間100万台の中古パソコンを取り扱い、スケールメリットを活かした低価格を実現。NEC、富士通、東芝、パナソニック、HP、DELLなど、国内外の人気メーカーのノートパソコン、デスクトップPC、液晶モニター、タブレット、さらにはワークステーションやゲーミングPCまで幅広く取り揃えています。

さあ、勇気を出してイケオジブログをシェアしよう!
コメントを残す