ESP32 MicroPython 蜂鸣器及传感器的使用⑦

ESP32 MicroPython 蜂鸣器及传感器的使用⑦

    • 1、蜂鸣器奏乐
    • 2、实验目的
    • 3、实验内容
    • 5、实验结果
    • 6、小车传感器应用
    • 7、实验目的
    • 8、实验内容
    • 9、参考代码
    • 10、实验结果

1、蜂鸣器奏乐

我们小车底板配置有蜂鸣器,下面我们来学习如何去利用蜂鸣器演奏乐曲

2、实验目的

学习使用使用定义函数关键字def,调用另一函数内的“使用方法”,6.3章节myCar.buzzer(freq)

3、实验内容

根据《两只老虎》简谱和myCar.buzzer(freq)函数
ESP32 MicroPython 蜂鸣器及传感器的使用⑦_第1张图片
参考代码

from machine import UART
import time
import car

uart1 = UART(1,115200,rx=18,tx=17) #构建小车控制串口
myCar=car.SERIAL_CAR(uart1)   #构建小车控制对象
time.sleep(1)                 #延时1s,等待模块稳定

def JP():#定义函数JP(),方便统一修改时间间隔
    time.sleep_ms(450)
    
def dao():#定义函数dao(),音符dao
    myCar.buzzer(1046)
    JP()
def re():#定义函数re(),音符re
    myCar.buzzer(1174)
    JP()
def mi():#定义函数mi(),音符mi
    myCar.buzzer(1318)
    JP()
def fa():#定义函数fa(),音符fa
    myCar.buzzer(1396)
    JP()
def sao():#定义函数sao(),音符sao
    myCar.buzzer(1568)
    JP()
def la():#定义函数la(),音符la
    myCar.buzzer(1760)
    JP()
def xi():#定义函数xi(),音符xi
    myCar.buzzer(1974)
    JP()

while 1:#根据音乐简谱依次罗列出音符
    dao()
    re()
    mi()
    dao()
    
    dao()
    re()
    mi()
    dao()
    
    mi()
    fa()
    sao()
    time.sleep_ms(500)
    mi()
    fa()
    sao()
    time.sleep_ms(500)
    
    sao()
    la()
    dao()
    fa()
    mi()
    dao()
    
    sao()
    la()
    dao()
    fa()
    mi()
    dao()
    
    dao()
    sao()
    dao()
    time.sleep_ms(500)
    dao()
    sao()
    dao()
    
    myCar.buzzer(0)
    time.sleep_ms(4000)

5、实验结果

保存好参考代码后,执行运行程序可以听到蜂鸣器演奏《两只老虎》的乐谱。

6、小车传感器应用

我们小车顶板配置有温湿度、空气质量、火焰、光敏传感器,下面我们来学习如何去读取他们,方便我们后面做应用时方便使用。

7、实验目的

学习使用外部传感器数据

8、实验内容

读取小车顶板温湿度、空气质量、红外遥控解码、光照强度、火焰传感器数据。并且在显示屏上显示出来。
实验中实验到的构造函数:
构造函数 说明

s=ex_sensor.sensor()	
创建/构造传感器对象,返回传感器控制对象

s.read_temp()
读取温度数据,返回温度放大10倍后的整数,最终结果除以10为真实温度,精度0.1摄氏度
s.read_hum()	
读取湿度数据,返回湿度放大10倍后的整数,最终结果除以10,单位为百分比,精度0.1%
s.read_aiq()	
读取空气质量,返回整数类型(0~1000),单位PPM
s.read_flam()	
读取火焰,越靠近火源值越大,反之越小,范围0~4095
s.read_ldr()	
读取光照,越亮值越大,反之越小,范围0~4095
s.read_ir()	
读取红外遥控解码,返回解码值

9、参考代码

参考代码文件可以在资料包文件夹“智能小车mpy例程\基础实验\12-顶板传感器实验-温湿度-空气质量”文件夹下的main.py 下面为完整代码内容:

import time               #导入时间控制模块
import ex_sensor          #导入外部传感器模块
from lcd import LCD20     #导入2.0寸LCD模块

###############################################################
#颜色值定义,(R,G,B) 0~255代表颜色值
red = (255,0,0)  #红色
green = (0,255,0) #绿色
blue = (0,0,255)  #蓝色
white = (255,255,255) #白色
back = (0,0,0)    #黑色
###############################################################
#构建显示屏对象,并返回对象句柄ld
ld=LCD20(dir=1) #创建LCD对象 dir 显示方向为竖屏,1、3竖屏,2、4横盘

ld.fill(back) # 整屏填充指定颜色

#LCD显示信息
ld.dText("顶板传感器实验",25,10,color=white,size=2)
ld.dText("温度:",25,50,color=green,size=2)
ld.dText("湿度:",25,90,color=green,size=2)
ld.dText("空气质量:",25,130,color=green,size=2)
ld.dText("光照度:",25,170,color=green,size=2)
ld.dText("火焰值:",25,210,color=green,size=2)
ld.dText("红外遥控:",25,250,color=green,size=2)

###############################################################
#定义读取传感器变量数据
tempf = 0.0      #温度数据
humf = 0.0       #湿度数据
irData = 0       #红外数据
aiqData = 0      #空气质量
ldrData = 0      #光照度
flamData = 0     #火焰
###############################################################
s = ex_sensor.sensor()            #构建传感器对象
while True:
    tempf = s.read_temp()         #读取温度
    humf = s.read_hum()           #读取温度
    irData = s.read_ir()          #读取红外遥控解码数据
    aiqData = s.read_aiq()        #读取空气质量数据
    ldrData = s.read_ldr()        #读取光照度数据
    flamData = s.read_flam()      #读取火焰数据
    
    #显示屏显示温度值
    ld.dText("{:.1f}".format(tempf/10)+" ℃",95,50,color=white,size=2)
    #显示湿度
    ld.dText("{:.1f}".format(humf)+" %",95,90,color=white,size=2)
    #显示红外遥控解码值
    ld.dText("{:3d}".format(irData),130,250,color=white,size=2)
    #显示空气质量
    ld.dText("{:4d}".format(aiqData)+"PPM",130,130,color=white,size=2) 
    #显示光照度值
    ld.dText("{:4d}".format(ldrData),120,170,color=white,size=2)
    #显示火焰值
    ld.dText("{:4d}".format(flamData),120,210,color=white,size=2)
            
    time.sleep_ms(100)  #延时等待100ms
    pass

10、实验结果

编写好代码,点击运行程序后,在显示屏显示了温度、湿度,我们向顶部传感器吹一口气可以看到温度和湿度都变化。使用红外遥控器对着小车按下任意按键,可以看到显示屏显示出解码出遥控值。
ESP32 MicroPython 蜂鸣器及传感器的使用⑦_第2张图片

相关代码及固件:
https://download.csdn.net/download/lu330274924/88549191

智能小车购买链接
技术支持抖音:易驱达Easy Drive Coming
淘宝官方商城:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-18887194911.15.135014bdaKI6mV&id=715385110550

你可能感兴趣的:(ESP32,python)