树莓派物联网基础
初学物联网套件,三个模块搭配做了一个触摸开关后灯亮,检测人体是否移动,移动保持灯亮,检测不到人体移动延时5s关灯。
ps:(移动模块没搞动,只能检测人体移动 人体在模块下方停止不动就检测不到了)
代码解读
import RPi.GPIO as GPIO # 导入GPIO包
import time # 导入时间包
GPIO.setwarnings(False) # 禁用报错
GPIO.setmode(GPIO.BCM) # 设置GPIO编码方式BCM
# 定义引脚
touch_pin = 26 # 触摸模块引脚
pir_pin = 20 # 人体移动模块
led_pin = 21 # Led灯模块
# 设置输入输出引脚
GPIO.setup(touch_pin, GPIO.IN) # 设置触摸模块为输入模式
GPIO.setup(pir_pin, GPIO.IN) # 设置人体移动为输入模式
GPIO.setup(led_pin, GPIO.OUT) # 设置Led模块为输出模式
# 初始状态关闭LED灯
GPIO.output(led_pin, GPIO.HIGH) # 我的Led灯 输入高点平为关灯
try:
while True:
# 检测触摸信号
if GPIO.input(touch_pin): # 如果检测到触摸模块触摸信号
print("# 检测到触摸信号") # 输出
GPIO.output(led_pin, GPIO.LOW) # led 输出低电平 灯亮起
time.sleep(3) # 延时三秒 进入检测人体移动信号
# 检测人体移动信号
while True:
if GPIO.input(pir_pin): # 如果检测到人体模块移动信号
print("# 检测到人体移动信号")
GPIO.output(led_pin, GPIO.LOW) # led 输出低电平 灯保持亮起状态
time.sleep(3)
while True:
if not GPIO.input(pir_pin): # 检测人体移动信号是否仍然存在
print("# 检测到人体移动信号仍然存在")
GPIO.output(led_pin, GPIO.LOW) # led 输出低电平 灯保持亮起状态
time.sleep(5)
break
else:
print("# 检测到人体移动信号不存在")
time.sleep(3)
GPIO.output(led_pin, GPIO.HIGH) # led 输出高电平 灯关闭
break
time.sleep(0.1)
except KeyboardInterrupt:
# 通过键盘中断退出程序
pass
finally:
# 清理GPIO设置
GPIO.cleanup()
老师写的代码! 呜呜呜,我写了27行,老师11行就完成了我的功能
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
# 设置GPIO编码方式
GPIO.setmode(GPIO.BCM)
# 定义引脚
touch_pin = 26
pir_pin = 20
led_pin = 21
# 设置输入输出引脚
GPIO.setup(touch_pin, GPIO.IN)
GPIO.setup(pir_pin, GPIO.IN)
GPIO.setup(led_pin, GPIO.OUT)
# 初始状态关闭LED灯
GPIO.output(led_pin, GPIO.HIGH)
try:
while True:
if GPIO.input(touch_pin) == 1:
GPIO.output(led_pin,GPIO.LOW)
print("检测到触摸,灯亮三秒进入下一步检测!")
time.sleep(3)
while GPIO.input(pir_pin) == 1:
print("检测到人体移动,人还在不执行关灯!")
time.sleep(3)
print("未检测到人体移动,3s后关灯!")
time.sleep(3)
GPIO.output(led_pin,GPIO.HIGH)
except KeyboardInterrupt:
# 通过键盘中断退出程序
pass
finally:
# 清理GPIO设置
GPIO.cleanup()
接线方式
材料 | 引脚(BCM) | 正负极 |
---|---|---|
Touch | 26 | 正极3.3v/负极GND |
LED | 21 | 正极5v/负极同上 |
人体移动 | 20 | 正极5v/极同上 |
本文作者:LiuXiaoBai
文章标题:树莓派Touch+人体移动+Led
本文地址:https://www.ounoe.com/archives/374
版权说明:若无注明,本文皆刘小白的小窝原创,转载请保留文章出处。
文章标题:树莓派Touch+人体移动+Led
本文地址:https://www.ounoe.com/archives/374
版权说明:若无注明,本文皆刘小白的小窝原创,转载请保留文章出处。