本帖最后由 topdog 于 2020-11-29 21:27 编辑
一,安装库的注意事项:
(1)LiquidCrystal 库是Arduino IDE自带的,一般在安装目录下路径 C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\,重复的需要删除。最新版本是1.0.7。(2)DallasTemperature库需要onewire库一起使用,可以直接用Arduino IDE在选择项中选择共同下载。
二、硬件接线和软体编程的注意事项:
A:硬件接线
LCD RS引脚到数字引脚12
LCD EN引脚到数字引脚11
LCD D4引脚到数字引脚9
LCD D5引脚到数字引脚8
LCD D6引脚到数字引脚7
LCD D7引脚到数字引脚6
LCD R/W引脚对GND
18B20信号引脚和5V引脚之间的电阻为4.7K
B:软体编程
(1)通过关联任何需要的LCD接口引脚来初始化库。
const int rs = 12, en = 11, d4 = 9, d5 = 8, d6 = 7, d7 = 6;
(2)与所连接的arduino pin码连接。
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
(3)float自带小数不需要再计算了,画蛇添足。
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
float tempF = 0;
const int rs = 12, en = 11, d4 = 9, d5 = 8, d6 = 7, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
//LiquidCrystal lcd(12,11,9,8,7,6);
void setup() {
Serial.begin(9600);
sensors.begin();
lcd.begin(16,2);
lcd.clear();
}
void loop() {
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);
Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print("C: ");
lcd.print(tempC);
lcd.print(" degrees");
lcd.setCursor(0,1);
lcd.print("F: ");
lcd.print(tempF);
lcd.print(" degrees");
}
|