温度計

温度センサーとNeoPixelスティックを使い、気温に応じたビジュアルフィードバックを得ます。


Author: Benjamin Dannegård、Last revision: 2024/01/16


i
プロジェクトを始める前に、インストールの章を終わらせてください。

このプロジェクトでは、DHT11センサーから気温を取得し、気温に応じてNeoPixelのLEDの色を変えます。

必要なハードウェア

このプロジェクトを製作するには、以下のものが必要です。

回路

以下の回路図に従って部品を組み立ててください。

温度計の回路

温度計の回路

コード

より正確にするために、環境に合わせて、温度の閾値を変更してください。このスクリプトは、読み取った温度をターミナルに表示するので、利用する閾値の決定は簡単です。その後、ボードにコードをアップロードしてください。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from machine import Pin
from time import sleep
import neopixel
import dht

PIXEL_NUMBER = 10
np = neopixel.NeoPixel(Pin(10), PIXEL_NUMBER) # Pin D7

SENSOR_PIN = 5 # Pin D2
TEMP_SENSOR = dht.DHT11(Pin(SENSOR_PIN))
sleep(1)

red = (255, 0, 0) # set to red
green = (0, 128, 0) # set to green
blue = (0, 0, 64)  # set to blue

def hotLED():
    for i in range(0, PIXEL_NUMBER):
        np[i] = red
        np.write()

        
def coldLED():
    for i in range(0, PIXEL_NUMBER):
        np[i] = blue
        np.write()
        
def neutralLED():
    for i in range(0, PIXEL_NUMBER):
        np[i] = green
        np.write()

while(1):
    TEMP_SENSOR.measure()
    print(TEMP_SENSOR.temperature())
    temp = TEMP_SENSOR.temperature()

    if(temp >= 28): #Threshold for when the LEDs indicate a hot temperature
        hotLED()
        
    if(temp <= 22): #Threshold for when the LEDs indicate a cold temperature
        coldLED()
        
    if(temp > 22 and temp < 28): #Threshold for when the LEDs indicate a neutral temperature
        neutralLED()

    sleep(1)

オリジナルのページ

https://docs.arduino.cc/micropython/micropython-course/projects/temperature-display/

最終更新日

April 14, 2024

inserted by FC2 system