Selasa, 27 Februari 2018

Simulasi Arduino dengan Tinkercad


  • Input: 4 button
  • Output: led dan buzzer (4 mode untuk setiap button)
  • int led1 = 4;
    int led2 = 5;
    int led3 = 2;
    int led4 = 3;
    int bt1 = 10;
    int bt2 = 9;
    int bt3 = 8;
    int bt4 = 11;
    int buzzer = 6;
    
    void setup() {
      pinMode(led1, OUTPUT);
      pinMode(led2, OUTPUT);
      pinMode(led3, OUTPUT);
      pinMode(led4, OUTPUT);
      pinMode(bt1, INPUT_PULLUP);
      pinMode(bt2, INPUT_PULLUP);
      pinMode(bt3, INPUT_PULLUP);
      pinMode(bt4, INPUT_PULLUP);
      pinMode(buzzer, OUTPUT);
    }
    
    void loop() {
      int b1 = digitalRead(bt1);
      int b2 = digitalRead(bt2);
      int b3 = digitalRead(bt3);
      int b4 = digitalRead(bt4);
      if(b1 == LOW) {
        mode1();
      }
      else if(b2 == LOW) {
        mode2();
      }
      else if(b3 == LOW) {
        mode3();
      }
      else if(b4 == LOW) {
        wiuwiu();
      }
      else {
        mode0();
      }
    }
    
    void mode0() {
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
    }
    void mode1() {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      delay(150);
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      delay(100);
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      delay(150);
      digitalWrite(led1, LOW);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      delay(150);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      delay(100);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      delay(150);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
    }
    void mode2() {
      digitalWrite(led1, HIGH);
      delay(100);
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      delay(100);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      delay(100);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      delay(100);
      digitalWrite(led4, LOW);
    }
    void mode3() {
      digitalWrite(led4, HIGH);
      delay(100);
      digitalWrite(led4, LOW);
      digitalWrite(led3, HIGH);
      delay(100);
      digitalWrite(led3, LOW);
      digitalWrite(led2, HIGH);
      delay(100);
      digitalWrite(led2, LOW);
      digitalWrite(led1, HIGH);
      delay(100);
      digitalWrite(led1, LOW);
    }
    void wiuwiu() {
      tone(buzzer,1000);  delay(500);
      tone(buzzer,250);
      delay(500);
      noTone(buzzer);
    }
    
    Link: https://www.tinkercad.com/things/j4DM9I0xMGz-led-kelap-kelip/

Tidak ada komentar:

Posting Komentar