Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int ss = 7; // Definerer Pins for knapper
- int k1 = 8;
- int k2 = 9;
- int k3 = 10;
- int k4 = 11;
- int L1 = 2; // Definerer pins for LED
- int L2 = 3;
- int L3 = 4;
- int L4 = 5;
- int range = 0; // Sætter "range" til 0 fra start af
- void setup() {
- pinMode(ss,INPUT); // Definerer inputs og outputs
- pinMode(k1,INPUT);
- pinMode(k2,INPUT);
- pinMode(k3,INPUT);
- pinMode(k4,INPUT);
- pinMode(L1,OUTPUT);
- pinMode(L2,OUTPUT);
- pinMode(L3,OUTPUT);
- pinMode(L4,OUTPUT);
- Serial.begin(9600); // Starter seriel-monitor
- }
- void loop() {
- Serial.println(range); // Printer "range" på seriel monitor
- if (digitalRead(ss) == HIGH && range == 0){ // If sætninger der er afhængige af "Switch-case og tryk på en knap.
- range = 1; // Bygget op så de kommer i en sekvens, det er angivet i switch case,
- } // at range-værdien vil gå rundt og rundt, og ikke kan hoppe frem og tilbage.
- if (digitalRead(k2) == HIGH && range == 2){
- range = 3;
- }
- if (digitalRead(k4) == HIGH && range == 4){
- range = 5;
- }
- if (digitalRead(k1) == HIGH && range == 6){
- range = 7;
- }
- if (digitalRead(k3) == HIGH && range == 8){
- range = 0;
- }
- switch (range) { // Switch case gør så værdien "range" afgør hvilken case der læses.
- case 0: // Break i alle case gør at der kun læses en case hver gang loopet køres.
- digitalWrite(L1,HIGH); // Koden er bygget op så der i alt er 9 cases, det betyder der er cases, som køres indtil der er signal fra en knap.
- digitalWrite(L3,HIGH); // Dette er nødvendigt, fordi koden skal vente på et signal fra knappen, og derved køre loop med det stadie indtil knappen trykkes.
- // (kunne måske undgås med en else funktion)
- Serial.println("Cyl 1 og 2 i udgangsposition");
- break;
- case 1:
- digitalWrite(L1,LOW);
- Serial.println("Cyl 1 bevægelse"); // I switch case cirkulerer jeg hele tiden, så en knap får en cylinder i bevægelse, og ender ved en anden knap.
- delay(1000); // Her skriver jeg det ud på den serielle monitor, og lægger 1 til "range".
- range ++;
- break;
- case 2:
- digitalWrite(L2,HIGH);
- Serial.println("Cyl 1 ude");
- break;
- case 3:
- digitalWrite(L3,LOW);
- Serial.println("Cyl 2 bevægelse");
- delay(1000);
- range ++;
- break;
- case 4:
- digitalWrite(L4,HIGH);
- Serial.println("Cyl 2 ude");
- break;
- case 5:
- digitalWrite(L2,LOW);
- Serial.println("Cyl 1 bevægelse");
- delay(1000);
- range ++;
- break;
- case 6:
- digitalWrite(L1,HIGH);
- Serial.println("Cyl 1 inde");
- break;
- case 7:
- digitalWrite(L4,LOW);
- Serial.println("Cyl 2 bevægelse");
- delay(1000);
- range ++;
- break;
- case 8:
- digitalWrite(L3,HIGH);
- Serial.println("Cyl 2 inde");
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement