重工电子论坛

标题: 【实验室培训_201810期】+刘智中+第四周任务(软件) [打印本页]

作者: 刘智中    时间: 2018-12-8 18:16
标题: 【实验室培训_201810期】+刘智中+第四周任务(软件)
本帖最后由 刘智中 于 2018-12-8 18:22 编辑

一、任务要求:了解并掌握运用ardunio单片机控制DHT11数字温湿度传感器对温湿度数据的采集与处理,并且根据输出的温度数据来改变跑马灯的样式,并根据不同按键的输入状态输出不同温度数据(摄氏度、华氏温度、开氏温度)。
二、工作环境:通过ardunio软件编程对DHT11数字温湿度传感器控制进行数据采集处理。
三、实现步骤:对原有的程序进行改写,通过三个按键实现通过串口监视器输出三种不同的温度信息;再通过温度数据对LED灯的控制(亮灯数=摄氏度/10  华氏度/10  开氏度/50)。


部分显示程序如下:
Serial.print("Humidity(%): ");            // 输出湿度信息
        Serial.println((float)DHT11.humidity,2);
        x=digitalRead(11);
        y=digitalRead(12);
        z=digitalRead(13);
        if(x==LOW)
        {
        Serial.print("Temperature(℃): ");       //输出温度度信息(摄氏)
        Serial.println((float)DHT11.temperature,2);
        t=(float)DHT11.temperature/10;
        }
        else if(y==LOW)
        {
         Serial.print("Temperature(F): ");       //输出温度度信息(华氏)
         Serial.println((float)DHT11.temperature*1.8+32,2);
         t=((float)DHT11.temperature*1.8+32)/10;
         }
        else if(z==LOW)
        {
          Serial.print("Temperature(K): ");       //输出温度度信息(开氏)
          Serial.println((float)DHT11.temperature+273.15,2);
          t=((float)DHT11.temperature+273.15)/50;
         }
        else Serial.print("No more ");
        for(i=3;i<3+t;i++)
        {
         digitalWrite(i,HIGH);
         }
        delay(2000);
        for(i=3;i<11;i++)                        //清空亮灯数据
        {
         digitalWrite(i,LOW);
         }      
  通过本次对DHT11的编程学习,主要了解到了对头文件与源文件的多文件编程,并且对于串口的编程更加熟练。 sketch_dec01a.zip (2.26 KB, 下载次数: 0)




作者: 鲁亮    时间: 2018-12-10 15:59
把代码输入方式改一下,帖子里可以直接贴代码,不要这样截图




欢迎光临 重工电子论坛 (http://www.cqutlab.cn/) Powered by Discuz! X3.1