// start of macros dbg and dbgi
#define dbg(myFixedText, variableName) \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName);
// usage: dbg("1:my fixed text",myVariable);
// myVariable can be any variable or expression that is defined in scope
#define dbgi(myFixedText, variableName,timeInterval) \
do { \
static unsigned long intervalStartTime; \
if ( millis() - intervalStartTime >= timeInterval ){ \
intervalStartTime = millis(); \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName); \
} \
} while (false);
// usage: dbgi("2:my fixed text",myVariable,1000);
// myVariable can be any variable or expression that is defined in scope
// third parameter is the time in milliseconds that must pass by until the next time a
// Serial.print is executed
// end of macros dbg and dbgi
#include <Servo.h>
Servo servo;
int moisture_sensor = 8;
int servo_motor = 9;
int ir_sensor = 5;
int val;
int irSens;
int angle;
String debugMsg;
void setup() {
Serial.begin(115200);
servo.attach( servo_motor );
pinMode(moisture_sensor, INPUT);
pinMode(ir_sensor, INPUT);
}
void loop() {
val = digitalRead(moisture_sensor );
irSens = digitalRead(ir_sensor);
if (irSens == LOW && val == 0)
{
angle = 0;
servo.write(angle);
}
else if (irSens == HIGH && val == 1)
{
angle = 180;
servo.write(angle);
}
else
{ angle = 0;
servo.write(angle);
}
debugMsg = "moisture=";
debugMsg += val;
debugMsg += " IR-Sensor=";
debugMsg += irSens;
debugMsg += " angle=";
debugMsg += angle;
dbgi("Msg ",debugMsg,1000);
}