ISKBoard example project
guowenxue
7 days ago 9d92def44dc84a0fd125850c81ec99aecee2b899
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 */