Tugas Pendahuluan M1 2(Percobaan 2 Kondisi 20)
Kondisi yang diambil pada percobaan kali ini adalah:
- Percobaan 2 (Kondisi 20): Tampilkan huruf L, O, O, P secara bergantian
2. Gambar rangkaian simulasi [Kembali]
Gambar dari rangkaian yang akan disimulasikan adalah sebagai berikut:
a. Gambar rangkaian ketika berada dalam kondisi "OFF"
b. Gambar rangkaian ketika berada dalam kondisi "ON"
Video simulasi dari rangkaian yang dibuat dapat dilihat dibawah ini:
4. Prinsip kerja Rangkaian [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.
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 dari kodingan
KODINGAN:
//menginisasi pin dengan data byte
/*
* Nama : Muhammad Rizieq RIzaldi
* NIM : 2010952031
* Program Praktikum Mikrokontroler % Mikroprosessor
* Modul 1 Percobaan 2 Kondisi 20
* Tampilkan huruf L, O, O, P secara bergantian
*/
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
dispL();
delay(d);
dispO();
delay(d);
dispO();
delay(d);
dispP();
delay(d);
}
void dispL() //fungsi menampilkan huruf L
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
void dispO() // fungsi menampilkan huruf O
{
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 dispP() // fungsi menampilkan huruf P
{
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}
Hal yang pertama dilakukan sebelum masuk ke dalam program inti adalah menginisasikan variabel - variabel global serta konstan yang akan digunakan pada inti progam, inisiasi ini dilakukan sebelum masuk ke fungsi void setup(). Adapun pada program ini hal - hal yang diinisasi adalah pin - pin yang akan digunakan untuk percobaan (dalam bentuk array), serta konstanta delay yang akan digunakan dalam mendelay proses dari program tersebut. Juga dapat dilihat bahwa terdapat pemilihan jenis variabel yang tepat untuk penggunannya, misal pada deklarasi array pin menggunakan tipe data byte, hal ini bertujuan untuk mengurangi pemakaian memori yang berlebihan.
Selanjutnya masuk ke bagian void setup(), yakni bagian dari program arduino yang hanya dieksekusi sebanyak 1 kali. Pada bagian ini akan diinisiasikan pin - pin yang akan digunkan melalui syntaks PinMode(pin, MODE). Untuk tidak mengulangi pekerjaan dalam menginisiasikan pin satu - satu dibuatlah for loop yang akan beriterasi dalam menginisiasi pin - pin tersebut. Dikarenakan kegunaan dari rangkaian simulasi kali ini untuk menampilkan output pada seven segment, maka jenis mode pin nya adalah OUTPUT.
Pada bagian program void loop() terdiri dari bagian program yang akan dieksekusi secara berulang, perlu diketahui pada listing program diatas bahwa isi dari void loop sendiri hanya terdiri dari panggilan fungsi - fungsi serta delay saja. Fungsi - fungsi yang telah dibuat sesuai dengan kondisi yang ditentukan yakni menampilkan tulisan L, O, O, P secara berurutan. Fungsi ini bertipe void, yang tidak akan mengembalikan variabel apapun. Tugas dari fungsi ini hanyalah untuk mengaktifkan LED sesuai dengan kondisi yang telah ditentukan, adapaun dalam memvariasikan pin - pin mana saja yang harus diaktifkan untuk menampilkan karakter tersebut didasarkan dari ketentuan berikut:
Tidak ada komentar:
Posting Komentar