• 方案介紹
    • 一、項(xiàng)目背景
    • 二、設(shè)計(jì)目標(biāo)
    • 三、系統(tǒng)架構(gòu)
    • 四、主要功能實(shí)現(xiàn)
    • 五、代碼實(shí)現(xiàn)
    • 六、總結(jié)
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于STM32設(shè)計(jì)的智能臺燈

04/22 08:23
785
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

更多詳細(xì)資料請聯(lián)系.docx

共1個文件

一、項(xiàng)目背景

智能家居設(shè)備在現(xiàn)代生活中起著越來越重要的作用。智能臺燈作為其中的一種,具有調(diào)節(jié)光照亮度、色溫等功能,更加符合人們對于光照環(huán)境的個性化需求。當(dāng)前設(shè)計(jì)一款基于STM32微控制器設(shè)計(jì)的智能臺燈,該臺燈具備可調(diào)節(jié)亮度和色溫的特點(diǎn),為用戶提供了更加舒適的使用體驗(yàn)。

image-20230707095753939

二、設(shè)計(jì)目標(biāo)

【1】實(shí)現(xiàn)燈光的亮度和色溫的可調(diào)節(jié)功能;

【2】添加人體感應(yīng)模塊,實(shí)現(xiàn)自動開關(guān)燈;

【3】實(shí)現(xiàn)手機(jī)遠(yuǎn)程控制燈光的功能;

【4】設(shè)計(jì)簡潔、穩(wěn)定的硬件電路和用戶友好的操作界面。

三、系統(tǒng)架構(gòu)

3.1 硬件部分

(1) 主控芯片:選用STM32系列微控制器,具有豐富的外設(shè)資源和強(qiáng)大的處理能力;

(2) 電源部分:采用穩(wěn)壓電源模塊,提供適宜電壓的供電;

(3) 光源部分:選擇高亮度LED作為光源,配備透明燈罩,提供均勻柔和的光照;

(4) 人體感應(yīng)模塊:采用紅外傳感器,檢測到人體活動時自動開啟燈光;

(5) 無線通信模塊:使用WiFi或藍(lán)牙模塊,實(shí)現(xiàn)手機(jī)遠(yuǎn)程控制。

3.2 軟件部分

(1) 嵌入式軟件:使用Keil MDK作為開發(fā)環(huán)境,編寫嵌入式C語言程序,實(shí)現(xiàn)燈光亮度和色溫的調(diào)節(jié)、人體感應(yīng)控制等功能;

(2) 手機(jī)控制端:設(shè)計(jì)并開發(fā)手機(jī)App,通過與智能臺燈連接,實(shí)現(xiàn)遠(yuǎn)程控制燈光的功能。

3.3 硬件選型說明

【1】主控芯片:

采用STM32F103RCT6

【2】光源部分:

(1) 高亮度LED:選擇高亮度、節(jié)能的LED作為光源,推薦選擇LED燈珠。

(2) 透明燈罩:選擇高透光性的材料制作燈罩,保證光照均勻柔和。

【3】人體感應(yīng)模塊:

(1) 紅外傳感器:選擇靈敏度較高的紅外傳感器,能夠快速、準(zhǔn)確地檢測到人體活動。

(2) 光敏電阻:用于在光線不足時自動開啟臺燈,確保人體感應(yīng)功能的正常工作。

【4】無線通信模塊

選擇HC05藍(lán)牙模塊,以便與手機(jī)設(shè)備進(jìn)行通信。

3.4 硬件設(shè)計(jì)

【1】主控芯片選擇:STM32F103RCT6,具有較高的性能和豐富的外設(shè)資源,適合作為智能臺燈的核心處理器;

【2】人體紅外傳感器:用于檢測周圍是否有人靠近;

【3】光敏傳感器:用于檢測環(huán)境光的強(qiáng)度;

【4】LED燈:作為臺燈的光源,通過PWM控制其亮度;

【5】HC05藍(lán)牙模塊:用于與手機(jī)APP通信,接收控制命令并發(fā)送狀態(tài)信息。

3.5 軟件設(shè)計(jì)

【1】GPIO配置:配置主控芯片的GPIO引腳,包括人體紅外傳感器輸入引腳、光敏傳感器輸入引腳和LED燈控制引腳等;

【2】外部中斷配置:通過外部中斷來監(jiān)聽人體紅外感應(yīng)引腳的狀態(tài)變化,在觸發(fā)時進(jìn)行相應(yīng)操作;

【3】PWM配置:使用PWM控制LED燈的亮度,根據(jù)光敏傳感器檢測到的環(huán)境光強(qiáng)度動態(tài)調(diào)整PWM輸出占空比;

【4】藍(lán)牙通信:通過UART配置HC05藍(lán)牙模塊,與手機(jī)APP建立藍(lán)牙連接,接收控制命令并發(fā)送臺燈狀態(tài)信息;

【5】主循環(huán)邏輯:在主循環(huán)中實(shí)時檢測光敏傳感器的數(shù)據(jù)以及人體紅外感應(yīng)引腳的狀態(tài),并根據(jù)相應(yīng)條件進(jìn)行臺燈的開啟和關(guān)閉操作;同時,檢測藍(lán)牙模塊接收到的控制命令,并根據(jù)命令內(nèi)容進(jìn)行相應(yīng)操作。

四、主要功能實(shí)現(xiàn)

【1】光照調(diào)節(jié)功能: 通過按鍵或旋鈕操作,調(diào)節(jié)臺燈光照的亮度和色溫。亮度調(diào)節(jié)通過PWM控制LED的亮度,色溫調(diào)節(jié)通過調(diào)節(jié)白光LED和彩光LED的相對亮度來實(shí)現(xiàn)。

【2】人體感應(yīng)控制: 采用紅外傳感器,檢測到人體活動后自動開啟燈光,一段時間內(nèi)沒有人活動則自動關(guān)閉。

【3】遠(yuǎn)程控制功能: 手機(jī)App與智能臺燈通過藍(lán)牙通信,用戶可以通過App控制燈光的開關(guān)、亮度和色溫,實(shí)現(xiàn)遠(yuǎn)程控制功能。

五、代碼實(shí)現(xiàn)

5.1 PWM波形控制LED燈亮度

include "stm32f10x.h"

void PWM_Configuration(void);
void Delay(__IO uint32_t nCount);

int main(void) {
  PWM_Configuration();

  while (1) {
    // 逐漸增加LED亮度
    for (uint16_t i = 0; i <= 1000; i++) {
      TIM_SetCompare1(TIM2, i);  // 設(shè)置PWM占空比,范圍:0-1000
      Delay(5000);               // 延時一段時間
    }

    // 逐漸減小LED亮度
    for (uint16_t i = 1000; i > 0; i--) {
      TIM_SetCompare1(TIM2, i);
      Delay(5000);
    }
  }
}

void PWM_Configuration(void) {
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

  // 配置GPIO口
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  // 配置TIM2為PWM模式
  TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  TIM_OCInitTypeDef TIM_OCInitStructure;

  TIM_TimeBaseStructure.TIM_Period = 1000;                          // 設(shè)置周期
  TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1;                     // 設(shè)置預(yù)分頻
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;                  // PWM模式1
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = 0;                                 // 初始占空比為0
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  TIM_OC1Init(TIM2, &TIM_OCInitStructure);
  TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable);

  TIM_Cmd(TIM2, ENABLE);                                            // 使能TIM2
}

void Delay(__IO uint32_t nCount) {
  for (; nCount != 0; nCount--);
}

代碼中使用了STM32的定時器TIM2和GPIOA的第0號引腳(PA0)來控制LED燈的亮度。在主函數(shù)中,通過循環(huán)逐漸增加和減小PWM的占空比,從而改變LED燈的亮度。

5.2 智能臺燈邏輯代碼

// 引入所需的庫
#include <stdio.h>
#include <stdbool.h>

// 定義引腳和設(shè)備地址
#define PIR_SENSOR_PIN 2
#define LIGHT_SENSOR_PIN 3
#define LED_PIN 4
#define HC05_BAUD_RATE 9600

// 聲明全局變量
bool isPersonDetected = false;
int lightIntensity = 0;

// 初始化函數(shù)
void setup() {
  // 配置引腳模式
  pinMode(PIR_SENSOR_PIN, INPUT);
  pinMode(LIGHT_SENSOR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);

  // 初始化串口通信
  Serial.begin(HC05_BAUD_RATE);
}

// 主循環(huán)函數(shù)
void loop() {
  // 檢測人體紅外感應(yīng)
  if (digitalRead(PIR_SENSOR_PIN) == HIGH) {
    isPersonDetected = true;
  } else {
    isPersonDetected = false;
  }

  // 檢測光敏傳感器
  lightIntensity = analogRead(LIGHT_SENSOR_PIN);

  // 根據(jù)條件控制臺燈
  if (isPersonDetected && lightIntensity < 500) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }

  // 處理藍(lán)牙通信
  if (Serial.available()) {
    char command = Serial.read();
    handleBluetoothCommand(command);
  }
}

// 處理藍(lán)牙命令函數(shù)
void handleBluetoothCommand(char command) {
  // 處理從手機(jī)APP發(fā)送來的命令,例如控制臺燈亮度
 
}

// 主函數(shù)
int main() {
  setup();  // 初始化
  while (1) {
    loop();  // 主循環(huán)
  }
  return 0;
}

六、總結(jié)

當(dāng)前文章介紹了基于STM32F103RCT6主控芯片的智能臺燈的設(shè)計(jì)過程和實(shí)現(xiàn)原理。通過集成人體紅外感應(yīng)、光敏檢測和與手機(jī)APP連接的功能,實(shí)現(xiàn)了臺燈的自動開關(guān)和亮度調(diào)節(jié)等智能化操作。通過手機(jī)APP與藍(lán)牙模塊的連接,用戶可以遠(yuǎn)程控制臺燈的開關(guān)、亮度和模式等,提供了更加方便和智能化的使用體驗(yàn)。

  • 更多詳細(xì)資料請聯(lián)系.docx
    下載
意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦