Tugas Pendahuluan 2




Tugas Pendahuluan 2 Modul 1
(Percobaan 2 Kondisi 4)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. Push Button





3. LED




4. Resistor





5. Ground


Diagram Blok:



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :




Prinsip Kerja :

Rangkaian diatas merupakan rangkaian percobaan 2 kondisi 4 dengan 16 (4x4) keypad yang disusun menyerupai rangkaian dalam dari keypad. Output rangkaian ini pada bagian horizontal terhubung dengan pin A1-A4 arduino. Sementara secara vertikal input rangkaian keypad ini terhubung ke pin 10-13. Sementara itu, pin 2 sampai 9 arduino secara berurutan terhubung ke pin A sampai G serta DP seven segment
Ketika button ditekan,arduino membaca input dari keypad dan menampilkan karakter yang sesuai pada seven segment. Karakter yang muncul sesuai dengan program yang sudah ada. Setelahkarakter ditampilkan, program menunggu selama 5 detik sebelum menghapus tampilan , proses ini dilakukan berulang
 
4. Flowchart dan Listing Program [Kembali]

Flowchart :



Listing Program :

// Percobaan 2 Kondisi 4

#include <Keypad.h>

// Dimensi keypad
const byte ROWS = 4;
const byte COLS = 4;

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

// Pin yang terhubung ke baris dan kolom keypad
byte rowPins[ROWS] = {A4, A3, A2, A1};
byte colPins[COLS] = {10, 11, 12, 13};

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

// Pin yang terhubung ke segmen seven-segment display
const int segmentPins[] = {9, 8, 7, 6, 5, 4, 3, 2};

// Pola segmen untuk setiap digit (0-9, A-D)
byte patterns[][8] = {
  {0, 0, 0, 0, 0, 0, 1, 1}, // 0
  {1, 0, 0, 1, 1, 1, 1, 1}, // 1
  {0, 0, 1, 0, 0, 1, 0, 1}, // 2
  {0, 0, 0, 0, 1, 1, 0, 1}, // 3
  {1, 0, 0, 1, 1, 0, 0, 1}, // 4
  {0, 1, 0, 0, 1, 0, 0, 1}, // 5
  {0, 1, 0, 0, 0, 0, 0, 1}, // 6
  {0, 0, 0, 1, 1, 1, 1, 1}, // 7
  {0, 0, 0, 0, 0, 0, 0, 1}, // 8
  {0, 0, 0, 0, 1, 0, 0, 1}, // 9
  {0, 0, 0, 0, 0, 1, 0, 1}, // A
  {0, 1, 1, 1, 1, 1, 0, 0}, // B
  {0, 1, 1, 0, 0, 0, 1, 1}, // C
  {1, 0, 0, 0, 0, 1, 0, 1}, // D
};

// Fungsi untuk setup
void setup() {
  // Inisialisasi pin untuk seven-segment display sebagai output
  for (int i = 0; i < 8; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

// Fungsi untuk loop utama
void loop() {
  // Mendapatkan tombol yang ditekan
  char key = keypad.getKey();

  // Jika ada tombol yang ditekan
  if (key) {
    // Menampilkan karakter pada seven-segment display
    if ((key >= '0' && key <= '9') || (key >= 'A' && key <= 'D')) {
      // Mendapatkan indeks digit/huruf
      int index = (key <= '9') ? (key - '0') : (key - 'A' + 10);
      
      // Menulis pola ke pin segmen
      for (int i = 0; i < 8; i++) {
        digitalWrite(segmentPins[i], patterns[index][i]);
      }
    }
    
    // Tunda selama 5 detik
    delay(5000);
    
    // Menghapus tampilan
    clearDisplay();
  }
}

// Fungsi untuk membersihkan display
void clearDisplay() {
  // Mengatur semua pin segmen ke HIGH (mati)
  for (int i = 0; i < 8; i++) {
    digitalWrite(segmentPins[i], HIGH);
  }
}

5. Kondisi [Kembali]

Percobaan 2 Kondisi 4
Button baris 2 kolom 4 menampilkan huruf b
Button pada rangkaian disusun menyerupai rangkaian interpretasi keypad dimana kita dapat menghitung jumlah button yaitu terdapat sebanyak 16 (4x4) buah button. Sesuai kondisi kita ketahui bahwa diminta untuk button baris kedua kolom 4 yaitu button yang jika kita hitung dari sebelah kiri dari atas ke bawah yaitu button nomer 8 , dan sesuai dengan program yang telah dibuat maka seven segment akan menampilkan karakter yang sesuai, dalamn hal ini adalah huruf b.

6. Video Simulasi [Kembali]




7. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Seven Segment klik disini
Datasheet Button klik disini













BAHAN PRESENTASI MATA KULIAH JURUSAN TEKNIK ELEKTRO