Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Auteur: Willam "No dox" Crane
- Laatst geweizigd: 18-01-2017
- */
- const int led16 = 3; // the PWM pin the LED is attached to
- const int led06 = 5;
- const int led63 = 6;
- const int led59 = 9;
- const int outcomeLed = 4;
- const int lButton = 1;
- const int rButton = 2;
- const int stateHigh = 255;
- const int stateLow = 10;
- const int led16opslag = 0;
- const int led06opslag = 1;
- const int led63opslag = 2;
- const int led59opslag = 3;
- int ledStates[] = { 0, 0, 0, 0 };
- int ledPins[] = { 3, 5, 6, 9 };
- int userState = 0;
- int ledState = stateLow;
- int lastlButton = 0;
- int lastrButton = 0;
- int lButtonState = 0;
- int rButtonState = 0;
- // the setup routine runs once when you press reset:
- void setup() {
- // declare pin 9 to be an output:
- pinMode(led16, OUTPUT);
- pinMode(led06, OUTPUT);
- pinMode(led63, OUTPUT);
- pinMode(led59, OUTPUT);
- pinMode(outcomeLed, OUTPUT);
- pinMode(lButton, INPUT);
- pinMode(rButton, INPUT);
- }
- // the loop routine runs over and over again forever:
- void loop() {
- lastlButton = lButtonState;
- lButtonState = digitalRead(lButton);
- if (debounceL(lButtonState) == HIGH && lastlButton == LOW){
- userState++;
- if (userState > 5){
- userState = 0;
- }
- }
- else if (debounceL(lButtonState) == LOW && lastlButton == HIGH){
- lastlButton = lButtonState;
- }
- switch(userState){
- case 0:
- //analogWrite(led16, ledWijzig(analogRead(3)));
- ledWijzig(ledPins[led16opslag]);
- break;
- case 1:
- //analogWrite(led06, ledWijzig(analogRead(5)));
- ledWijzig(ledPins[led06opslag]);
- break;
- case 2:
- //analogWrite(led63, ledWijzig(analogRead(6)));
- ledWijzig(led63);
- break;
- case 3:
- //analogWrite(led59, ledWijzig(analogRead(9)));
- ledWijzig(led59);
- break;
- case 4:
- willam();
- break;
- case 5:
- dimmed();
- digitalWrite(outcomeLed, LOW);
- break;
- }
- }
- void dimmed(){
- analogWrite(led16, stateLow);
- analogWrite(led06, stateLow);
- analogWrite(led63, stateLow);
- analogWrite(led59, stateLow);
- }
- int ledWijzig(int ledNummer)
- {
- lastrButton = rButtonState;
- rButtonState = digitalRead(rButton);
- if (debounceR(rButtonState) == HIGH && lastrButton == LOW){
- ledState = ( ledState == stateLow ? stateHigh : stateLow ); // Trinary operator, look it up!
- analogWrite(ledNummer, ledState);
- }
- else if (debounceR(rButtonState) == LOW && lastrButton == HIGH){
- lastrButton = rButtonState;
- }
- }
- void willam(){
- if (((!led16 && led06) || (led63 || led59)) == true){
- digitalWrite(outcomeLed, HIGH);
- }
- else {
- digitalWrite(outcomeLed, LOW);
- }
- }
- boolean debounceL(boolean state){
- delay(10);
- boolean stateNow = digitalRead(lButton);
- if(state != stateNow){
- stateNow = LOW;
- }
- return stateNow;
- }
- boolean debounceR(boolean state){
- delay(10);
- boolean stateNow = digitalRead(rButton);
- if(state != stateNow){
- stateNow = LOW;
- }
- return stateNow;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement