Tugas Pendahuluan 2 uP dan uC (Modul 1)




Tugas Pendahuluan 2 Modul 1
(Percobaan 2 Kondisi 1)

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]





2. Push Button





3. Seven Segment 2 Digit






Blok Diagram :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :


Prinsip Kerja :

Pada rangkaian diatas, digunakan push button yang diatur seperti keypad 4x4 sebagai input untuk memasukkan angka. Push button tersebut tersusun dalam matriks 4 baris dan 4 kolom. Push button tersebut dihubungkan ke arduino dengan konfigurasi; baris keypad dihubungkan ke pin A4, A3, A2, A1 dan kolom keypad dihubungkan ke pin 10, 11, 12, 13. Kemudian output dari arduino berupa 7-segment common anoda 2 digit dihubungkan ke pin 9, 8, 7, 6, 5, 4, 3, 2 pada arduino
Ketika salah satu push button ditekan,  Mikrokontroler akan memindai setiap baris secara bergantian untuk mendeteksi push button yang ditekan, dan setelah baris yang ditekan teridentifikasi, mikrokontroler memindai setiap kolom untuk mengetahui push button mana yang ditekan dalam baris tersebut. Dengan informasi tersebut, mikrokontroler dapat mengonversi posisi push button yang ditekan menjadi angka yang sesuai, sesuai dengan konsisi yang ditetapkan yaitu Button Baris 1 kolom 1 akan menampilkan angka 3. Angka yang telah diidentifikasi kemudian ditampilkan pada seven segment dengan mengontrol setiap digit pada seven segment untuk menampilkan angka yang benar. 

4. Flowchart dan Listing Program [Kembali]

Flowchart :







Listing Program :

// Memasukkan library Keypad untuk memudahkan interaksi dengan keypad
#include <Keypad.h>

// Mendefinisikan jumlah baris dan kolom pada keypad
const byte ROWS = 4; // Empat baris
const byte COLS = 4; // Empat kolom

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

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

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

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

// Fungsi setup, dijalankan sekali saat sketch dimulai
void setup() {
 // Mengatur pin segmen sebagai output
 for (int i = 0; i < 8; i++) {
   pinMode(segmentPins[i], OUTPUT);
 }
}

// Fungsi loop, dijalankan berulang setelah setup
void loop() {
 // Mendapatkan tombol yang ditekan
 char key = keypad.getKey();

 // Jika ada tombol yang ditekan
 if (key) {
   // Menampilkan karakter pada seven-segment display
   displayCharacter(key);
   // Menunggu selama 1 detik
   delay(1000);
   // Membersihkan display
   clearDisplay();
 }
}

// Fungsi untuk menampilkan karakter pada seven-segment display
void displayCharacter(char ch) {
 // Pola segmen untuk menampilkan karakter
 byte patterns[][9] = {
   // Definisi pola segmen untuk setiap karakter yang bisa ditampilkan
 };

 // Cek apakah karakter merupakan angka atau huruf yang valid
 if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'D')) {
   // Menghitung index berdasarkan karakter
   int index = (ch <= '9') ? (ch - '0') : (ch - 'A' + 10);
   
   // Menyalakan segmen yang sesuai untuk menampilkan karakter
   for (int i = 0; i < 7; i++) {
     digitalWrite(segmentPins[i], patterns[index][i]);
   }
 }
}

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

5. Kondisi [Kembali]

Percobaan 2 Kondisi 1 
    button baris 1 kolom 1 menampilkan angka 3

6. Video Simulasi [Kembali]



7. Download File [Kembali]

HTML                    klik disini
File Rangkaian       klik disini
Video Percobaan    klik disini
Listing Program     klik disini
Datasheet Arduino klik disini
Datasheet Button   klik disini
Datasheet 7-Segment klik disini

Tidak ada komentar:

Posting Komentar

Modul 4 Praktikum uP dan uC

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