in reply to Re^3: Win32 Serial Read input from device
in thread Win32 Serial Read input from device

Below is the simple arduino sketch thanks for looking into this.
#define relay1a 3 #define relay1b 2 #define button 4 #define SIG_R_1 5 #define SIG_G_1 6 #define SIG_R_2 7 #define SIG_G_2 8 #define SIG_MG_1 9 #define SIG_MY_1 10 int buttonState; int lastButtonState = LOW; int flag = 0; unsigned long lastDebounceTime = 0; //last time the pin was toggled, +used to keep track of time unsigned long debounceDelay = 100; //the debounce time which user s +ets prior to run void setup() { Serial.begin(9600); pinMode(relay1a, OUTPUT); pinMode(relay1b, OUTPUT); pinMode(SIG_R_1, OUTPUT); pinMode(SIG_G_1, OUTPUT); pinMode(SIG_R_2, OUTPUT); pinMode(SIG_G_2, OUTPUT); pinMode(SIG_MG_1, OUTPUT); pinMode(SIG_MY_1, OUTPUT); pinMode(button, INPUT); // SET RELAYS digitalWrite(relay1a, LOW); digitalWrite(relay1b, HIGH); digitalWrite(SIG_R_1, LOW); digitalWrite(SIG_G_1, HIGH); digitalWrite(SIG_R_2, HIGH); digitalWrite(SIG_G_2, LOW); digitalWrite(SIG_MG_1, HIGH); digitalWrite(SIG_MY_1, LOW); delay(500); digitalWrite(relay1a, HIGH); digitalWrite(relay1b, LOW); digitalWrite(SIG_R_1, HIGH); digitalWrite(SIG_G_1, LOW); digitalWrite(SIG_R_2, LOW); digitalWrite(SIG_G_2, HIGH); digitalWrite(SIG_MG_1, LOW); digitalWrite(SIG_MY_1, HIGH); delay(500); digitalWrite(relay1a, LOW); digitalWrite(relay1b, HIGH); digitalWrite(SIG_R_1, LOW); digitalWrite(SIG_G_1, HIGH); digitalWrite(SIG_R_2, HIGH); digitalWrite(SIG_G_2, LOW); digitalWrite(SIG_MG_1, HIGH); digitalWrite(SIG_MY_1, LOW); delay(500); digitalWrite(relay1a, HIGH); digitalWrite(relay1b, LOW); digitalWrite(SIG_R_1, HIGH); digitalWrite(SIG_G_1, LOW); digitalWrite(SIG_R_2, LOW); digitalWrite(SIG_G_2, HIGH); digitalWrite(SIG_MG_1, LOW); digitalWrite(SIG_MY_1, HIGH); delay(500); digitalWrite(relay1a, HIGH); digitalWrite(relay1b, HIGH); digitalWrite(SIG_R_1, LOW); // RED MAIN OFF digitalWrite(SIG_G_1, HIGH); // GREEN MAIN ON digitalWrite(SIG_R_2, HIGH); // RED SIDING ON digitalWrite(SIG_G_2, LOW); // GREEN SIDING OFF digitalWrite(SIG_MG_1, HIGH); // GREEN MAIN ON digitalWrite(SIG_MY_1, LOW); // YELLOW MAIN OFF } // END SETUP void loop() { int reading = digitalRead(button); if (reading != lastButtonState) { lastDebounceTime = millis(); } if ((millis()-lastDebounceTime) > debounceDelay) { if (reading != buttonState) { buttonState = reading; if (buttonState == HIGH) { if (flag == 0) { digitalWrite(SIG_R_1, HIGH); digitalWrite(SIG_G_1, LOW); digitalWrite(SIG_R_2, LOW); digitalWrite(SIG_G_2, HIGH); digitalWrite(SIG_MG_1, LOW); digitalWrite(SIG_MY_1, HIGH); digitalWrite(relay1a, LOW); // ON delay(50); digitalWrite(relay1a, HIGH); // OFF flag = 1; Serial.println("BONE\r"); //ledState = !ledState; } // IF FLAG 0 else if (flag == 1){ digitalWrite(SIG_R_1, LOW); digitalWrite(SIG_G_1, HIGH); digitalWrite(SIG_R_2, HIGH); digitalWrite(SIG_G_2, LOW); digitalWrite(SIG_MG_1, HIGH); digitalWrite(SIG_MY_1, LOW); digitalWrite(relay1b, LOW); // ON delay(50); digitalWrite(relay1b, HIGH); // OFF flag = 0; Serial.println("BTWO"); } // IF FLAG TWO } // IF BUTTON STATE } // IF READING } // IF MILLIS lastButtonState = reading; // TEST SERIAL if(Serial.available() > 0) { int in = Serial.read(); // PERL TEST switch(in) { case '1': digitalWrite(SIG_R_1, HIGH); digitalWrite(SIG_G_1, LOW); digitalWrite(SIG_R_2, LOW); digitalWrite(SIG_G_2, HIGH); digitalWrite(SIG_MG_1, LOW); digitalWrite(SIG_MY_1, HIGH); digitalWrite(relay1a, LOW); // ON delay(50); digitalWrite(relay1a, HIGH); // OFF break; case '2': digitalWrite(SIG_R_1, LOW); digitalWrite(SIG_G_1, HIGH); digitalWrite(SIG_R_2, HIGH); digitalWrite(SIG_G_2, LOW); digitalWrite(SIG_MG_1, HIGH); digitalWrite(SIG_MY_1, LOW); digitalWrite(relay1b, LOW); // ON delay(50); digitalWrite(relay1b, HIGH); // OFF break; } // END SWITCH } // END SERIAL // END TEST SERIAL } // END LOOP

Replies are listed 'Best First'.
Re^5: Win32 Serial Read input from device
by stevieb (Canon) on Mar 26, 2018 at 22:57 UTC

    All you're trying to do here is read from Serial, yes?

    In other words, the other pins mean pretty much nothing regarding the test.

    If so, I'll perform a test here shortly.

      Correct read from serial

        Alright. Give me a bit here. I'm not an instant gratification person myself, but when it comes time to give gifts to others, I'm a sucker. My wife's birthday is on 420, but I received something for her today far in advance of when I expected it, and want to present it.

        I'll then throw together a breadboard with one of my UNOs or Trinkets and replicate what you have against one of my Windows systems.

        The hope is I'll be able to do so within the next couple of hours or so.