首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >覆盆子-pi- DHT11 +继电器触发器

覆盆子-pi- DHT11 +继电器触发器
EN

Stack Overflow用户
提问于 2016-07-16 22:01:16
回答 1查看 1.7K关注 0票数 0

当涉及到Python和Raspberry Pi单元时,我是一个完整的菜鸟,但我正在弄清楚它。

我正在编写一个脚本来监控我正在建造的温室的温度。当温度达到28C时,我想让它启动我的继电器,它会打开风扇。在摄氏26度时,继电器应关闭。

构建信息: Raspberry Pi 3 dht11温度- GPIO引脚20单中继板- GPIO引脚21

代码语言:javascript
运行
复制
import RPi.GPIO as GPIO
import dht11   
import time
import datetime
from time import sleep

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

# Set relay pins as output
GPIO.setup(21, GPIO.OUT)

# read data using pin 20
instance = dht11.DHT11(pin=20)

while True:
result = instance.read()
tempHI = 28
tempLOW = 26
if result >= tempHI 
        GPIO.output(21, GPIO.HIGH) #turn GPIO pin 21 on
ifels result < tempLOW
        GPIO.output(21, GPIO.LOW) #Turn GPIO pin 21 off
time.sleep(1)

我现在遇到的错误是:

代码语言:javascript
运行
复制
python ghouse.py
File "ghouse.py", line 19
result = instance.read()
^
IndentationError: expected an indented block
EN

回答 1

Stack Overflow用户

发布于 2016-07-16 22:18:44

对于当前所面临的错误,请记住Python在缩进上严重依赖于。这与使用大括号排列语句的其他语言(如C++和Java )不同。

若要修复代码中的缩进,请参见以下内容:

代码语言:javascript
运行
复制
import RPi.GPIO as GPIO
import dht11   
import time
import datetime
from time import sleep

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

# Set relay pins as output
GPIO.setup(21, GPIO.OUT)

# read data using pin 20
instance = dht11.DHT11(pin=20)

while True:
    result = instance.read()
    tempHI = 28
    tempLOW = 26
    if result >= tempHI:
        GPIO.output(21, GPIO.HIGH) #turn GPIO pin 21 on
    ifels result < tempLOW:
        GPIO.output(21, GPIO.LOW) #Turn GPIO pin 21 off
time.sleep(1)

在任何ifelseelifforwhile语句中,您想要执行的代码必须缩进语句中才能运行,否则将得到当前正在看到的错误。

您的代码中还有一些错误,但我将让您解决其余的错误!欢迎使用Python编程并使用Raspberry Pi。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38416049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档