Thank you so much david_2018 and gcjr!
The working version:
// Use SI!
// Device: t
#include "OneWire.h"
#include "DallasTemperature.h"
#define T 5
OneWire w1(T);
DallasTemperature sensors(&w1);
// end device
// Device: l
// LED_BUILTIN, pin 13
// end device
void setup() {
Serial.begin(115200);
sensors.begin();
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (Serial.available()) {
char cmd = Serial.read();
switch (cmd) {
case 't':
{
sensors.requestTemperatures();
float t = sensors.getTempCByIndex(0);
Serial.print("t:");
Serial.println(t);
}
break;
case 'l':
if (Serial.available()) {
char arg = Serial.read();
switch (arg) {
case '0':
digitalWrite(LED_BUILTIN, LOW);
break;
case '1':
digitalWrite(LED_BUILTIN, HIGH);
break;
}
}
break;
default:
Serial.print("Available commands:_");
Serial.print("\tt -> read temperature;_");
Serial.print("\tl0 -> turn built-in led off;_");
Serial.print("\tl1 -> turn built-in led on;_");
Serial.println();
break;
}
}
delay(1000);
}