Senin, 29 April 2024

Tugas Pendahuluan 1 P1K3




Tugas Pendahuluan Modul 3
Percobaan 1 Kondisi 3
1. Prosedur
[Kembali]
1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
2. Buat program menggunakan Arduino IDE.
3. Transfer program yang telah dibuat ke Arduino yang ada di Proteus.
4. Uji coba program di simulasi sesuai dengan kondisi yang diinginkan.
5. Proses selesai setelah uji coba berhasil dilakukan.

2. Hardware dan Diagram Blok [Kembali]

a. Hardware
1. Modul Arduino Uno


spesifikasi: 



3. LED




4. Resistor


5. Power Supply




6. Ground




7. Switch




b. diagram blok


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

A. Rangkaian Simulasi


B. Prinsip Kerja

Program yang telah dibuat dijalankan dan program akan masuk ke arduino master, kemudian program akan berjalan ke loop utama, dan terjadi perhitungan jumlah switch yang aktif karena telah diperintahkan di dalam program. Dan kondisi pertama yaitu semua switch dalam kondisi pull up (aktif), maka 3 led akan aktif, dan untuk kondisi kedua adalah 5 switch aktif maka akan mengaktifkan led running dari led kedua hingga led keenam. Apabila diluar dari dua kondisi tersebut maka tidak akan ada led yang menyala. Perintah pada master ini akan dikirim ke slave dan nantinya slave akan terhubung ke led.


4. Flowchart dan Listing Program [Kembali]

a. Flowchart




b. Listing Program

Master:
int sw[] = {2, 3, 4, 5, 6, 7}; // Pin untuk switch
int i, sw_on;
char previous_state = '\0';

void setup() {
  Serial.begin(9600);
  for (i = 0; i < 6; i++) {
    pinMode(sw[i], INPUT_PULLUP); // Mengatur semua switch sebagai input pull-up
  }
}

void penjumlahan() {
  sw_on = 0;
  for (i = 0; i < 6; i++) {
    sw_on += digitalRead(sw[i]);
  }
}

void loop() {
  penjumlahan();
  char current_state;
  if (sw_on == 6) { // Jika semua switch aktif
    current_state = 'A';
  } else if (sw_on == 5) { // Jika ada 5 switch aktif
    current_state = 'B';
  } else {
    current_state = 'a';
  }

  if (current_state != previous_state) {
    Serial.write(current_state);
    previous_state = current_state;
  }
}




Slave:
int led[] = {2, 3, 4, 5, 6, 7}; // Pin untuk LED
int i;
char previous_message = '\0';

void setup() {
  Serial.begin(9600);
  for (i = 0; i < 6; i++) {
    pinMode(led[i], OUTPUT);
  }
}

void loop() {
  if (Serial.available()) {
    char message = Serial.read();
    if (message != previous_message) { // Check if the received message is different from the previous one
      previous_message = message; // Update previous_message
      if (message == 'A') { // Jika semua switch aktif
        for (i = 0; i < 3; i++) {
          digitalWrite(led[i], HIGH); // Mengaktifkan semua LED dari 2-4
        }
        for (i = 3; i < 6; i++) {
          digitalWrite(led[i], LOW); // Mematikan LED dari 5-7
        }
      } else if (message == 'B') { // Jika ada 5 switch aktif
        for (i = 0; i < 6; i++) {
          digitalWrite(led[i], HIGH); // Mengaktifkan running LED dari 3-7
          delay(500);
          digitalWrite(led[i], LOW);
        }
      } else if (message == 'a') { // Jika tidak ada switch aktif
        for (i = 0; i < 6; i++) {
          digitalWrite(led[i], LOW);
        }
      }
    }
  }
}

5. Kondisi [Kembali]

Percobaan 1 Kondisi 3

Semua switch dalam kondisi pull- up, semua switch mengaktifkan 3 LED sementara 5 switch mengaktifkan running LED kedua hingga ke enam.


6. Video Simulasi [Kembali]



7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Program Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet LED klik disini








Tidak ada komentar:

Posting Komentar

Modul 4

Smart Parking Area [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. ...