Laporan Akhir 2 uP dan uC  Modul 2




Tugas Pendahuluan 2 Modul 2
(Percobaan 3 )

1. Kondisi
 [Kembali]
  
1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.

2. Buat program menggunakan Arduino IDE.

3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.

4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.

5. Selesai

        
2. Hardware dan Diagram Blok [Kembali]

Hardware :

1.Arduino


2.Dipswitch


3.7 Segment 2 Digit


Diagram Blok :

3. Video Simulasi [Kembali]


4. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi :




Prinsip Kerja :
Pertama-tama, tekan tombol untuk memasukkan nomor pada keypad matriks 4x4. Baris keypad terhubung ke pin A4, A3, A2, dan A1 pada Arduino, sementara kolom keypad terhubung ke pin 10, 11, 12, dan 13. Push button bisa digunakan untuk menekan tombol. Setelah baris teridentifikasi, mikrokontroler akan memindai kolom untuk menentukan tombol yang ditekan. Pengontrol gelombang mikro bisa digunakan untuk memulai informasi dengan menekan tombol dan diakses melalui input keypad. Keypad 7 segmen terhubung ke pin 9, 8, 7, 6, 5, 4, 3, dan 2 pada Arduino.

4. Flowchart dan Listing Program [Kembali]

Flowchart :






Listing Program :

// Mendefinisikan pin-pin yang terhubung ke segmen-segmen pada display 7-segmen
#define a 4
#define b 5
#define c 9
#define d 12
#define e 11
#define f 8
#define g 13
#define dp 10 // Pin untuk decimal point (titik desimal)
#define D1 7 // Pin untuk digit pertama
#define D2 6 // Pin untuk digit kedua

// Mendefinisikan pin-pin yang digunakan untuk membaca input dari switch (tombol)
#define Dsw1 A0
#define Dsw2 A1
#define Dsw3 A2
#define Dsw4 A3

// Mendeklarasikan variabel untuk menyimpan status switch (tombol)
bool sw1,sw2,sw3,sw4;

// Array untuk menyimpan pin-pin yang terhubung ke segmen-segmen display
int segments[] = {a,b,c,d,e,f,g};

// Array 2 dimensi untuk menentukan pola yang dinyalakan pada setiap angka 0-9
byte digitPatterns[10][7] = {
  //a, b, c, d, e, f, g
  {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
};

void setup() {
  // Mengatur pin-pin segmen sebagai output
  for (int i = 0; i < 7; i++) {
    pinMode(segments[i], OUTPUT);
  }
  // Mengatur pin untuk titik desimal dan digit sebagai output
  pinMode(dp, OUTPUT);
  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);

  // Mengatur pin-pin switch sebagai input dengan pull-up resistor
  pinMode(Dsw1, INPUT_PULLUP);
  pinMode(Dsw2, INPUT_PULLUP);
  pinMode(Dsw3, INPUT_PULLUP);
  pinMode(Dsw4, INPUT_PULLUP);

  // Menginisialisasi komunikasi serial
  Serial.begin(9600);
}

void number(int display) {
  // Fungsi untuk menampilkan angka pada display 7-segmen berdasarkan pola yang didefinisikan
  if (display >= 0 && display <= 9) {
    for (int i = 0; i < 7; i++) {
      digitalWrite(segments[i], digitPatterns[display][i]);
    }
  }
}

void loop() {
  // Membaca status dari setiap tombol
  int sw1 = digitalRead(Dsw1);
  int sw2 = digitalRead(Dsw2);
  int sw3 = digitalRead(Dsw3);
  int sw4 = digitalRead(Dsw4);

  // Variabel statis untuk menyimpan digit yang sedang ditampilkan dan counter
  static int digit = 1; // Digit yang sedang ditampilkan (1 atau 2)
  static int count = 0; // Counter untuk digit
  static unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol

  // Logika untuk menangani input dari tombol dan menampilkan angka pada display
  // Termasuk debouncing untuk menghindari pembacaan ganda
  // Logika spesifik untuk setiap tombol dijelaskan dalam kondisi if-else yang sesuai
}
}
5. Link Download [Kembali]

HTML                        klik disini      
Video Percobaan        klik disini
Listing Program         klik disini
Datasheet arduino      klik disini
Datasheet keypad       klik disini
Datasheet 7-Segment klik disini

















Tidak ada komentar:

Posting Komentar