0
0

More than 3 years have passed since last update.

温度センサーをアップデート

Last updated at Posted at 2019-11-19

温度センサーをアップデートした!(目的)

  • 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

回路図

  • 前回と一緒です。そのまんま引用してすみません。
    一つだけ注意があります。
    • 5Vを与えるとうまく起動しません。(なんでかは知りません)
      なので、3.3V電圧に変えてください。 image.png

プログラム(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に差し替えてみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0