Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define LED_ON digitalWrite(ledPin, HIGH)
- #define LED_OFF digitalWrite(ledPin, LOW)
- #define DATA_HIGH digitalWrite(dataPin, HIGH)
- #define DATA_LOW digitalWrite(dataPin, LOW)
- int ledPin = 2;
- int dataPin = 22;
- int TimeUS = 400;
- void setup()
- {
- LED_ON;
- Serial.begin(115200);
- pinMode(ledPin, OUTPUT);
- pinMode(dataPin, OUTPUT);
- DATA_LOW;
- delay(1000);
- LED_OFF;
- // mySwitch.enableTransmit(dataPin);
- delay(1000);
- LED_ON;
- delay(1000);
- LED_OFF;
- Serial.println("Finished ini");
- }
- void loop()
- {
- if (Serial.available() > 0) {
- LED_ON;
- // Parse input
- String newVals = Serial.readString();
- int Length = newVals.length() - 1;
- uint16_t newRawData[Length] = {};
- for (int i = 0; i < Length; i++ ) {
- int intVal = newVals.substring(i, i + 1).toInt();
- newRawData[i] = intVal;
- }
- // Print it to Serial for Debugging
- Serial.print("Sending (size: ");
- Serial.print(Length);
- Serial.print(") ;");
- for (int i = 0; i < Length; i++)
- {
- Serial.print(newRawData[i]);
- }
- Serial.print("; ");
- unsigned long before = micros();
- for (int i = 0; i < Length; i++)
- {
- if (newRawData[i] == 0)
- {
- DATA_HIGH;
- delayMicroseconds(TimeUS);
- DATA_LOW;
- delayMicroseconds(TimeUS * 3);
- }
- else
- {
- DATA_HIGH;
- delayMicroseconds(TimeUS * 3);
- DATA_LOW;
- delayMicroseconds(TimeUS);
- }
- }
- unsigned long after = micros();
- unsigned long deltaTime = after - before;
- Serial.println(deltaTime);
- // mySwitch.send(newVals.c_str()); // Send a raw data capture at 38kHz.
- delay(500);
- LED_OFF;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement