From 9d92def44dc84a0fd125850c81ec99aecee2b899 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Tue, 07 Oct 2025 01:25:58 +0800 Subject: [PATCH] 楼道声光控灯项目程序 --- Core/Src/main.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index e049e2f..dec60e8 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -39,7 +39,8 @@ /* Private macro -------------------------------------------------------------*/ /* USER CODE BEGIN PM */ - +#define THRESHOLD_LUX 100 +#define THRESHOLD_NOISY 1000 /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ @@ -91,23 +92,27 @@ MX_USART1_UART_Init(); MX_ADC1_Init(); /* USER CODE BEGIN 2 */ - init_relay(); - init_led(); - - /* Turn on relay after 1 second */ HAL_Delay(1000); - turn_relay(Relay1, ON); + printf("Auto light program start.\r\n"); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { + lux = noisy = 0; adc_sample_lux_noisy(&lux, &noisy); - printf("Lux:%lu Noisy:%lu\r\n", lux, noisy); + if( lux<=THRESHOLD_LUX && noisy>= THRESHOLD_NOISY ) + { + printf("Lux:%lu Noisy:%lu, turn light on\r\n", lux, noisy); + turn_relay(Relay1, ON); + HAL_Delay(5000); + printf("turn light off now\r\n"); + turn_relay(Relay1, OFF); + } - HAL_Delay(5000); + HAL_Delay(10); /* USER CODE END WHILE */ -- Gitblit v1.9.1