物联网应用开发实战-基于MicroPython 课件 第4章 ESP32S3 MicroPython外设原理与应用_第1页
物联网应用开发实战-基于MicroPython 课件 第4章 ESP32S3 MicroPython外设原理与应用_第2页
物联网应用开发实战-基于MicroPython 课件 第4章 ESP32S3 MicroPython外设原理与应用_第3页
物联网应用开发实战-基于MicroPython 课件 第4章 ESP32S3 MicroPython外设原理与应用_第4页
物联网应用开发实战-基于MicroPython 课件 第4章 ESP32S3 MicroPython外设原理与应用_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32S3扩展板简介目录

二、扩展板简介

三、原理图简介

一、核心板简介一、核心板简介ESP32S3R8N8开发板二、扩展板简介ESP32模块三、原理图简介立创EDAPROLED、按键扩展模块TFT、SD、音频谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32MicropythonI/O的使用目录

一、什么是I/O

二、点亮第一LED

三、流水灯

四、按键一、什么是I/OInput/Output输入/输出接口输入对应按键输出对应LEDLED硬件电路低电平点亮GPIO02,GPIO03,GPIO04和GPIO05machine模块下的Pin类on亮灯?off

亮灯?亮灯时Value应该设置为0函数函数说明pin=machine.Pin(id,mode=-1,pull=-1,*,value,drive,alt)初始化引脚。id对应引脚编号:mode:Pin.IN-引脚配置为输入;Pin.OUT-引脚配置为(正常)输出。pull指定引脚是否要连接(弱)上下拉电阻。None没有上拉或下拉电阻;Pin.PULL_UP上拉电阻使能;Pin.PULL_DOWN下拉电阻启用。value仅对Pin.OUT和Pin.OPEN_DRAIN模式有效,如果给定,则指定初始输出引脚值,否则引脚外设的状态保持不变。pin.on()引脚设置为“1”输出电平。pin.off()引脚设置为“0”输出电平pin.value(x)设置和获取引脚的值,点亮LED灯在上述示例中,使用led.off()将LED点亮,而使用led.on()将LED熄灭,这与人们的日常认知相反Signal类Signal类是Pin类的扩展,为Pin类添加了逻辑反转功能函数函数说明signal=machine.Signal(pin_arguments...,*,invert=False)创建一个信号对象。pin_obj是现有的Pin对象。pin_arguments是可以传递给Pin构造函数的相同参数。invert如果为真,信号将被反转(低电平有效)。signal.on()激活信号。signal.off()停用信号。signal.value(x)设置和获取引脚的值。用Signal点亮LED三、流水灯有若干个灯,依次点亮熄灭,周而复始什么是流水灯?需要一个函数?延迟函数延时函数time模块import

time

time.sleep(1)#睡眠1秒

time.sleep_ms(500)#睡眠500毫秒

time.sleep_us(10)#睡眠10微妙

start

=

time.ticks_ms()#获取毫秒计时器开始值

delta

=

time.ticks_diff(time.ticks_ms(),start)

#计算从开始到当前时间的差值

代码50个灯怎么办?代码能否改进?改进的代码使用列表、元组四、按键硬件电路外部上拉电路GPIO47、GPIO38、GPIO39和GPIO40按键不按时为高电平按键按下时为低电平Pin按键去抖动按键被按下时候可能会发生抖动,抖动如下图,有可能造成误判,需使用延时函数来进行消抖常用的方法就是当检测按键值为0时,延时一段时间,大约10~20ms,再判断按键引脚值是否为0,是的话说明按键被按下。按键读取程序谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32外部中断什么是外部中断代码是一直在检测IO输入口的变化,效率不高比如某个按键,可能1天才按下一次去执行相关功能,浪费大量MCU资源来检测按键的情况。外部中断接电话中断的实现触发信号硬件电路图GPIO47、GPIO38、GPIO39和GPIO40GPIO47、GPIO38、GPIO39和GPIO40例程代码谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32定时器什么是定时器7点起床8点上课11点30下课…..到了具体时间就会执行某件事情以时间为周期执行任务定时器虚拟定时器、硬件定时器虚拟定时器编号为-1,硬件定时器编号从0开始0~3示例代码例一例二例子代码例三谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32ADC什么是ADC模拟量到数字量的转换将模拟信号转化成数字信号由于单片机只能识别二进制数字,所以外界模拟信号需通过ADC转换成二进制数字信号常见的应用就是将变化的电压转成数字信号0x5EADC硬件电路ADC0GPIO01ADC对象函数函数说明adc=machine.ADC(pin,*,atten)返回指定引脚的ADC对象。需传入指定引脚的Pin对象。请使用atten关键字参数应用输入衰减。atten参数:ADC.ATTN_0DB:无衰减(100mV-950mV);ADC.ATTN_2_5DB:2.5dB衰减(100mV-1250mV);ADC.ATTN_6DB:6dB衰减(150mV-1750mV);ADC.ATTN_11DB:11dB衰减(150mV-2450mV)。adc.read()读取对应引脚上的ADC值。adc.atten(atten)修改参考电压。具体参见ADC构造函数。adc.width(bits)设置ADC测量结果的分辨率,默认为12位(0-4095)。bits参数:ADC.WIDTH_9BIT=9;ADC.WIDTH_10BIT=10;ADC.WIDTH_11BIT=11;ADC.WIDTH_12BIT=12。adc.deinit()关闭ADC例子代码谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32PWM什么是PWM通过调节数字信号的脉冲宽度来控制平均电压占空比:调整信号在一个周期内高电平(ON)与低电平(OFF)的时间比例频率(Frequency):脉冲重复的次数/秒(Hz),影响信号的平滑度。例如:1kHz表示每秒1000个脉冲通过PWM对LED进行调光PWM可以通过ESP32所有GPIO引脚输出。所有通道都可以有1个特定的频率,从1到40M之间(单位是Hz)。GPIO02,GPIO03,GPIO04和GPIO05PWM类函数函数说明pwm=machine.PWM(dest,freq,duty,duty_u16,duty_ns)构造并返回一个新的PWM对象。dest是输出PWM的实体,通常是machine.Pin对象。freq是一个整数,用于设置PWM周期的频率(以Hz为单位)duty占空比,范围是0–1023duty_u16占空比,范围是0-65535,2的16次方duty_ns以纳秒为单位设置脉冲宽度,范围是0–50000pwm.init(freq,duty,duty_u16,duty_ns)修改PWM对象的设置。具体参见构造函数pwm.deinit()关闭PWMpwm.freq(value)获取或设置PWM输出的当前频率pwm.duty(value)获取或设置PWM输出的当前占空比,范围是0–1023PWM例子程序谢谢!携手共创美好未来!物联网传感技术应用实践浙大城市学院信息与电气工程学院ESP32RTC什么是RTCRealTimeClockRTC用于保持时间和日期,一般集成在集成电路中。它可以在系统掉电或重启时,通过备用电池(如纽扣电池)继续运行,从而保持准确的时间信息。RTC类函数函数说明rtc=machine.RTC(id=0,(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]))创建一个RTC对象。参数是日期,包括年、月、日、时、分、秒、毫秒等。rtc.init(year,month,day[,hour[,minute[,second[,microsecond

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论