40pin IO开发
实验02——GPIO 输入
硬件连接
将按键电路与IO37连接(可使用杜邦线代替按键)
软件运行
进入用户主目录,运行
cd usersudo python3 ./GPIO_input.py
终端如图所示:

此时可以发现按下按键时终端输出低电平,松开按键后终端输出高电平。
#!/usr/bin/env python3
import sys
import signal
import Hobot.GPIO as GPIO
import time
def signal_handler(signal, frame):
sys.exit(0)
# 定义使用的GPIO通道为37
input_pin = 37 # BOARD 编码 37
GPIO.setwarnings(False)
def main():
prev_value = None
# 设置管脚编码模式为硬件编号 BOARD
GPIO.setmode(GPIO.BOARD)
# 设置为输入模式
GPIO.setup(input_pin, GPIO.IN)
print("Starting demo now! Press CTRL+C to exit")
try:
while True:
# 读取管脚电平
value = GPIO.input(input_pin)
if value != prev_value:
if value == GPIO.HIGH:
value_str = "HIGH"
else:
value_str = "LOW"
print("Value read from pin {} : {}".format(input_pin, value_str))
prev_value = value
time.sleep(1)
finally:
GPIO.cleanup()
if __name__=='__main__':
signal.signal(signal.SIGINT, signal_handler)
main()