溫度即時繪圖
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
#define ONE_WIRE_BUS 2
SoftwareSerial BT(6,9); // TX:10, RX:11\
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
byte serialA;
int y ;
float x ;
float M ;
float m = 50 ;
void setup(){
Serial.begin(115200);
BT.begin(115200);
sensors.begin();
lcd.init();
lcd.backlight();
Serial.println(" t , T");
}
void loop (){
sensors.requestTemperatures();
y = 55 + sensors.getTempCByIndex(0) ;
x = sensors.getTempCByIndex(0) ;
if (x < m) { m = x; }
if (x > M) { M = x; }
lcd.setCursor(0,0);
lcd.print("Now:");
lcd.setCursor(5,0);
lcd.print(sensors.getTempCByIndex(0), 1);
lcd.print((char) 0xDF);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print(M,1);
lcd.print((char) 0xDF);
lcd.print("C");
lcd.setCursor(8,1);
lcd.print(m,1);
lcd.print((char) 0xDF);
lcd.print("C");
Serial.print(millis()/1000.00, 2);
Serial.print(" , ");
Serial.println(x);
byte Data[3];
Data[0]='a';
Data[1]=y/256;
Data[2]=y%256;
serialA=BT.read();
if (serialA == 49){
for(int j=0;j<=2;j++){
BT.write(Data[j]);
serialA = 0;
}
}
}