Arduino + Lcd1602 显示当前环境温度

有小伙伴表示Arduino也是个好玩具,所以又入了一块Arduino UNO R3先玩着。突然想起科技京城电子市场很久很久没去过了,所以一时兴起又顶着烈日去晃了一圈,哈哈太好了,市场还在。顺便买了块Lcd1602液晶显示屏。

稍有点电子制作基础和C语言基础的人玩Arduino上手应该很快的。从 http://www.arduino.org.cn/software 下载了IDE(含驱动),晚饭后折腾了一把,还算顺利的就做出了这个实验。IDE直接自带的Lcd1206的Demo,只要按注释的方法正确接线直接就能运行。稍微有点小麻烦的是18B20温控的库,要另外找,并且找到后要导入库到IDE。

具体1602和18b20的介绍就不说了,这个是笔记不是论文,网上资料太多了,做实验只要搞清楚引脚编号就行了。

电路示意图如下:

Arduino + Lcd1602 显示当前环境温度_第1张图片

实际效果如下:

Arduino + Lcd1602 显示当前环境温度_第2张图片

温控在左侧,被线挡住了。手头没有10K电位器,用了1K和10K固定电阻将就下,1K接地,对比度还是有点偏高,不过这个不是重点了。

抄来的代码如下:

#include
#include
#include

#define TempSensor A0

OneWire oneWire(TempSensor);
DallasTemperature sensors(&oneWire);

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
 
  //pinMode(TempSensor,INPUT);
  sensors.begin();
 
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Current Temp:");
}

void loop() {
 
  // Get 18B20 Data
  sensors.requestTemperatures();
  float t = sensors.getTempCByIndex(0);
  delay(1000);
 
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0): 
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(t);
 
  lcd.setCursor(6,1);
  lcd.print("C");
}




你可能感兴趣的:(树莓派,&,Arduino)