/* */ #define Sensor_OUT 4 void setup() { pinMode(Sensor_OUT, OUTPUT); pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); } void loop() { // msg is 440ms total, rate is 1000ms // sync 9 ms low 5ms hi, 14ms total digitalWrite(Sensor_OUT, LOW); delay(9); digitalWrite(Sensor_OUT, HIGH); delay(5); digitalWrite(Sensor_OUT, LOW); //data 60*2ms + 60*4ms = 360ms for (int i=0;i<60;i++) { delay(1); digitalWrite(Sensor_OUT, HIGH); delay(1); digitalWrite(Sensor_OUT, LOW); delay(1); digitalWrite(Sensor_OUT, HIGH); delay(3); digitalWrite(Sensor_OUT, LOW); } // pause delay(1); digitalWrite(Sensor_OUT, HIGH); delay(660); //1000-440=660ms }