• stm32之1602+DHT11+继电器


    描述:

    1、DHT11监测温室度,并显示到1602液晶上

    2、通过串口打印(或通过蓝牙模块在手机上查看)

    3、当温度大于24度时,开启继电器。小于时关闭继电器(继电器可连接风扇---假想O(∩_∩)O哈哈~)

    一、配置

    1602引脚

    • D0...D7 <---> A0...A7
    • RS        <---> B1
    • RW       <---> B2
    • EN        <---> B10
    • V0         <---> GND(正视看不到显示结果,需要侧着看。否则需要接可调电阻)

    DHT11引脚:

    • DATA <---> B7

    继电器引脚:

    • IN<--->B6

    二、main函数

    1. int main(void)
    2. {
    3. char msg[16];
    4. HAL_Init();
    5. SystemClock_Config();
    6. MX_GPIO_Init();
    7. MX_USART1_UART_Init();
    8. lcd_1602_init();
    9. show_line(0, 0, "loading...");
    10. while (1)
    11. {
    12. // 根据温度决定是否开启继电器
    13. if(datas[2] >= 24)
    14. HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);
    15. else
    16. HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
    17. // 开启温湿度检测
    18. trig_dht();
    19. receive_data();
    20. memset(msg, 0, sizeof(msg));
    21. sprintf(msg, "Temp: %d.%d", datas[2], datas[3]);
    22. show_line(0, 0, msg);
    23. sprintf(msg, "Temp: %d.%d\r\n", datas[2], datas[3]);
    24. printf(msg);
    25. sprintf(msg, "Humi: %d.%d", datas[0], datas[1]);
    26. show_line(1, 0, msg);
    27. sprintf(msg, "Humi: %d.%d\r\n", datas[0], datas[1]);
    28. printf(msg);
    29. HAL_Delay(1000);
    30. }
    31. }

    项目很简单,这里不过度解释。。。

    三、问题点总结

    • 继电器不要接到5V,要接到3v3,否则不管电平高低都会开启
    • DHT11引脚在cubeMX 中配置成输入,否则不工作
    • 通过GPIOA->ODR,可以直接往寄存器写数据
    • 1602可以不加忙时检测,依然可以正常工作
    • 1602的写时序和51的部分延时时间不太一样,必须要加长时间才能保证正常显示

     void write_cmd(char cmd) {
        RS_W_0();
        RW_W_0();
        EN_W_0();
        WRITE_DATA(cmd);
        delay_us(1);    // 这里保持1us即可
        EN_W_1();
        delay_us(1000); // 这里时间要设置长些,否则不会显示,和51还有些不同
        EN_W_0();
    }

    完整代码Github

  • 相关阅读:
    python二次开发Solidworks:画砂轮
    多表操作-内连接查询
    模拟电路总结
    【复杂网络】网络科学导论学习笔记-第四章度相关性和社团结构
    zookeeper应用场景(二)
    remote: Permission to xxxxx.git denied to xxxxx.
    锁升级过程(无锁、偏向锁、轻量级锁、重量级锁)
    【C++】初识类和对象
    [ vulhub漏洞复现篇 ] Thinkphp SQL注入 && 敏感信息泄露
    快速入门Web开发(中)后端开发(有重点)
  • 原文地址:https://blog.csdn.net/TSC1235/article/details/133365466