91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于stm32f407zgt6的夜間燈光照明系統設計

冬至子 ? 來源:Anakin ? 作者:Anakin ? 2023-08-01 15:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

項目開發背景

隨著全球人口老齡化趨勢日益明顯,老年人的生活需求成為社會關注的焦點之一。在晚年,老年人在夜間的照明需求更為重要,因為他們在夜晚的活動較為頻繁,可能需要多次起夜、進出臥室或浴室等。
老年人在夜間面臨一系列獨特的挑戰,包括視力下降、平衡問題和容易產生夜間驚恐等。這些問題增加了老年人在黑暗中移動的風險,可能導致摔倒和其他意外事故。因此,為老年人設計一套安全、智能的夜間燈光照明系統,成為了提高老年人生活質量、增強其安全感的重要舉措。
夜間燈光照明系統的開發背景還源于現代科技的進步。隨著智能家居物聯網等技術的迅速發展,人們越來越能夠實現智能化、個性化的生活方式。對于老年群體,智能照明系統可以根據其活動習慣和需求,自動調節光線亮度和顏色,提供更為舒適、安全的環境。
此外,節能環保也是夜間燈光照明系統開發背景中的一個重要考慮因素。傳統照明設備可能在老年人不需要時繼續工作,造成能源浪費。而智能夜間燈光系統可以通過傳感器檢測老年人的活動,根據需求自動開關或調整光線,達到節能的目的。
綜上所述,針對老年群體的夜間燈光照明系統是為了解決老年人在夜間活動中的安全和舒適問題,提高其生活質量,適應老齡化社會的需求,并兼顧節能環保的要求。這樣的照明系統在為老年人提供更好的生活體驗的同時,也體現了科技進步為社會帶來的實際益處。

項目硬件選擇

采用stm32f407zgt6芯片進行運算處理;
采用ap3216c傳感器檢測光強和距離;
采用rw007 wifi模塊進行通信處理。
項目主要功能
通過接近與光強傳感器感測人體靠近并開啟燈光照明系統
統計老人夜間的如廁次數并將數據上傳云端進行身體健康監測

項目具體實現

1、程序流程圖

1.jpg

2、光強和距離數據的采集(判斷是否有人接近,檢測到人體后開啟照明系統):

while (1)
    {
        rt_pin_write(PIN_LED3, PIN_LOW);
        rt_uint16_t ps_data;
        float brightness;
        /* 讀 接 近 感 應 值 */
        ps_data = ap3216c_read_ps_data(dev);
        /* 讀 光 照 強 度 值 */
        brightness = ap3216c_read_ambient_light(dev);
        if (brightness <= 0.5 && ps_data <= 20)
            {
                rt_pin_write(PIN_LED1, PIN_HIGH);
                rt_pin_write(PIN_LED2, PIN_HIGH);
            }
        else if (brightness <= 0.5 && ps_data > 20)
            {
                //LOG_D("ps:%d", ps_data);
                rt_pin_write(PIN_LED1, PIN_LOW);
                rt_pin_write(PIN_LED2, PIN_LOW);
                add();
                rt_thread_mdelay(10000);
            }
        else
            {
                rt_pin_write(PIN_LED1, PIN_HIGH);
                rt_pin_write(PIN_LED2, PIN_HIGH);
            }
        rt_thread_mdelay(399);
        rt_pin_write(PIN_LED3, PIN_HIGH);
        rt_thread_mdelay(399);
    }

3、自動聯網功能:

#define WLAN_SSID "test"
#define WLAN_PASSWORD "12345678"
#define NET_READY_TIME_OUT (rt_tick_from_millisecond(15 * 1000))
static void print_wlan_information(struct rt_wlan_info info,int index);
static int wifi_autoconnect(void);
static struct rt_semaphore net_ready;
static struct rt_semaphore scan_done;
const char * ssid="test";
const char * key="12345678";
int main(void)
{
static int i = 0;
int result = RT_EOK;
struct rt_wlan_info info;
rt_wlan_connect(ssid, key);
/
等待 500 ms 以便 wifi 完成初始化 /
rt_thread_mdelay(500);
/
掃描熱點 /
LOG_D("start to scan ap ...");
/
執行掃描 */
rt_sem_init(&scan_done,"scan_done",0,RT_IPC_FLAG_FIFO);
rt_wlan_register_event_handler(RT_WLAN_EVT_SCAN_REPORT, wlan_scan_report_hander,&i);
rt_wlan_register_event_handler(RT_WLAN_EVT_SCAN_DONE, wlan_scan_done_hander,RT_NULL);
if(rt_wlan_scan() == RT_EOK)
{
LOG_D("the scan is started... ");
}else
{
LOG_E("scan failed");
}
/*等待掃描完畢 /
rt_sem_take(&scan_done,RT_WAITING_FOREVER);
/
熱點連接 /
LOG_D("start to connect ap ...");
rt_sem_init(&net_ready, "net_ready", 0, RT_IPC_FLAG_FIFO);
/
注冊 wlan ready 回調函數 /
rt_wlan_register_event_handler(RT_WLAN_EVT_READY, wlan_ready_handler, RT_NULL);
/
注冊 wlan 斷開回調函數 /
rt_wlan_register_event_handler(RT_WLAN_EVT_STA_DISCONNECTED, wlan_station_disconnect_handler, RT_NULL);
/
同步連接熱點 /
result = rt_wlan_connect(WLAN_SSID, WLAN_PASSWORD);
if (result == RT_EOK)
{
rt_memset(&info, 0, sizeof(struct rt_wlan_info));
/
獲取當前連接熱點信息 /
rt_wlan_get_info(&info);
LOG_D("station information:");
print_wlan_information(&info,0);
/
等待成功獲取 IP /
result = rt_sem_take(&net_ready, NET_READY_TIME_OUT);
if (result == RT_EOK)
{
LOG_D("networking ready!");
msh_exec("ifconfig", rt_strlen("ifconfig"));
}
else
{
LOG_D("wait ip got timeout!");
}
/
回收資源 /
rt_wlan_unregister_event_handler(RT_WLAN_EVT_READY);
rt_sem_detach(&net_ready);
}
else
{
LOG_E("The AP(%s) is connect failed!", WLAN_SSID);
}
rt_thread_mdelay(5000);
//LOG_D("ready to disconect from ap ...");
//rt_wlan_disconnect();
/
自動連接 */
LOG_D("start to autoconnect ...");
wifi_autoconnect();
return 0;
}
4、云平臺的自動初始化與數據上傳:

static void onenet_upload_entry(void *parameter)
{
while(1)
{
if (onenet_mqtt_upload_digit("Toilet Frequency", value) < 0)
{
LOG_E("upload has an error, stop uploading");
break;
}
else
{
LOG_D("buffer : {"Toilet Frequency":%d}", value);
}
rt_thread_delay(rt_tick_from_millisecond(30 * 1000));
}
}
int onenet_upload_cycle(void)
{
rt_thread_t tid;
tid = rt_thread_create("onenet_send",
onenet_upload_entry,
RT_NULL,
2 * 1024,
RT_THREAD_PRIORITY_MAX / 3 - 1,
5);
if (tid)
{
rt_thread_startup(tid);
}
return 0;
}

項目成品展示

1、夜間照明系統工作示意圖

2、如廁頻率數據實時上傳onenet:

1.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2567

    文章

    53144

    瀏覽量

    768857
  • wifi模塊
    +關注

    關注

    60

    文章

    387

    瀏覽量

    75205
  • RT-Thread
    +關注

    關注

    32

    文章

    1424

    瀏覽量

    42139
  • STM32F407ZGT6
    +關注

    關注

    4

    文章

    4

    瀏覽量

    5222
  • OneNET
    +關注

    關注

    1

    文章

    51

    瀏覽量

    13417
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    stm32f407zgt6上移植emwin怪問題

    stm32f407zgt6上移植emwin,在旺寶紅龍的板子上可以跑,但在我的板子上總是卡在GUI_Init(),stm32f407zgt6也換了兩家的貨,真是百思不得其解,望高手指點。原理圖和PCB附下,程序可以發郵件。
    發表于 01-19 23:08

    stm32f407zgt6封裝引腳圖

    stm32f407zgt6GPIOA 16個GPIOB 16個GPIOC 16個GPIOD 16個GPIOE 16個GPIOF 16個GPIOG 16個GPIOH 2個stm32f407zgt6封裝
    發表于 08-04 09:20

    如何對STM32F407ZGT6進行仿真

    問題的出現和解決: 正確操作Proteus8.9仿真STM32F407ZGT6
    發表于 08-04 06:17

    STM32F407ZGT6是什么

    目錄前言一、項目介紹1.1 項目名稱1.2 項目設計思路二、硬件準備2.1 STM32F407ZGT6三、軟件準備3.1 Keil53.2 STM32f407固件庫3.3
    發表于 08-10 06:24

    STM32F407ZGT6芯片有哪幾種低功耗模式

    STM32F407ZGT6芯片的內核是什么?STM32F407ZGT6芯片有哪幾種低功耗模式?
    發表于 10-18 09:47

    如何對STM32F407ZGT6系列進行Proteus仿真

    在VSM Studio GCC編譯器中如何對STM32F407ZGT6系列進行Proteus仿真?有哪些步驟?
    發表于 10-21 06:38

    STM32F407ZGT6的引腳是如何進行接線的

    STM32F407ZGT6的引腳是如何進行接線的?如何去實現STM32F407ZGT6串行通信的代碼?
    發表于 10-21 06:00

    STM32F407ZGT6的引腳功能是什么

    STM32F407ZGT6有哪些引腳?STM32F407ZGT6的引腳功能是什么?
    發表于 10-21 08:49

    STM32F407ZGT6的串口通信是什么?

    STM32F407ZGT6的串口通信是什么?
    發表于 12-10 07:21

    stm32f407Zgt6與hc05藍牙模塊通信步驟

    stm32f407Zgt6 與 hc05藍牙模塊通信步驟stm32f407Zgt6串口配置hc05串口配置步驟1.配置 stm32串口2.配置藍牙串口3.通信,主要是stm32串口中斷
    發表于 03-02 07:08

    STM32F407ZGT6升級板電路原理圖免費下載

    本文檔的主要內容詳細介紹的是STM32F407ZGT6升級板電路原理圖免費下載。
    發表于 04-03 08:00 ?165次下載
    <b class='flag-5'>STM32F407ZGT6</b>升級板電路原理圖免費下載

    STM32F407ZGT6開發板的電路原理圖免費下載

    本文檔的主要內容詳細介紹的是STM32F407ZGT6開發板的電路原理圖免費下載。
    發表于 12-10 08:00 ?138次下載
    <b class='flag-5'>STM32F407ZGT6</b>開發板的電路原理圖免費下載

    STM32F407ZGT6核心板的資料合集免費下載

    本文檔的主要內容詳細介紹的是STM32F407ZGT6核心板的資料合集免費下載包括了:AD庫,例程,FK407M2核心板機械尺寸,FK407M2核心板原理圖,絲印反面,絲印正面。
    發表于 05-19 08:00 ?387次下載
    <b class='flag-5'>STM32F407ZGT6</b>核心板的資料合集免費下載

    基于STM32F407ZGT6單片機的引腳核心板

    基于STM32F407ZGT6單片機的引腳核心板
    發表于 06-30 09:13 ?122次下載

    應用筆記|基于STM32F407ZGT6實現微生態花園控制系統設計

    ? ? ? 關鍵詞:STM32F407ZGT6,控制系統,微生態 目錄預覽 ? ? ? ? ? 1?引言 ? ? ? ? ? ?2?系統總體框架設計 ? ? ? ? ? ?3?自動灌溉系統
    的頭像 發表于 04-21 03:15 ?2045次閱讀
    應用筆記|基于<b class='flag-5'>STM32F407ZGT6</b>實現微生態花園控制<b class='flag-5'>系統</b>設計
    主站蜘蛛池模板: 五月天婷婷丁香 | 天天躁狠狠躁夜夜躁 | 2021天天干 | 亚洲色图日韩 | 1024国产看片在线观看 | 国产69精品久久久久9999 | 日本资源在线 | 日本最色视频 | 五月天激情综合网 | 免费一级毛片视频 | 四虎精品影院4hutv四虎 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 欧美午夜影院 | 亚洲 欧美 综合 | 天天做天天摸天天爽天天爱 | 爱爱天堂 | 色偷偷91综合久久噜噜 | 国产理论视频 | 免费观看黄色网址 | 日韩免费高清一级毛片 | 黄色大毛片 | 成人欧美一区二区三区视频不卡 | 欧美日本一区二区三区 | 午夜免费观看福利片一区二区三区 | 国产成人午夜片在线观看 | 色综合久久久久综合99 | 91md天美精东蜜桃传媒在线 | 亚洲4区 | 午夜肉伦伦影院在线观看 | 国产高清视频在线免费观看 | 五月婷婷激情六月 | 国产精品黄网站免费进入 | 春宵福利网站 | 播放欧亚一级特黄录像 | 91色视频网站 | 永久免费看片 | 在线黄色免费网站 | 国产精品激情综合久久 | 国产一区二区在线观看免费 | 国产精品视频网站你懂得 | 国产精品1区2区3区在线播放 |