温度センサーをアップデートした!(目的)
- DHT11からDHT22にアップデート
付け替えたら、そのまんま使える訳じゃなかったので、ご説明します。
前回の記事を見ていない人へ➡︎ URL
参考資料Raspberry Pi 3+DHT22 で気温を通知するLINEbotを作る②
使用したもの
-
DHT22
その他は、以前と同じです。
セットアップ
GitHubにソースコードがあるので、引用してきます。
- まずは、RPi.GPIOはRaspberry PiのGPIOピン制御できるモジュールをインストール。
$ sudo apt-get install python-rpi.gpio
- ねんの為にパッケージもインストール。
$ sudo apt-get install build-essential python-dev
- DHT22のライブラリをインストール
$ sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git
$ cd Adafruit_Python_DHT
$ sudo python setup.py install
回路図
プログラム(Python)
# coding: utf-8
import RPi.GPIO as GPIO
import time
import datetime
import MyPyDHT
# GBCMの番号で指定する事を宣言
GPIO.setmode(GPIO.BCM)
#BCMの17番ピンを出力に設定
DHT_PIN = 14
GPIO.setup(DHT_PIN,GPIO.OUT)
HEATER_PIN = 17
GPIO.setup(HEATER_PIN,GPIO.OUT)
HotTemp = 10
ColdTemp = -1
sleepSecond = 0
try:
while True:
humidity, temperature = MyPyDHT.sensor_read(MyPyDHT.Sensor.DHT22, DHT_PIN)
if humidity is not None and temperature is not None:
tmp = temperature
print(tmp)
if tmp <= ColdTemp:
# Heater running
GPIO.output(HEATER_PIN,1)
print("Heater ON")
sleepSecond = 10
elif tmp >= HotTemp:
# Heater stop
GPIO.output(HEATER_PIN,0)
print("Heater OFF")
sleepSecond = 10
else :
time.sleep(sleepSecond)
time.sleep(5)
except KeyboardInterrupt:
GPIO.cleanup()
この前と、ちょっとだけ違います。少しだけなので
動かない場合
5Vを使用していませんか?
3.3Vに差し替えてみてください!