标题: 基于stm32f103C8T6智能台灯设计与制作 附源程序 [打印本页]

作者: 罗神    时间: 2020-7-5 23:34
标题: 基于stm32f103C8T6智能台灯设计与制作 附源程序
本次设计是系统介绍了智能台灯的应用背景、设计原理、软硬件电路等。以STM32作为主控,应用定时模块、人体感应模块、光敏模块,使得智能台灯具备调光,监督使用者的坐姿,节能,时间提醒等功能。有五级自动、手动灯光。ds1302实时时钟模块、HCSR04超声波模块、dht11温湿度模块、HCSR501人体感应模块、光敏电阻模块和无源蜂鸣器模块。【时钟模块由于我硬件问题没有用上,但是可以照搬这个模块的代码,只需改些参数,函数即可。】

制作出来的实物图如下:


单片机源程序如下:
  1. /*********************************************************************************
  2. //////////////////////////////////////////////////////////////////////////////////
  3. //本程序只供学习使用,未经作者许可,不得用于其它任何用途
  4. //  文 件 名   : 智能台灯
  5. //  版 本 号   : v2.0
  6. //  作    者   : 罗大小姐
  7. //  生成日期   : 2020
  8. //  最近修改   :
  9. //  功能描述   : 智能台灯设计与制作
  10. //              说明:智能台灯具有姿势监督、调光、节能、时间提醒等功能
  11. //              ----------------------------------------------------------------
  12. 蜂鸣器模块:PB5
  13. LED模块:PC13
  14. OLED 屏幕:
  15.               GND  电源地
  16.               VCC  3.3v电源
  17.               D0   PA5(SCL)
  18.               D1   PA7(SDA)
  19.                                                         RES  PB0
  20.                                                         DS、CS——GND
  21. 按键模块:
  22. KEY1->PB12
  23. KEY2->PB13
  24. KEY3->PB14
  25. KEY4->PB15
  26. 光敏电阻:AO->PA1
  27. 温湿度模块:DAT->PA11
  28. 超声波测距模块:tring->PB11
  29.                 echo->PB10
  30. DS1302时钟模块:IO->PB7
  31.                                                                 SCK->PB8
  32.                                                                 RST->PB9
  33. *************************************************************************************/
  34. #include "delay.h"
  35. #include "sys.h"
  36. #include "oled.h"
  37. #include "bmp.h"
  38. #include "beep.h"
  39. #include "led.h"
  40. #include "hc_sr501.h"
  41. #include "stdio.h"
  42. #include "stm32f10x.h"
  43. #include "key.h"
  44. #include "wave.h"
  45. #include "adc.h"
  46. #include "lsens.h"
  47. #include "ds1302.h"
  48. #include "timer.h"
  49. #include "dht11.h"
  50. #include "light.h"
  51. #include "stdbool.h"

  52. // #include "rtc.h"
  53. int main(void)
  54. {
  55.     u8 t,KEY_Interrupt;
  56.     char i;

  57.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
  58. //     NVIC_Configuration();
  59. //          timer_config();
  60. //     Init_LEDpin();
  61.     delay_init();
  62.     OLED_Init();

  63. //     DS1302_config();  //时钟模块的配置    CLK/SCK PB0    DAT/IO PA1    RST PA7
  64. //     ds1302_init();//DS1302初始化
  65. //     ds1302_write_time(); //写入初始值

  66.     DHT11_Init();//温湿度模块初始化

  67.     Wave_nvic();
  68.     wave_config(); // 超声波的配置

  69.     HC_SR();//HC_SR501引脚配置
  70.     KEY_Init();//初始化键盘
  71.     light_config();//初始化灯光
  72.     Lsens_Init();//初始化光敏传感器
  73.     BEEP_Init();//初始化蜂鸣器
  74.     OLED_Start_Display();//显示开始的界面信息
  75.     LIGHT_Auto();//开机自动检测灯亮,但是不能放到while函数内会影响按键手动模式
  76.     delay_ms(500);
  77.     OLED_Refresh();
  78.     delay_ms(500);
  79.     OLED_Clear();
  80.     while(1)
  81.     {
  82.         bool flag = true;
  83.         Timer_Display();//时间 日期    DAT需要上拉电阻
  84.         TIMER_alarm();
  85. //         LED_TEST();
  86.         DHT11_TX();

  87.         HCSR501();
  88.         Wave_distance();
  89.         delay_ms(500);
  90.         KEY_Interrupt = KEY_Scan(0);
  91.         while(KEY_Interrupt!=0)
  92.         {
  93.             if(flag)//循环清一次屏幕
  94.             {
  95.                 delay_ms(500);
  96.                 OLED_Clear();
  97.                 flag = false;

  98.             }

  99.             KEY_Scan_s();
  100.             delay_ms(500);
  101.             OLED_Refresh();
  102.             if(YSE == 0)
  103.             {
  104.                 break;
  105.             }
  106.         }
  107.         OLED_Refresh();

  108.     }
  109. }
复制代码

Keil代码下载:
智能台灯设计与制作代码.7z (230.77 KB, 下载次数: 408)


作者: lyh一点点    时间: 2020-8-25 20:57
有原理图吗?
作者: lyMarvin    时间: 2020-9-3 09:06
谢谢分享
"..\OBJ\main.axf" - 0 Error(s), 16 Warning(s).
16个警告

有原理图就好了
作者: 呵..呵    时间: 2020-10-7 09:59
这个有原理图吗?

作者: 管我黑不黑    时间: 2020-10-13 19:10
你好,请问一下有全套资料吗,我想做个智能台灯玩玩。顺便参加班上的比赛
作者: Lamhxw    时间: 2021-2-25 15:04
有人试过是可以的吗,为什么我的led屏幕不亮的
作者: Lamhxw    时间: 2021-2-25 15:05
有人试过可以的吗
作者: Lamhxw    时间: 2021-2-25 15:05
有人试过可以的吗,为什么我的屏幕点不亮
作者: abcd111323    时间: 2021-12-28 11:14
您好,有原理图吗
作者: 肖宏军某    时间: 2022-8-5 16:25
这种简单的产品还需要原理图吗
作者: jenzia-z    时间: 2022-10-3 15:50
想请问一下帖主,这个可以实现人走灯灭,人来灯开的功能吗
作者: 稳态误差先判稳    时间: 2024-4-30 16:16
jenzia-z 发表于 2022-10-3 15:50
想请问一下帖主,这个可以实现人走灯灭,人来灯开的功能吗

这个自己加个红外模块就能实现,这个楼主做的io口应该没有用完




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1