MicroPython ESP32 开发
1.ESP32刷入MicroPython以及连接WiFi
2.ESP32 GPIO
3.ESP32 GPIO 的高低电平与PWM(本文)
4.ESP32 控制继电器与读取DHT22温湿度数据
5.socket 通信
更新中……
ESP32 GPIO 的高低电平与PWM
前言
本章主要介绍ESP32 GPIO 引脚输出高低电平和pwm的使用方法
提示:以下是本篇文章正文内容,下面案例可供参考
一、ESP32 GPIO的高低电平
需要导入 machine
中的 Pin
功能
代码如下(示例):
# 演示GPIO的基本输出功能 高低电平
>>> import machine
# GPIO4
>>> p4 = machine.Pin(4,machine.Pin.OUT) ①
>>> p4.value(1) # 也可以不用直接设置引脚的值,用 p4.on() 代替
>>> p4.value() # 要知道他当前这个口是输出高电平还是低电平
1
>>> p4.value(0) # 可以用 p4.off()
>>> p4.value()
0
① machine.Pin(gpio引脚,[输出模式还是输入模式],[拉动模式])
二、GPIO的PWM输出
PWM:脉冲宽度调制 (Pulse width modulation)
我们需要先了解两个参数的概念:
1: freq = 频率(HZ)
2: duty = 占空比 ,在miroptyhon里面他是0-1023 ; ESP32 GPIO输出电压范围是0-3.3V
,如何设置duty = 511
,将会输出1.65V左右的电压
代码如下(示例):
>>> import machine
>>> p4 = machine.Pin(4,machine.Pin.OUT)
>>> pwm4 = machine.PWM(p4)
>>> # 这时已经在输出了,freq 默认是500hz,duty默认是512
>>> pwm4.freq(38000)
>>> pwm4.duty(100)
总结
PWM多数用在控制直流电机的转速