stm32c8t6利用语音识别与播报检测DHT11温湿度

将温度、湿度显示在OLED屏幕上,我们需要编写一些程序代码。下面是可能的代码示例: #include <</p> <p>.h> #include</p> <p>(D1); void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.display(); } void loop() { int chk =</p> <p>.read(</p> <p>_PIN); if (chk ==</p> <p>_OK) { display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(10,10); display.print("Temperature: "); display.print(</p> <p>.temperature); display.print("C"); display.setCursor(10,20); display.print("Humidity: "); display.print(</p> <p>.humidity); display.print("%"); display.display(); } delay(2000); } 在这个程序中,我们首先定义了OLED显示器的宽度和高度,然后初始化了显示器。在循环中,我们读取

传感器的温度和湿度值,将它们显示在显示器上。显示文本的位置可以调整,以适应您的OLED尺寸。我们还包括一个2秒的延迟,以避免在显示屏上刷新文本太快。 请注意,此代码示例使用了

和OLED库。库应该先下载并在代码中导入,否则编译时会出现错误。

主控板 2.

温度湿度传感器 3. OLED显示屏 4. 接线材料 在开始编写源代码之前,需要将上述材料进行连接。具体的连接方式如下:

的接线方式如下: 1. VCC接

板的5V电源端口 2. GND接

板的GND电源端口 3. DATA接

的GPIO口 OLED显示屏的接线方式如下: 1. VCC接

的5V电源端口 2. GND接

的GND电源端口 3. SCL接

的GPIO端口 4. SDA接

的GPIO端口 5. RES接

的GPIO端口 6. DC接

的GPIO端口 7. CS接

的GPIO端口 接线完成后,可以开始编写源代码。以下是参考代码,可以根据实际情况进行修改: #include “

f10x.h” #include “oled.h” #include “

.h” int main(void) { //初始化OLED显示屏 OLED_Init(); //初始化

传感器

_Init(); //定义变量,保存温度和湿度的值 int temperature, humidity; while(1) { //获取温度和湿度的值

_Read_Data(&temperature, &humidity); //将获取到的温度和湿度值进行显示 OLED_ShowNum(0, 0, temperature, 2, 16); OLED_ShowString(2 * 8, 0, “℃”, 16); OLED_ShowNum(0, 2 * 8, humidity, 2, 16); OLED_ShowString(2 * 8, 2 * 8, “%”, 16); //延时一段时间,避免数据频繁更新 delay_ms(2000); } } 在此代码中,首先进行OLED显示屏和

温湿度传感器的初始化。然后,定义保存温度和湿度值的变量。使用

[En]

Initialization of temperature and humidity sensor. Then, define the variables to hold the values of temperature and humidity. Use

_Read_Data函数获取温度和湿度的值,并且将获取到的温度和湿度值进行显示。最后,通过delay_ms函数延时一段时间,避免数据频繁更新导致屏幕闪烁。 需要注意的是,以上代码仅为参考,具体情况可能需要根据实际情况进行修改。例如,具体的GPIO口需要根据实际的连接情况进行选择。同时,需要根据实际需求自行调整显示内容的位置、大小等参数。

是一款高性能的32位

是一个数字湿度温度传感器,OLED是一种小型的有机发光显示器。将这三个设备结合起来,可以制作一个简单的

显示器。 以下是基于

和OLED的

显示源代码: 首先,我们需要引用必要的库头文件: #include “

f10x.h” #include “

.h” #include “oled.h” 然后,我们需要定义一些常量和变量来初始化设备和存储输出结果: #define

_DATA_PIN GPIO_Pin_0 #define

_DATA_PORT GPIOA #define OLED_WIDTH 128 #define OLED_HEIGHT 64 uint8_t humi_int, humi_deci, temp_int, temp_deci; char text[20]; 接下来,我们需要实现初始化函数来初始化

和OLED: void init() { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

_Init(

_DATA_PORT,

_DATA_PIN); OLED_Init(); } 然后,我们可以实现主函数,以读取

传感器并在OLED上显示结果: int main(void) { init(); while (1) { // 读取

if (

_Read_Pin(

_DATA_PORT,

_DATA_PIN) == 1) {

_Read_Data(&humi_int, &humi_deci, &temp_int, &temp_deci); } // 渲染

到屏幕 sprintf(text, “Temp: %d.%dC”, temp_int, temp_deci); OLED_Clear(); OLED_ShowString(0, 0, text, 1); sprintf(text, “Humi: %d.%d%%”, humi_int, humi_deci); OLED_ShowString(0, 20, text, 1); OLED_Refresh(); // 等待1s for (volatile int i = 0; i < 1000000; i++); } } 以上就是基于

和OLED的

显示代码。需要注意的一些细节是: – 在渲染文本字符串之前,我们需要先清除OLED屏幕上的所有内容。 – 在渲染文本字符串之后,我们需要调用OLED_Refresh()函数才能将结果渲染到实际屏幕上。 – 我们使用sprintf()函数来将

转换为文本字符串。此函数用于将格式化的字符串输出到字符数组。

[En]

Convert to a text string. This function outputs formatted strings to an array of characters.

Original: https://blog.csdn.net/weixin_44069765/article/details/111239672
Author: i土豆
Title: stm32c8t6利用语音识别与播报检测DHT11温湿度

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/525597/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球