找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9817|回复: 10
打印 上一主题 下一主题
收起左侧

基于stm32f103C8T6智能台灯设计与制作 附源程序

  [复制链接]
跳转到指定楼层
楼主
ID:590721 发表于 2020-7-5 23:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本次设计是系统介绍了智能台灯的应用背景、设计原理、软硬件电路等。以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, 下载次数: 377)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏22 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:210588 发表于 2020-8-25 20:57 | 只看该作者
有原理图吗?
回复

使用道具 举报

板凳
ID:58110 发表于 2020-9-3 09:06 | 只看该作者
谢谢分享
"..\OBJ\main.axf" - 0 Error(s), 16 Warning(s).
16个警告

有原理图就好了
回复

使用道具 举报

地板
ID:286719 发表于 2020-10-7 09:59 | 只看该作者
这个有原理图吗?
回复

使用道具 举报

5#
ID:829262 发表于 2020-10-13 19:10 | 只看该作者
你好,请问一下有全套资料吗,我想做个智能台灯玩玩。顺便参加班上的比赛
回复

使用道具 举报

6#
ID:836270 发表于 2021-2-25 15:04 | 只看该作者
有人试过是可以的吗,为什么我的led屏幕不亮的
回复

使用道具 举报

7#
ID:836270 发表于 2021-2-25 15:05 | 只看该作者
有人试过可以的吗
回复

使用道具 举报

8#
ID:836270 发表于 2021-2-25 15:05 | 只看该作者
有人试过可以的吗,为什么我的屏幕点不亮
回复

使用道具 举报

9#
ID:989180 发表于 2021-12-28 11:14 | 只看该作者
您好,有原理图吗
回复

使用道具 举报

10#
ID:1041462 发表于 2022-8-5 16:25 | 只看该作者
这种简单的产品还需要原理图吗
回复

使用道具 举报

11#
ID:1046540 发表于 2022-10-3 15:50 | 只看该作者
想请问一下帖主,这个可以实现人走灯灭,人来灯开的功能吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表