#define led 3
#define pot A0
unsigned long current_time = 0;
String command;
String print_time(unsigned long time){
time = time / 1000;
long SS = time % 60;
long MM = time / 60;
long HH = MM / 60;
MM =MM % 60;
return (String(HH) + ":" + String(MM) + ":" + String(SS));
}
int adcval = 0;
float voltage = 0.00;
void setup(){
Serial.begin(115200);
pinMode(A0, INPUT);
pinMode(led, OUTPUT);
}
void loop(){
while(Serial.available() == 0);
command = Serial.readString();
command.trim();
if(command == "AT")
Serial.println("OK");
else if(command == "AT+LED=ON"){
digitalWrite(led, HIGH);
Serial.println("+LED: ON ");
}
else if(command == "AT+LED=OFF"){
digitalWrite(led, LOW);
Serial.println("+LED: LOW ");
}
else if(command == "AT+SYS_ON_TIME"){
current_time = millis();
Serial.println("+SYS_ON_TIME : " + print_time(current_time));
}
else if(command == "AT+LED_STATUS?"){
if(digitalRead(led))
Serial.println("+LED_STATUS : ON");
else
Serial.println("+LED_STATUS : OFF");
}
else if(command == "AT+ADC_VALUE?"){
adcval = analogRead(pot);
Serial.println("+ADC_VALUE: " + String(adcval));
}
else if(command == "AT+ADC_VOLTAGE?"){
voltage = analogRead(pot) * 5.00 / 1024.00;
Serial.println("+ADC_VOLTAGE: " + String(voltage));
}
else
Serial.println("INVALID COMMAND, TRY AGAIN");
delay(250);
}