Laporan Akhir M1 2(Percobaan 2 Kondisi 20)

LAPORAN AKHIR M1 2(PERCOBAAN 2 KONDISI 20)



1. Alat dan Bahan [Kembali]
Alat dan Bahan yang digunakan pada percobaan ini adalah:
A) Alat
1. Multimeter





2. Kabel jumper



B) Bahan
1. Arduino UNO
2. Seven segment

2. Rangkaian [Kembali]
Rangkaian yang digunakan pada percobaan kali ini adalah:

Rangkaian ketika berada pada keadaan "OFF":

Rangakaian ketika berada pada keadaan "ON":


3. Prinsip Kerja [Kembali]
A. Prinsip kerja rangkaian:
Rangkaian yang disimulasikan pada percobaan 2 ini adalah rangkaian jenis seven segment. Seven segment sendiri terdiri dari beberapa jenis yang dibedakan berdasarkan hubungan commonnya, yakni common katodan dan common anoda. Seven segment common katoda memiliki konfigurasi setiap katoda dari led pada seven segment terhubung ke ground, dan untuk mengaktifkan masing - masing bagian seven segment diberikan tegangan HIGH. Sementara untuk seven segment common anoda adalah anoda dari setiap LED tersebut dihubungkan ke sumber HIGH dan untuk mengaktifkan masing - masing LED dinyalakan dengan konfigurasi active low.

Gambar 3. Jenis konfigurasi seven segment

Pada rangkaian diatas seven segment a - g dihubungkan dari pin digital 3 - 9 dan untuk pin 2 dari arduino terhubung dengan pin DP (atau pin decimal point).

B. Alur kerja dari kodingan:
CODINGAN:
//menginisasi pin dengan data byte
/*
 * Nama : Muhammad Rizieq RIzaldi
 * NIM  : 2010952031
 * Program Praktikum Mikrokontroler % Mikroprosessor
 * Modul 1 Percobaan 2 Kondisi 20
 * TAMPILKAN ANGKA GENAP 0 - 8
 */

byte disp[] = {2, 3, 4, 5, 6, 7, 8, 9};
const int d = 250;
void setup() {
  
  // put your setup code here, to run once:
  //menginisasikan pin 
  for (int i =0; i<8; i++)
  {
    pinMode(disp[i], OUTPUT); // Deklarasi pin untuk output
  }
}

void loop() {

  //menampilkan huruf L, O, O, P secara bergantian
  dispO();
  delay(d);
  disp2();
  delay(d);
  disp4();
  delay(d);
  disp6();
  delay(d);
  disp8();
  delay(d+200);
}

void disp2() //fungsi menampilkan angka 2
{
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
}

void dispO() // fungsi menampilkan angka 0
{
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
}

void disp4() // fungsi menampilkan angka4
{
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, LOW);
}

void disp6() // fungsi menampilkan angka6
{
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
}

void disp8() // fungsi menampilkan angka 8
{
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
}

Tujuan dari program ini adalah untuk menampilkan angka genap dari 0 - 8 ke layar seven segment. 
Bagian awal adalah mendeklarasikan dan mendefihisikan pin - pin yang mana saja yang akan digunkanan. Pada percobaan ini pin arduino yang digunakan adalah pin digital dari 2 - 9. Selanjutnya adalah mendefinisikan konstan yang akan digunakan untuk lama delay (disini diambil sebesar 250).

Bagian selanjutnya ialah masuk ke fungsi void setup(), fungsi ini bertujuan untuk menginisasikan pin - pin serta input./output eksternal supaya dapat digunakan. Dikarenkaan pada percobaan kali ini hanya menggunakan pin dari digital saja, maka perlu diinisasikan terlebih dahulu. Untuk memudahkan proses inisiasi ini digunakan for loop yang akan berulang sebanyak dari panjang list yang berisi pin - pin tersebut. loop tersebut akan terus berulang dan pada setiap iterasinya ia akan mengkases pin dari list pin berdasarkan indexnya. Kemudian mensetnya ke mode OUTPUT (karena pada percobaan ini setiap pin yang digunakan adalah sebagai output).

Kemudian masuk kedalam fungsi void loop(). Berdasarkan perintah yang diberikan saat praktikum, hal yang harus dilakukan adalah menampilkan pada seven segment tersebut angka - angka genap (dari 0 -8). Untuk menampilkan angka - angka tersebut dapat melihat referensi tabel seven segment dibawah ini (perlu diingat bahwa tabel dibawah ini untuk tipe 7 segment common katoda). 


Supaya kodingan yang dihasilkan lebih rapi. Maka untuk setiap angka tersebut dibuat fungsi dengan tipe return void. Setelah pembuatan masing - masing fungsi untuk angka - angka tersebut, barulah kemudian dipanggil di bagian void loop yang setiap menampilkan angka - angka tersebut akan terdapat delay diantaranya.



4. Video Praktikum [Kembali]




5. Analsisis [Kembali]
1  Bagaimana pengaruh seven segment jika diganti dengan jenis yang lain dengan program yang sama? Bagian mana dan kabel yang mana yang harus diganti agar sesuai dengan tampilan sebelumnya

JAWAB:
Jenis 7 segment yang digunakan saat percobaan kemarin adalah 7 segment common katoda. Apabila 7 segment diganti dengan jenis yang berbeda (Common Anoda), maka pengaruh tampilan pada 7 segment yang sebelumnya mati menjadi hidup, dan begitu juga sebaliknya. Bahkan dikarenakan pin commonnya tetap dan tidak diganti,  7 segment tidak akan berfungsi seperti yang diinginkan. Hal ini karena pada 7 segment common katoda, bagian common dari setiap LED terhubung ke GND dan untuk aktivasi setiap segment diberi input HIGH. Sementara itu untuk tipe common anoda adalah kebalikannya, yakni setiap pin common LED segment dihubungkan ke sumber dan aktivasi segmen diberi input LOW.

Bagian program yang harus diganti adalah membalikkan setiap input segment yang HIGH --> LOW dan LOW --> HIGH. Bagian kabel yang diubah adalah pada pin commonnya yakni yang awalnya dihubungkan ke ground diganti dengan sumber (5V).


2 Apa pengaruh tipe data yang digunakan pada program terhadap kapasitas memori arduino yang digunakan


JAWAB
Pengaruh dari tipe data terhadap pemakaian kapasitas memori terhadap arduino ialah semakin besar tipe data  yang digunakan (dalam byte) maka kapasitas memori yang digunakan saat mengcompile program akan semakin besar, begitu juga sebaliknya. Maka dari itu pemilihan tipe variabel merupakan cara paling efektikf dalam mengoptimisasikan penyimpanan yang ada di arduino, pastikan tipe variabel yang dipilih sesuai dengan tujuan dan spesifikasi yang dibutuhkan dari program yang ditulis.


6. Link Download [Kembali]

Tidak ada komentar:

Posting Komentar

Mata kuliah Elektronika Kelas A  Semester Genap Th.2021   DISUSUN OLEH :   MUHAMMAD RIZIEQ RIZALDI   2010952031     DO...