1-Wire接続の温度センサーDS18B20×Raspberry Piで温度測定に成功
カテゴリー:#電子工作 Raspberry Pi、Arduinoなど(記事数:240)

2015.09.28

1-Wire接続の温度センサーDS18B20×Raspberry Piで温度測定に成功


購入したのは DS18B20という温度センサーの防水加工品。センサー自体は秋月で350円ほど、今回は防水加工されたものをAmazonで送料込み880円購入。

これまでI2Cというデジタル接続規格のセンサーで遊んできましたが、これは3本の線で接続可能な1wireという規格らしい(3.3VとGNDとGPIO1つ)。同期シグナル線が無くて低速通信なのでけっこう配線を長く伸ばせるらしい。

接続のための前準備として
/etc/modules

w1-gpio
w1-therm
を追加。
/boot/config.txt

dtoverlay=w1-gpio-pullup
を追加。意味は分からん。これでデフォルトのGPIO4で1wire接続できるようになるらしい。GPIO4以外に接続するには
dtoverlay=w1-gpio-pullup,gpiopin=x
と書くらしい(未確認)。
また、Raspberry Pi内の回路を使ってプルアップするには
dtoverlay=w1-gpio-pullup,gpiopin=x,pullup=y
と書くらしいが、うまくいかなかった。信号線と3.3Vの間に抵抗入れてプルアップしないと動作しない。
あとは下記のように接続されているデバイス数を表示したり、デバイスコードを取得したり、温度を読み出したりと簡単。

センサーはオンデマンドで認識されるみたいでRaspberry Piの電源入れっぱなしでセンサーを接続すると5秒ぐらいで認識されだす感じ。t=xxxxxが摂氏温度の1000倍になっている。

Pythonで温度部分を抽出してネット上のサーバーに投げるスクリプトの例としては
--------------------------
import urllib
import time
import subprocess #外部コマンド実行モジュール
import re #正規表現のモジュール

resulttext = subprocess.check_output(["cat","/sys/bus/w1/devices/28-00000728de5e/w1_slave"])
print resulttext

temp=re.search('(?<=t=)(-*\d+)',resulttext) #正規表現でt=以降を取得
temp=float(temp.group(1))/1000 取得した部分はgroup(1)に入る
print str(temp)

r=urllib.urlopen('http://xxx.xx/xxx/xxx.cgi?'+str(temp))
print r.read()
--------------------------

本当は得意のperlで書きたかったんだけど、Raspberry Piでどうやっても途中で止まってしまってモジュールLWPをインストール出来なかった。orz

Category:#電子工作 Raspberry Pi、Arduinoなど

 Keyword:DS18B20/3



■ ■ ■ コメント ■ ■ ■

いいっすね!=20
001 [09.29 02:21]匿名@Dion:cpanでのインストールで失敗するのはメモリ不足が原因だったような気がします。GPUメモリが初期値で64MB割り当てられているので、HDMIを使わないなら最小値の16MBにすると良いかも。 (6)
002 [09.30 08:56]ふぇちゅいん(パパパパ) TW★56:>>001 情報サンキューです! (5)
003 [10.01 02:23]匿名@Dion:あとswapが標準では100MBなので1024MBに変更したほうが良いかもしれません。やり方はぐぐると出てくると思います。 (3)

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:4249
DS18B20
DS18B20 //by AFS
2018/01/02 19:22:usePocket、1年以上前に書いたけどまだアクセスが多い記事ランキング(usePocket.com)
2017/11/29 12:32:1wireの温度センサーDS18B20をRaspberry Piで使う時のプルアップの仕方メモ&もしかしてこのセンサーって2本の接続で使用可能?(usePocket.com)

本カテゴリーで直近コメントが書かれた記事
12/12 00:58:「M5Stamp Fly」をドローン初心者が自宅で飛ばしてファームウェア更新から宙返り、UnitCam付けたりとか158062分前
11/29 08:19:おうち秋月電子かよ!自宅の積み電子キットがすごい量に・・・122日前
11/27 09:16:「Raspberry Pi Pico 2 W」は7ドル(1000円)でBluetoothもWifiも使える124日前
07/01 21:34:Arduinoで航空無線が聴ける。Arduino Nanoで制御するエアバンド受信シールド「SCARP」が9500円。2024年10月出荷開始272日前
12/06 16:22:赤外線カットフィルター無しのラズパイ公式カメラv2にフィルター追加481日前
11/03 10:39:オープンソースの家庭用地震計「EQIS-1」(PRIORIS)の完成品が8580円で登場514日前
09/29 11:31:Raspberry Pi 5が発表。4から2倍高速化、M2ストレージおよびPCI-Express2.0対応。外付けでGPUがつなげちゃう?1万円~549日前
08/28 00:48:Raspberry pi zero 2Wが本当に3500円で来た!zeroとの比較581日前
08/22 09:42:Raspberry zero 2Wが送料込み3500円587日前
06/24 23:21:今月の「トランジスタ技術」はラズパイカメラ特集。凄いこの雑誌セミプロの寄稿を集めた同人誌だ645日前
05/06 22:29:Raspberry PiでCPU温度を測定する方法694日前
04/24 23:54:何日間持つか実験。ラズパイzeroにUSBカメラとモバイルバッテリーをつないでリアルタイム配信706日前
04/08 09:45:『これが届く頃、俺の畑は既に死んでいるだろう』ラズベリーを地植えして超絶後悔した人の手記723日前


→カテゴリー:#電子工作 Raspberry Pi、Arduinoなど(記事数:240)
本カテゴリーの最近の記事(コメント数)
2025.03.05ラズパイ公式!ポメラ的な文章作成用ハンドヘルドPC「Micro Journal Rev.2 ReVamp」。Zero 2W搭載
2025.02.27理系フリマ8が3月1日開催
2024.12.10「M5Stamp Fly」をドローン初心者が自宅で飛ばしてファームウェア更新から宙返り、UnitCam付けたりとか32コメ
2024.12.05SeeedのRaspberry Pi zero用Grove Base(HAT)がベストフィットで良い感じ11コメ
2024.12.04Raspberry Piのカメラで静止画を撮る時のオプションメモ:fswebcam/USBカメラ時とraspistill/公式カメラ9コメ
2024.11.28おうち秋月電子かよ!自宅の積み電子キットがすごい量に・・・30コメ
2024.11.26「Raspberry Pi Pico 2 W」は7ドル(1000円)でBluetoothもWifiも使える46コメ
2024.11.17Raspberry Piベースの立体視カメラを作るためのオープンソースボード「StereoPi」15コメ
2024.11.03Raspberry Piとディスプレイでお手軽デジタルサイネージを作れるオープンソースソフト「Anthias」5コメ
2024.10.08Raspberry piは電源ぶつ切りするとすぐにカーネルパニック起こして起動しなくなる。改善方法と復旧方法27コメ

最近の常連さん
774(←半角のひと)★83 白★53 らむ★32 ふぇちゅいんさんふぁん(ゆるりゆラリー)★101 うにゃ(emでネクサス5→�)★38 10年選手★48 トクメー★17 F★52 ポコ★346 酔もぐら★41 ななしさそ★72 さてさて★30 ☆★45 名古屋関西人 TW★25 ふぇちゅいん(年度末まったり) TW★95 うぃ(滅茶苦茶久しぶり)★70 Dcd★83 JP★26 特命さん★79 orz★38 すきやき★77 ω★105 謎★80 umomo★2 ふぇいちゅん★2 匿名?★28 knob★2 τ(はじめてのすまほ) TW★52 とくめい★82 京ポン3B(意地でもエッジ)★40