找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32智能家居系统源码,自己原创

[复制链接]
跳转到指定楼层
楼主
ID:309715 发表于 2018-7-18 22:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是我用32做的智能家居系统,可通过esp8266模块通过手机控制电器,超级方便哦

单片机源程序如下:
  1. #include "stm32f4xx.h"
  2. #include "systick.h"
  3. #include "led.h"
  4. #include "sys.h"
  5. #include "key.h"
  6. #include "tim4.h"
  7. #include "beep.h"
  8. #include "usart.h"
  9. #include "stdio.h"
  10. #include "DHT11.h"
  11. #include "duoji.h"
  12. #include "PWN.h"
  13. #include "stdlib.h"

  14.         char read_data[30]={0};
  15.         uint16_t count=0;
  16.   float temp=22,Humi=67;
  17.         uint8_t data;
  18.         int kk=5,kkk=0,kai=0;
  19.         char Strf[2000]={0};
  20.   uint8_t dht_data[5]={0},ret=0;
  21.   char Strf[2000];

  22. void wendu()
  23. {
  24.           USART3_SendString("AT+CIPSEND=0,21\r\n");
  25.                 delay_ms(700);
  26.                 ret = dht11_read_data(dht_data);
  27.         if(ret == 0) //????
  28.         {
  29.     sprintf(Strf,"Temp=%d.%d,humi=%d.%d\r\n",dht_data[2],dht_data[3],dht_data[0],dht_data[1]);
  30.                 USART3_SendString(Strf);
  31.         }       
  32. }       





  33. void duoji_pwm(uint32_t zhuan)
  34. {
  35.           int i;
  36.           for(i=0;i<100;i=i+zhuan)
  37.                 {
  38.                         TIM_SetCompare2(TIM3,i);
  39.                         delay_ms(50);
  40.                 }
  41. }

  42. //-----------------------------------------------------------------


  43. void moshi_1()
  44. {
  45.        

  46.        
  47.        
  48.         int a=0,i=5,j=0,k=0,c_s=3;
  49.         uint16_t shu[4];
  50.         int ceshi[5]={0};
  51.                
  52.                 if(read_data[count-1]=='n' && read_data[count-7]=='b')
  53.                 {
  54.                         PFout(8)=1;
  55.                         a=0;
  56.                 }
  57.                 else if(read_data[count-1]=='f' && read_data[count-8]=='b')
  58.                 {
  59.                         PFout(8)=0;
  60.                         a=0;
  61.                 }
  62.                
  63.                


  64.                
  65.                 if(read_data[count-1]=='l' && read_data[count-9]=='G')
  66.                 {
  67.                          int x=0;
  68.                           wendu();

  69.                         a=0;
  70.                 }
  71.                
  72.                

  73.                
  74.                
  75.                 if((read_data[count-7]=='l' || read_data[count-6]=='l' || read_data[count-5]=='l')&&(read_data[count-6]=='e' || read_data[count-5]=='e'|| read_data[count-4]=='e'))
  76.                 {
  77.                         for(i=0;read_data[count-1-i]!='_';i++)
  78.                         {
  79.                         shu[i]=read_data[count-1-i];
  80.                         }
  81.                         if(i==3)
  82.                         {
  83.                                 j=100;
  84.                         }
  85.                         else if(i==2)
  86.                         {
  87.                                 j=(shu[0]-'0')+(shu[1]-'0')*10;
  88.                         }
  89.                         else if(i==1)
  90.                                 j=shu[0]-'0';
  91.                        
  92.                         ceshi[c_s++]=j;
  93.                         delay_ms(20);
  94.                         if((ceshi[c_s-1])-(ceshi[c_s-2])==0)
  95.                         {
  96.                                 a=0;
  97.                                 c_s=3;
  98.                         }
  99.                         TIM_SetCompare1(TIM14,j);
  100.                         a=0;
  101.                 }
  102.                
  103.                
  104.        
  105.                
  106.                
  107.                 if((read_data[count-7]=='d' || read_data[count-6]=='d'|| read_data[count-5]=='d' )&&(read_data[count-6]=='u' || read_data[count-5]=='u'|| read_data[count-4]=='u'))
  108.                 {
  109.       for(i=0;read_data[count-1-i]!='_';i++)
  110.                         {
  111.                         shu[i]=read_data[count-1-i];
  112.                         }
  113.                         if(i==3)
  114.                         {
  115.                                 j=(shu[0]-'0')+(shu[1]-'0')*10+(shu[2]-'0')*100;
  116.                         }
  117.                         else if(i==2)
  118.                         {
  119.                                 j=(shu[0]-'0')+(shu[1]-'0')*10;
  120.                         }
  121.                         else if(i==1)
  122.                                 j=shu[0]-'0';
  123.                        
  124.                         ceshi[c_s++]=j;
  125.                         delay_ms(20);
  126.                         if((ceshi[c_s-1])-(ceshi[c_s-2])==0)
  127.                         {
  128.                                 a=0;
  129.                                 c_s=3;
  130.                         }       
  131.                         if(j==0){kkk=0;}
  132.       if(j<45&&j>0){kk=14;kkk=1;}       
  133.       else if(j>45&&j<90){kk=10;kkk=1;}       
  134.       else if(j>90&&j<135){kk=7;kkk=1;}       
  135.       else if(j>135&&j<180){kk=3;kkk=1;}                               
  136.                 }
  137. }





  138. int main(void)
  139. {

  140.         Systick_init(168);

  141.         usart1_init();
  142.         usart3_init(115200);
  143.         ESP8266_Init();
  144.         beep_init();
  145.         led_init();
  146.         tim7_init();
  147.         hongwai_init();
  148.         DHT11_init();
  149.   tim14_pwm_init();
  150.   tim3_ch2_pwm_init();
  151.   
  152.         while(1)
  153.         {
  154.                 if(a==0)
  155. ……………………

  156. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
zonggongcheng19.rar (4.08 MB, 下载次数: 67)


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

使用道具 举报

沙发
ID:474606 发表于 2019-5-10 11:19 | 只看该作者
感谢楼主的热心分享,能不能把原理图和接线图也发一下?
回复

使用道具 举报

板凳
ID:375287 发表于 2019-6-9 10:37 | 只看该作者
牛皮 学习一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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