查看: 471|回复: 6

[未解决] 温度传感器实验求代码

[复制链接]

该用户从未签到

发表于 2020-5-19 13:18 来自手机 | 显示全部楼层 |阅读模式
求详细代码,急!
Screenshot_20200514_105230_com.tencent.mm.jpg
  • TA的每日心情
    无聊
    2020-9-29 12:36
  • 签到天数: 63 天

    [LV.6]常住居民II

    发表于 2020-8-10 02:48 | 显示全部楼层
    1. //包含库
    2. #include "SevSeg.h"
    3. //定义引脚
    4. const uint8_t Seg[] = {7, 6, 5, 10, 11, 8, 9, 4};
    5. const uint8_t Com[] = {2, 3, 12, 13};
    6. //创建变量
    7. float Temp = 0;
    8. //创建对象
    9. SevSeg sevseg;
    10. void setup()
    11. {
    12.   //初始化串口
    13.   Serial.begin(9600);
    14.   //初始化引脚
    15.   pinMode(A1, OUTPUT);
    16.   //初始化数码管
    17.   sevseg.begin(0, 4, Com, Seg);
    18. }

    19. void loop()
    20. {
    21.   //获取温度
    22.   int n = analogRead(A0);
    23.   Temp = n * (5.0 / 1023.0 * 100) - 1;
    24.   Serial.print("Temp:");
    25.   //串口打印温度
    26.   Serial.print("Temp:");
    27.   Serial.println(Temp);
    28.   //根据温度控制引脚电平
    29.   if (Temp >= 38)
    30.     digitalWrite(A1, HIGH);
    31.   else
    32.     digitalWrite(A1, LOW);
    33.   //设置数码管显示
    34.   sevseg.setNumber(Temp);
    35.   sevseg.refreshDisplay();
    36. }
    复制代码

    LM35连接在A0
  • TA的每日心情
    擦汗
    2020-9-29 21:18
  • 签到天数: 117 天

    [LV.6]常住居民II

    发表于 2020-5-19 13:37 | 显示全部楼层
    直接百度,到处都有

    该用户从未签到

     楼主| 发表于 2020-5-19 16:19 来自手机 | 显示全部楼层
    led_uno 发表于 2020-5-19 13:37
    直接百度,到处都有

    没有连数码管的

    该用户从未签到

    发表于 2020-5-19 16:33 | 显示全部楼层
    参考我这个,我这个不是线性的,带OLED显示

    #include <Arduino.h>
    #include <U8g2lib.h>

    #ifdef U8X8_HAVE_HW_SPI
    #include <SPI.h>
    #endif
    #ifdef U8X8_HAVE_HW_I2C
    #include <Wire.h>
    #endif

    U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);

    int val;
    int T;
    int tinPin = A0;
    int Ri = 3000;
    int R1 = 3068;
    int R2 = 2500;
    int R3 = 2056;
    int R4 = 1706;
    int T1 = 15;
    int T2 = 20;
    int T3 = 25;
    int T4 = 30;

    void setup(void) {
      u8g2.begin();
    }

    void loop(void) {
        val = analogRead(tinPin);
    double Vt = (5 * val) /1023.0;
    double Rt = Vt*Ri/(5-Vt);

       if (R2<Rt<R1);
          T=(Rt-R1)*(T2-T1)/(R2-R1)+T1;
          
       if (R3<Rt<R2);
          T=(Rt-R2)*(T3-T2)/(R3-R2)+T2;
          
       if (R4<Rt<R3);
          T=(Rt-R3)*(T4-T3)/(R4-R3)+T3;  
       delay(10000);
          
      u8g2.clearBuffer();         // 清除内部缓冲区
      Serial.print("T");
      Serial.println(T);
      Serial.print("Vt");
      Serial.println(Vt);
        Serial.print("Rt");
      Serial.println(Rt);
      u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
      u8g2.setCursor(0,15);
      u8g2.print(T);
      u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
      u8g2.setCursor(0,30);
      u8g2.print(Vt);
      u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
      u8g2.setCursor(0,45);
      u8g2.print(Rt);
      u8g2.sendBuffer();          // transfer internal memory to the display
      delay(1000);  
    }

    该用户从未签到

    发表于 2020-5-19 16:35 | 显示全部楼层
    这个没有小数
  • TA的每日心情
    开心
    2020-6-30 08:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-10 09:09 | 显示全部楼层

    sevseg库函数介绍
    1. sevseg.begin(hardwareConfig, numDigits, com, seg)函数:
    hardwareConfig:使用的是共阳极数码管还是共阴极数码管。
    COMMON_CATHODE:共阴极。
    COMMON_ANODE:共阳极。
    numDigits:数码管位数,我们这里使用的是一位数码管,故其值设置为4。
    Com[]:数组形式,用来存储数码管公共极连接的引脚号。此库多用来驱动四位数码管。
    Seg[]:数组形式,用来存储数码管从a到dp所对应连接的引脚号。
    2. sevseg.setNumber(numToShow, decPlaces)函数:
    numToShow:要显示的数据,可以为整数、浮点数。
    decPlaces:小数点显示的位置,从最低有效位开始计算,若省略或者设置为-1则表示不显示小数点。
    3. sevseg.refreshDisplay()函数:
    此函数需要不断重复执行,反复刷新才能使数码管显示。若程序中有其他延时则会对显示产生影响。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    Arduino物联网开发实例教程
    Arduino物联网开发实例教
    [md] **blinker用户交流群 301438087 (仅限github已Star的用户加群)** ## bli
    ESP8266读DHT11温湿度,开发微信小程序实时显示教程 = arduino...
    ESP8266读DHT11温湿度,开
    第一、原理讲解原理简述:利用发布订阅模式。第一步,先读取DHT11温湿度数值,第二步
    arduino连接ESP8266-01给微信发消息,消息提醒等
    arduino连接ESP8266-01给
    材料准备 ESP8266-01/ESP8266-01s一块 arduino 一块 手机一块 接线 ESP8266-0
    arduino for esp8266
    arduino for esp8266
    大佬们帮我看看这是什么问题,原来从来都能用,现在一编译就出现这个错误
    【传感器大赏】碰撞传感器
    【传感器大赏】碰撞传感器
    Grove-Collision Sensor Grove - Collision Sensor可以检测碰撞和振动,当检测到时会
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表