Senin, 04 Maret 2024

Tugas Pendahuluan 1 Modul 1



Percobaan 2 Kondisi 7
Button baris 1 kolom 4 menampilkan huruf a

1. Prosedur
[Kembali]
  • Rangkailah semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai, masukkan program ke arduino 
  • Jalankan program pada simulasi dan lakukan sesuai kondisi
2. Hardware dan diagram blok [Kembali]
      a. hardware
                 
                                                      
1. Arduino Uno
2. Dipswitch_4
3. Button
4. 7-Segment 

            b. Digram Blok





3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
Gambar Rangkaian Sebelum Disimulasikan
                                    


Gambar Rangkaian Setelah Disimulasikan
                                        
PRINSIP KERJA
    Pada percobaan 2 Kondisi 7, diinstruksikan bahwa button baris 1 kolom 4 menampilkan huruf a. Untuk menampilkan setiap output pada seven segmen bergantung pada button dan kodingan yang terdapat pada arduino.

Fungsi loop() membaca input dari keypad menggunakan objek button. Jika tombol 'a' ditekan, program akan masuk ke dalam kondisi di mana karakter 'a' akan ditampilkan pada seven-segment display. Fungsi displayCharacter('a') akan dipanggil dengan parameter 'a'. Fungsi ini kemudian mengidentifikasi indeks yang sesuai untuk huruf 'a' pada array pattern[8]. Setelah indeks teridentifikasi, program menggunakan loop untuk menyalakan atau mematikan pin-pins segment pada seven-segment display berdasarkan pola yang telah ditentukan untuk huruf 'a' dalam array patterns[8]. Dengan menyalakan atau mematikan pin-pin segment sesuai dengan pola yang ditentukan, huruf 'a' akan terbentuk pada seven-segment display. Setelah menampilkan huruf 'a' selama 1 detik, fungsi clearDisplay() dipanggil untuk mematikan semua segment, menjadikan tampilan kosong.


4. FlowChart [Kembali]

a. Listing Program 

//Percobaan 2
#include <Keypad.h>

const byte ROWS = 4; // Empat baris
const byte COLS = 4; // Empat kolom

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'}, // Layout keypad 4x4
  {'7','8','9','C'},
  {'*','0','#', 'D'}
};

byte rowPins[ROWS] = {A4, A3, A2, A1}; // Hubungkan dengan pin baris keypad
byte colPins[COLS] = {10, 11, 12, 13}; // Hubungkan dengan pin kolom keypad

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

const int segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Hubungkan dengan pin-pins segment seven-segment display

void setup() {
  for (int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
    digitalWrite(segmentPins[i], HIGH); // Atur semua segment off (common anode)
  }
}

void loop() {
  char key = keypad.getKey();
  if (key) {
    displayCharacter(key);
    delay(1000);
    clearDisplay();
  }
}

void displayCharacter(char ch) {
  // Definisikan pola segment untuk setiap digit (0-9)
  // Contoh: Menampilkan '1'
  //  A
  // F B
  //  G
  // E C
  //  D
  byte patterns[][8] = {
    {0, 0, 0, 0, 0, 0, 1}, // 0
    {1, 0, 0, 1, 1, 1, 1}, // 1
    {0, 0, 1, 0, 0, 1, 0}, // 2
    {0, 0, 0, 0, 1, 1, 0}, // 3
    {1, 0, 0, 1, 1, 0, 0}, // 4
    {0, 1, 0, 0, 1, 0, 0}, // 5
    {0, 1, 0, 0, 0, 0, 0}, // 6
    {0, 0, 0, 1, 1, 1, 1}, // 7
    {0, 0, 0, 0, 0, 0, 0}, // 8
    {0, 0, 0, 0, 1, 0, 0}, // 9
    {0, 0, 0, 0, 0, 1, 0}, // A
    {1, 1, 0, 0, 0, 0, 0}, // B
    {0, 1, 1, 0, 0, 0, 1}, // C
    {1, 0, 0, 0, 0, 1, 0}  // D
  };

  int index;
  if (ch >= '0' && ch <= '9') {
    index = ch - '0';
  } else if (ch >= 'A' && ch <= 'D') {
    index = ch - 'A' + 10;
  } else {
    return;
  }

  // Tulis pola ke pin-pin segment
  for (int i = 0; i < 7; i++) {
    digitalWrite(segmentPins[i], patterns[index][i]);
  }
}

void clearDisplay() {
  for (int i = 0; i < 8; i++) {
    digitalWrite(segmentPins[i], HIGH); // Matikan semua segment
  }
}


b. Flowchart




5. Kondisi [Kembali]

Pada percobaan 2 kondisi 7 kondisi rangkaian yaitu Button baris 1 kolom 4 menampilkan huruf a

6. Video Simulasi [Kembali]
                                           

  

7. Download File [Kembali]

Rangkaian Simulasi  klik disini
Video Simulasi klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Push Button klik disini
Datasheet Seven Segmen klik disini

Tidak ada komentar:

Posting Komentar

MODUL 4

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