Page 149 - Programming the Photon Getting Started With the Internet of Things
P. 149

Here is the code to switch on the lightbulb:


        int RELAY1 = D3;
        int RELAY2 = D4;
        int RELAY3 = D5;

        int RELAY4 = D6;


        void setup()
        {
           //Initialize the relay control pins as output

           pinMode(RELAY1, OUTPUT);
           pinMode(RELAY2, OUTPUT);
           pinMode(RELAY3, OUTPUT);

           pinMode(RELAY4, OUTPUT);
           // Initialize all relays to an OFF state
           digitalWrite(RELAY1, LOW);
           digitalWrite(RELAY2, LOW);
           digitalWrite(RELAY3, LOW);

           digitalWrite(RELAY4, LOW);


           //register the Spark function

           Spark.function("relay", relayControl);
        }


        void loop()
        {

           // This loops forever
        }



        // command format r1,HIGH
        int relayControl(String command)
        {
          int relayState = 0;
          // parse the relay number

          int relayNumber = command.charAt(1) - '0';
          // do a sanity check
          if (relayNumber < 1 || relayNumber > 4) return -1;



          // find out the state of the relay
          if (command.substring(3,7) == "HIGH") relayState = 1;
          else if (command.substring(3,6) == "LOW") relayState = 0;

          else return -1;
   144   145   146   147   148   149   150   151   152   153   154