MR开发板

在这里插入图片描述

接线说明

噪声传感器模块

在这里插入图片描述

噪声传感器模块 开发板
TXD A3
RXD A2
5v+ 5v
GND GND

1.54寸液晶屏st7789 spi

在这里插入图片描述

屏幕 定义 开发板
GND 电源地 GND
VCC 3.3V 3.3V
SCL SPI时钟线(SCK) A5
SDA SPI数据线(MOSI) A7
RES 显示屏复位管脚 C4
DC SPI数据/命令选择角 C5
CS SPI数据片选,低电平有效 B11

JQ8900-16P 语音模块

在这里插入图片描述

语音模块JQ8900 开发板
busy A4
IO3 A0
5v 5v
GND GND
喇叭红线 spk+
喇叭黑线 spk-

示例程序:噪音警报

# 噪声模块+语音播报+屏
#
#
import time
from pyb import SPI,Pin,UART,delay,LED
from ztst7789class import ST7789
from utime import sleep_us

import tt32

#---------TFT屏 pin 定义
TFT_RST_PIN = Pin('C4')
TFT_LED_PIN = Pin('B10')
TFT_DC_PIN = Pin('C5')
TFT_CS_PIN = Pin('B11')
TFT_CLK_PIN = Pin('A5')
TFT_MISO_PIN = Pin('A6')
TFT_MOSI_PIN = Pin('A7')

busy = Pin('A4',Pin.IN)
#busy.value(0)
do= Pin('A0',Pin.OUT_PP)
#do(1)

bl = Pin(TFT_LED_PIN, Pin.OUT)
LCD = None
u2 = UART(2, baudrate=9600)

barray = bytearray([0x01,0x03,0x00,0x00,0x00, 0x01 ,0x84 ,0x0A])  #问询帧

def lcdinit():   #初始化函数
	global LCD
	bl.value(1)  #屏幕背光打开
	
	spi = SPI(1,SPI.MASTER,baudrate=7800000,polarity=0,phase=0)
	LCD = ST7789(spi, cs=Pin(TFT_CS_PIN), dc=Pin(TFT_DC_PIN), rst=TFT_RST_PIN)
	
lcdinit()    #初始化
def	 color565(r, g, b):  #255 255 255
	return (r & 0xf8) << 8 | (g & 0xfc) << 3 | b >> 3

LCD.erase()
while True:
	LCD.set_font(tt32)
	do.value(1)
	u2.write(barray)
	delay(1000) 
	if(u2.any()):
		u2by=u2.read()        # 返回的是答应帧的内容
		aa=u2by
		fenbei=int.from_bytes(aa[3:5],'big') #高位在前  转换
		fenbei=fenbei/10     # 转换成10进制
		print("dB",fenbei)   # 工具看的 可以注销
		LCD.chars(str(fenbei)+"  dB  ",70,100)

		if fenbei > 65:     #噪音大于65触发语音播报(触发值可以改,请根据实际情况修改)
			LED(1).on()
			do(1)
			delay(100)
			do(0)
			delay(300)
			while busy.value()==1:
				delay(200)
			do(1)
			fenbei=0
			delay(500)
		else:
			LED(1).off()

效果

当噪声值大于50,亮红灯,且播放语音
在这里插入图片描述

当噪声值小于50,红灯不亮,不播放语音
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐