Brendan Loftus
Published

Donald or Hillary?

This small little program will tell you who won whichever state you want to know about, complete with percentages displayed on 8 LEDs.

IntermediateShowcase (no instructions)1 hour463
Donald or Hillary?

Things used in this project

Story

Read more

Code

election code

C/C++
This connects to your particle which then will turn on and off the LED's depending on what you tell it to do.
int state; //state variable used to control input of desired area
int ledR1 = D4; //first red led
int ledR2 = RX; //second red led
int ledR3 = A3; //third red led
int ledR4 = TX; //fourth red led
int ledB1 = D0; //first blue led
int ledB2 = D1; //second blue led
int ledB3 = WKP; //third blue led
int ledB4 = D3; //fourth blue led
int servoPin = A5;  //declare variable for servo control pin

Servo myservo; // create servo object using the built-in Particle Servo Library

void setup() {
    pinMode(ledR1, OUTPUT);
    pinMode(ledR2, OUTPUT);
    pinMode(ledR3, OUTPUT);
    pinMode(ledR4, OUTPUT);
    pinMode(ledB1, OUTPUT);
    pinMode(ledB2, OUTPUT);
    pinMode(ledB3, OUTPUT);
    pinMode(ledB4, OUTPUT);
    Particle.function("percent", electionPercent);
    digitalWrite(ledR1, LOW);
    analogWrite(ledR2, 0);
    analogWrite(ledR3, 0);
    analogWrite(ledR4, 0);
    analogWrite(ledB1, 0);
    analogWrite(ledB2, 0);
    analogWrite(ledB3, 0);
    analogWrite(ledB4, 0);
    Particle.function("servo", setPos); //creates a Particle function to pass info to the program
    moveServo(0); //reset the servo to the base position
}

void loop() {

}

int turnOff() {
    digitalWrite(ledR1, LOW);
    analogWrite(ledR2, 0);
    analogWrite(ledR3, 0);
    analogWrite(ledR4, 0);
    analogWrite(ledB1, 0);
    analogWrite(ledB2, 0);
    analogWrite(ledB3, 0);
    analogWrite(ledB4, 0);
}


void moveServo(int pos)
{
  myservo.attach(servoPin);  //Initialize the servo attached to the servo control pin
  myservo.write(pos);
  delay(2000);           //debounce and give servo time to move
  myservo.detach();  //disconnect the servo so it doesn't draw power
}

int setPos(String command) {

  if (command == "Democrat") {
      moveServo(30);
      return 0;
  }
  else if (command == "Republican") {
      moveServo(-30);
      return 1;
  }
  else {
    return -1;
  }
}


int electionPercent(String command) {
    turnOff();
    if(command == "Alabama") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 594);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 186);
        setPos("Republican");
        
    }
    if(command == "Alaska") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 164);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 226);
        setPos("Republican");
    }
    if(command == "Arizona") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 121);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 69);
        setPos("Republican");
    }
    if(command == "Arkansas") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 121);
        analogWrite(ledR4, 75);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 176);
        setPos("Republican");
    }
    if(command == "California") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 168);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 19);
        setPos("Democrat");
    }
    if(command == "Colorado") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 56);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 92);
        setPos("Democrat");
    }
    if(command == "Connecticut") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 15);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 185);
        setPos("Democrat");
    }
    if(command == "Delaware") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 24);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 171);
        setPos("Democrat");
    }
    if(command == "Florida") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 116);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 99);
        setPos("Republican");
    }
    if(command == "Georgia") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 144);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 71);
        setPos("Republican");
    }
    if(command == "Hawaii") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 129);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 255);
        analogWrite(ledB4, 29);
        setPos("Democrat");
    }
    if(command == "Idaho") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 245);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 97);
        setPos("Republican");
    }
    if(command == "Illinois") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 247);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 196);
        setPos("Democrat");
    }
    if(command == "Indiana") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 219);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 228);
        setPos("Republican");
    }
    if(command == "Iowa") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 150);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 28);
        setPos("Republican");
    }
    if(command == "Kansas") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 219);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 207);
        setPos("Republican");
    }
    if(command == "Kentucky") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 514);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 162);
        setPos("Republican");
    }
    if(command == "Louisiana") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 231);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 235);
        setPos("Republican");
    }
    if(command == "Maine") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 66);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 101);
        setPos("Democrat");
    }
    if(command == "Massachusetts") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 172);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 255);
        analogWrite(ledB4, 10);
        setPos("Democrat");
    }
    if(command == "Montana") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 210);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 204);
        setPos("Republican");
    }
    if(command == "Missouri") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 218);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 230);
        setPos("Republican");
    }
    if(command == "Mississippi") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 233);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 251);
        setPos("Republican");
    }
    if(command == "Maryland") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 195);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 255);
        analogWrite(ledB4, 6);
        setPos("Democrat");
    }
    if(command == "Michigan") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 97);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 92);
        setPos("Republican");
    }
    if(command == "Minnesota") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 69);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 88);
        setPos("Democrat");
    }
    if(command == "Nebraska") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 160);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 179);
        setPos("Republican");
    }
    if(command == "Nevada") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 70);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 101);
        setPos("Democrat");
    }
    if(command == "New Mexico") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 106);
        setPos("Democrat");
    }
    if(command == "New Jersey") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 23);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 191);
        setPos("Democrat");
    }
    if(command == "New Hampshire") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 93);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 97);
        setPos("Democrat");
    }
    if(command == "North Carolina") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 134);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 85);
        setPos("Republican");
    }
    if(command == "North Dakota") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 835);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 99);
        setPos("Republican");
    }
    if(command == "Ohio") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 154);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 45);
        setPos("Republican");
    }
    if(command == "Oklahoma") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 1092);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 113);
        setPos("Republican");
    }
    if(command == "Oregon") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 14);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 149);
        setPos("Democrat");
    }
    if(command == "Pennsylvania") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 112);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 97);
        setPos("Republican");
    }
    if(command == "Rhode Island") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 252);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 196);
        setPos("Democrat");
    }
    if(command == "South Carolina") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 190);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 10);
        setPos("Republican");
    }
    if(command == "South Dakota") {
        analogWrite(ledR1, 255);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 160);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 149);
        setPos("Republican");
    }
    if(command == "Tennessee") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 225);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 190);
        setPos("Republican");
    }
    if(command == "Texas") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 161);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 43);
        setPos("Republican");
    }
    if(command == "Utah") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 75);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 99);
        setPos("Republican");
    }
    if(command == "Vermont") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 161);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 255);
        analogWrite(ledB4, 14);
        setPos("Democrat");
    }
    if(command == "Virginia") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 64);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 126);
        setPos("Democrat");
    }
    if(command == "Washington") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 232);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 184);
        setPos("Democrat");
    }
    if(command == "Wisconsin") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 101);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 255);
        analogWrite(ledB3, 89);
    }
    if(command == "West Virginia") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 1783);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 83);
        setPos("Republican");
    }
    if(command == "Wyoming") {
        digitalWrite(ledR1, HIGH);
        analogWrite(ledR2, 255);
        analogWrite(ledR3, 255);
        analogWrite(ledR4, 2045);
        analogWrite(ledB1, 255);
        analogWrite(ledB2, 32);
        setPos("Republican");
    }
    else {
        return 1;
    }

    delay(2000);
}

Credits

Brendan Loftus

Brendan Loftus

1 project • 1 follower
Engineering Student

Comments