標(biāo)題: 基于stm32f103c8t6的智能臺燈源碼 [打印本頁]

作者: wulikanhua    時(shí)間: 2018-6-8 11:07
標(biāo)題: 基于stm32f103c8t6的智能臺燈源碼
用到的模塊:
        紅外遙控 、OLED 屏幕(iic)、ds1302時(shí)鐘模塊、超聲波測距模塊、dht11溫濕度模塊、錄音模塊、MP3模塊、蜂鳴器、LED燈、BH1750光強(qiáng)模塊。
功能:紅外遙控通過pwm波控制LED燈的不同的亮度,外加光強(qiáng)模塊調(diào)節(jié)亮度,OLED 屏幕顯示時(shí)間、溫濕度、可以設(shè)置起床鬧鐘,超聲波測距測量離燈的距離,具有防近視的功能,有語音提示注意保持坐姿,可以通過錄音模塊自己錄制,還增加了MP3播放功能等。


具體代碼在壓縮包中,這里只提供了主函數(shù)的程序。

Keil代碼下載:
智能臺燈.rar (327.9 KB, 下載次數(shù): 326)

stm32單片機(jī)源碼:
  1. #include "stm32f10x.h"
  2. #include "gpio.h"
  3. #include "systick.h"
  4. #include "dh11.h"
  5. #include "iic_BH1750.h"
  6. #include "iic.h"
  7. #include "USART.H"
  8. #include "timer3_pwm.h"
  9. #include "timer.h"
  10. #include "timer2.h"
  11. #include "remote.h"
  12. #include "OLED_I2C.h"
  13. #include "wave.h"
  14. #include "RTC.h"

  15. u8 key_date = 0;
  16. int main()
  17. {
  18.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
  19.         timer_config();
  20.          timertwo_confing();
  21.         LED_EXTI_cfg();
  22.         LED_NVIC_cfg();
  23.         timer3_pwm_config();    //調(diào)節(jié)燈的亮度  PA6
  24.         I2C_Configuration();   //iic的配置 PB6 -- SCL; PB7 -- SDA
  25.         OLED_Init();          //顯示屏的初始化
  26.         Remote_Init();       //紅外接收初始化
  27.         LED_config();       //燈的初始化                              燈PB0   人體紅外PB1
  28.         DHT11_Init();      //溫濕度的初始化                                PA11溫濕度傳感器
  29.         DS1302_config();  //時(shí)鐘模塊的配置    CLK/SCK PB0    DAT/IO PA1    RST PA7
  30.         IIC_Init();      //iic初始化       GPIOB14(SCL),GPIOB15(SDA)
  31.         OLED_CLS();     //清屏
  32.         wave_config(); // 超聲波的配置   tring(控制端) PA4  echo(接收端) PA5  錄音模塊 P-L  PB5   P-E  PB8
  33.   ds1302_init();//DS1302初始化
  34.         ds1302_write_time(); //寫入初始值
  35.         while(1)
  36.         {
  37.                         BH1750_TX();//光強(qiáng)
  38.                         DHT11_TX();//溫濕度
  39.                         delay_ms(500);   
  40.                         OLED_CLS();
  41.                         DS1302_TX();//時(shí)間 日期    DAT需要上拉電阻
  42.                         delay_ms(500);
  43.                         OLED_CLS();
  44. //                         alarm_set();  //鬧鐘 8:00   PB11
  45.                          LED_On_Off();//紅外控制等的開關(guān)   LED PA6 紅外 PB1
  46.                         key_date = Remote_Scan();        //返回按鍵值
  47.                         if(key_date == 0xa2)
  48.                         {
  49.                                 GPIO_SetBits(GPIOB,GPIO_Pin_0);                //燈亮                CH-
  50.                         }
  51.                         else if(key_date == 0x62)
  52.                                 GPIO_ResetBits(GPIOB,GPIO_Pin_0);        //燈滅    CH
  53.                                 // 燈的亮度調(diào)節(jié)
  54.                         else if(key_date == 0x30)     //  1
  55.                                 set_pwm(200);
  56.                         else if(key_date == 0x18)     //  2
  57.                                 set_pwm(600);
  58.                         else if(key_date == 0x7a)     //  3
  59.                                 set_pwm(1000);
  60.                         else if(key_date == 0x10)     //  4
  61.                                 set_pwm(1400);
  62.                         else if(key_date == 0x38)     //  5
  63.                                 set_pwm(1800);
  64.                         else if(key_date == 0x5a)     //  6
  65.                                 set_pwm(1999);
  66.                         else if(key_date == 0x68)     //  0
  67.                                 set_pwm(0);
  68.                         
  69.                         if(key_date == 0xe2)                                //mp3的開關(guān)   CH+
  70.                                 GPIO_SetBits(GPIOB,GPIO_Pin_10);
  71.                         if(key_date == 0xc2)         
  72.                                 GPIO_ResetBits(GPIOB,GPIO_Pin_10);
  73.                         
  74.                         if(key_date == 0x90)                                //關(guān)閉鬧鐘
  75.                         
  76.                                 GPIO_ResetBits(GPIOB,GPIO_Pin_11);
  77.                         
  78.                                 Wave_StarMeasure(); //測距
  79.                                 Wave_distance();
  80.         }
  81. }



復(fù)制代碼



作者: w1554980424    時(shí)間: 2018-6-19 19:56
怎么用啊
作者: w1554980424    時(shí)間: 2018-6-19 19:57
怎么使用啊,我怎么打不開

作者: qqhuacong    時(shí)間: 2018-7-22 20:54
還沒有試驗(yàn) 可以控制風(fēng)扇吧
作者: 1251144    時(shí)間: 2018-10-18 21:43
有電路圖嗎    樓主
作者: 1251144    時(shí)間: 2018-10-18 21:45
樓主  能分享一下智能臺燈的原理圖嗎
作者: jingboxu    時(shí)間: 2018-10-22 09:47
看起來好厲害的樣子,下來學(xué)習(xí)學(xué)習(xí)
作者: may-DAY    時(shí)間: 2018-11-18 15:07
請問有原理圖嗎?

作者: mythboy    時(shí)間: 2019-1-8 12:36
不錯(cuò) 看看~
作者: 1078403    時(shí)間: 2019-3-23 16:34
同問有原理圖嗎?求

作者: zs33521    時(shí)間: 2019-3-24 22:00
學(xué)習(xí)學(xué)習(xí)
作者: 阿瑟東a    時(shí)間: 2019-7-23 16:16
頂起,蠻好用的

作者: laylalala    時(shí)間: 2020-2-1 20:05
可以看成品的視頻嗎?
作者: sssqqqeee    時(shí)間: 2023-6-8 23:20
有PCB文件嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1