03. ESP32 Micropython编程(Thonny)GPIO输入输出

GPIO输入输出

一、输入输出GPIO口定义及使用

1. 硬件

  • 输入:按键
  • 输出:led

2.软件即程序

①输入输出定义

import machine
led = machine.Pin(2,machine.Pin.OUT)  #定义led为输出
sw = machine.Pin(0,machine.Pin.IN)    #定义sw为输入

②输出led使用

led.on()
led.off()
led.value(1)
led.value(0)
led.value(True)
led.value(False)

③输入sw使用

if(sw.value() == 0):  #按键按下
    led.on()       
else:                 #按键松开
    led.off()

二、LED闪烁程序

import machine
import time

led = machine.Pin(2,machine.Pin.OUT)

while True:
    led.on()
    time.sleep(0.5)
    led.off()
    time.sleep(0.5)

三、LED闪烁函数定义

import machine
import time

led = machine.Pin(2,machine.Pin.OUT)

#参数1 num 闪烁次数
#参数2,3 t_on/t_off led亮灭时间
#参数4 msg 上报字符信息
def blink_led (num, t_on, t_off, msg):  
    counter = 0
    while (counter < num):
        led.on()
        time.sleep(t_on)
        led.off()
        time.sleep(t_off)
        counter += 1
    print(msg)

然后可以在shell终端 输入blink_led (10, 0.2, 0.8, "Blinking Done") 观看结果
或者 可以在主编辑器里输入 while True: 之类的

四、按键控制led亮灭

import machine
led = machine.Pin(2,machine.Pin.OUT)  #定义led为输出
sw = machine.Pin(0,machine.Pin.IN)    #定义sw为输入
while True:
    if(sw.value() == 0):  #按键按下
        led.on()       
    else:                 #按键松开
        led.off()

此处声明 GPIO0 引脚为BOOT引脚

boot: 下载程序时候使用

  1. 下载和启动时需要为低电平(按键按下)
    (下载程序时候需要和en/rst引脚配合使用,程序正常运行过程中 可以当 作按键输入使用)
  2. 正常工作时候为高电平(按键松开)
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>