深圳市敏创电子有限公司

NTC热敏电阻生产厂家
专注NTC热敏电阻12年,可特殊定制

热门搜索: 热敏电阻厂家 |

您当前所在的位置:主页 > 技术文章 > 技术文章

Arduino热敏电阻教程

时间:2018-08-02   来源:敏创电子  编辑:热敏电阻厂家  浏览:

热敏电阻价格便宜,易于用于温度测量。唯一复杂的部分是用于将电压输出电平转换为测量温度的数学运算,但是我们在下面的Arduino草图中为您提供了这一点。

 

 

本教程中使用的软件可以在这里下载:

 

Arduino热敏电阻软件

 

本教程中使用的硬件:

 

热敏电阻温度传感器  (您还需要一个10k电阻)。

 

- Arduino板(Uno,Mega,Duemilanove等)

 

 

说明:

-----

如果这是您的第一个Arduino项目,请首先阅读我们的“ Arduino:入门 ”教程。

-----

我们将使用LCD读取热敏电阻的温度。按照我们的Arduino LCD教程,使液晶显示器与您的Arduino一起工作。如果您不想使用LCD来获取温度读数,则可以随时更改草图以使用Arduino的串行连接到计算机,从串行监视器读取温度。

 

使用您的无焊料面包板做热敏电阻连接:

 

 

 Arduino热敏电阻

 

 将热敏电阻连接到arduino

 

 

软件:

 


下载示例Arduino热敏电阻软件,并解压缩文件。

 

您现在将有一个名为“arduino_thermistor”的文件夹

 

启动Arduino软件并通过点击File-> Sketchbook-> Open来加载Arduino热敏电阻的例子程序

 

导航到arduino_thermistor文件夹并选择“arduino_thermistor.pde”文件。

 

点击“Upload to I / O board”按钮,将Arduino热敏电阻草图传送到Arduino板上。上传之后,您应该看到LCD上显示的当前温度。

 

这里是代码:


 

/ *  
    Arduino热敏电阻示例软件
    教程:http://www.hacktronics.com/Tutorials/arduino-thermistor-tutorial 
    Copyright(c)2010 Mark McComb,hacktronics LLC 
    许可证:http://www.opensource.org/licenses/mit -license.php(去疯狂)
* / 

#包括<LiquidCrystal.h> 
的#include <math.h>中

/ * 

LCD连接:
RS(LCD销4)Arduino的销12 
RW(LCD引脚5)到Arduino的销11 
使(LCD引脚6)到Arduino引脚10 
LCD引脚15到Arduino引脚13 
LCD引脚d4,d5,d6,d7到Arduino引脚5,4,3,2 
* / 

液晶LCD(12,11,10, 3,2); 
int backLight = 13; //引脚13将控制背光灯



void setup(void){
  pinMode(backLight,OUTPUT); 
  digitalWrite(backLight,HIGH); //打开背光 将“HIGH”替换为“LOW”将其关闭。
  lcd.begin(20,4); //行,列。使用16,2为一个16x2液晶显示器等
  lcd.clear(); //开始一个空白的屏幕
  lcd.setCursor(0,0); //设置光标到列0,行0 


double Thermister(int RawADC){ 
  double Temp; 
  对于公式
  Temp = log(((10240000 / RawADC) - 10000)),请参阅http://en.wikipedia.org/wiki/Thermistor 
  Temp = 1 /(0.001129148 +(0.000234125 * Temp)+(0.0000000876741 * Temp * Temp * Temp)); 
  温度=温度 - 273.15; //将Kelvin转换成Celcius 
  返回Temp; 
}

void printTemp(void){ 
  double fTemp; 
  double temp = Thermister(analogRead(0)); //读取传感器
  lcd.clear(); 
  lcd.setCursor(0,0); 
  lcd.print(“温度是:”); 
  lcd.setCursor(0,1); 
  lcd.print(温度); 
  lcd.print(“C /”); 
  fTemp =(temp * 1.8)+32.0; //转换为美国
  lcd.print(fTemp); 
  lcd.print(“F”); 
  if(fTemp> 68 && fTemp <78){ 
    lcd.setCursor(0,3); 
    lcd.print(“非常舒服”); 
  } 


void loop(void){ 
  printTemp(); 
  延迟(1000); 
}