//20/06/2022 19:38:53 //Car Temperatures //Arduino UNO, Classic BT using HC-05 module #include #include #include #define ONE_WIRE_BUS 4 #define TEMPERATURE_PRECISION 10 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); // Addresses of 4 DS18B20s Change these to match temp sensors used uint8_t sensor1[8] = { 0x28, 0x73, 0x7D, 0x7D, 0x08, 0x00, 0x00, 0x4E };//engine------------sensor #29 uint8_t sensor2[8] = { 0x28, 0x11, 0xAD, 0x6D, 0x08, 0x00, 0x00, 0x85 };//transmission #1---sensor #28 uint8_t sensor3[8] = { 0x28, 0xFF, 0x5F, 0x98, 0xA1, 0x15, 0x04, 0x60 };//transmission #2 uint8_t sensor4[8] = { 0x28, 0xFF, 0x11, 0x57, 0x73, 0x15, 0x01, 0xE1 };//outside // Bluetooth HC05 module #define rxPin 10 //HC05 tx #define txPin 11 //HC05 rx SoftwareSerial HC05(rxPin, txPin); float fgTemperature1; float fgTemperature2; float fgTemperature3; float fgTemperature4; unsigned long lgUpdateTime; void setup(void) { pinMode(txPin, OUTPUT); Serial.begin(9600); HC05.begin(9600); sensors.begin(); sensors.setResolution(sensor1, TEMPERATURE_PRECISION); sensors.setResolution(sensor2, TEMPERATURE_PRECISION); lgUpdateTime = millis(); } void loop(void) { if(millis() - lgUpdateTime > 5000) //Loop approx every 5 seconds (Tweak this later as required. Note App time interval should be 20% shorter) { lgUpdateTime = millis(); //Data fgTemperature1 = sensors.getTempF(sensor1); fgTemperature2 = sensors.getTempF(sensor2); fgTemperature3 = sensors.getTempF(sensor3); fgTemperature4 = sensors.getTempF(sensor4); //Output //To PC Arduino Serial Monitor via USB Serial.print("Engine Temp = "); Serial.println(fgTemperature1, 0); Serial.print("Transmission Temp 1 = "); Serial.println(fgTemperature2, 0); Serial.print("Transmission Temp 2 = "); Serial.println(fgTemperature3, 0); Serial.print("Outside Temp = "); Serial.println(fgTemperature4, 0); Serial.println("----------------"); //To Android App via Bluetooth HC05 HC05.print(fgTemperature1,0); HC05.print("|"); HC05.print(fgTemperature2,0); HC05.print("|"); HC05.print(fgTemperature3,0); HC05.print("|"); HC05.print(fgTemperature4,0); HC05.println(); } }