标题: OLED+DHT11+光敏+ULN2003步进电机+室内灯源程序 [打印本页]

作者: yy1450711034    时间: 2020-3-10 16:00
标题: OLED+DHT11+光敏+ULN2003步进电机+室内灯源程序
1.硬件准备:
DHT11模块
OLED(IIC)模块
核心板STM32F103C8T6
光敏传感器模块
LUN2003驱动步进电机模块
步进电机
LED灯一只
电阻220欧姆一只

2.硬件接线:
OLED SCL---PB12    SDA---PB13  VCC---3.3V
DHT11   DAT---14
光敏AO--PA4
电机驱动连线:IN4: PB9   IN3: PB8   IN2: PB7   IN1: PB6  
LED--PB0
3.程序源码:
u8 buff[30];                //参数显示缓存数组
u8 DHT11_Temp,DHT11_Hum;  //温湿度
u16 gz_value;         //光照检测值
u8 mode;
u8 curtain_flag;
u8 last_curtain_flag;
u16 count;
void BUJING_Cotrol(u8 mode,u16 count);
//u16 A_DHT11_Temp=25;    //温度阈值
//u16 A_DHT11_Hum=50;     //湿度阈值
u16 A_gz_value=2000;    //光照强度阈值

int main(void)
{
LED_Init();
Adc1_Channe_Init();    //ADC初始化
delay_init();     //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
// uart_init(9600);
DHT11_Init();
Moto_Init();
OLED_Init();    //OLED初始化
OLED_Clear();    //OLED清屏
while(1)
{
  
   DHT11_Read_Data(&DHT11_Temp,&DHT11_Hum);
   OLED_ShowCHinese(0,0,0);
   OLED_ShowCHinese(16,0,2);
   sprintf((char*)buff,":%2dC",DHT11_Temp);
   OLED_ShowString(32,0,buff,16); //显示温度
   OLED_ShowCHinese(66,0,1);
   OLED_ShowCHinese(82,0,2);
   sprintf((char*)buff,":%2d%%",DHT11_Hum);
   OLED_ShowString(96,0,buff,16);//显示湿度
   
   gz_value   = 4096- get_Adc_Value(0x04);
   OLED_ShowCHinese(0,4,5);
   OLED_ShowCHinese(16,4,6);
   OLED_ShowCHinese(32,4,7);
   OLED_ShowCHinese(48,4,8);
   sprintf((char*)buff,":%4d",gz_value);
   OLED_ShowString(64,4,buff,16);//显示光照强度
  
//      printf("光照强度:%d\r\n",gz_value);
//   delay_ms(200);
  }
}
void BUJING_Cotrol(u8 mode,u16 count)
{
if(mode==0)
{
  while(count--)
  {
    Motorccw_angle(120,8);
  }
}
if(mode==1)
{
  while(count--)
  {
   Motorcw_angle(120,8);
  }
}
}







51hei图片20200310155936.png (6.79 KB, 下载次数: 44)

51hei图片20200310155936.png

OLED+DHT11+光敏+电机窗帘+室内灯.7z

154.27 KB, 下载次数: 91, 下载积分: 黑币 -5






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