Tugas Pendahuluan M1 1(Percobaan 1 Kondisi 16)
Kondisi yang diambil pada percobaan 1 ini adalah:
- Kondisi 16 : Hidupkan LED seluruhnya, lalu matikan bergantian dari kanan ke kiri
2. Gambar rangkaian simulasi [Kembali]
Gambar rangkaian yang disimulasikan adalah sebagai berikut:
a. Gambar rangkaian ketika berada pada kondisi "OFF"
b. Gambar rangkaian ketika berada pada kondisi "ON
Gambar 2. Rangkaian ketika berada dalam kondisi ON |
3. Video simulasi [Kembali]
Video simulasi dari rangkaian percobaan dapat dilihat dibawah ini:
4. Prinsip kerja Rangkaian [Kembali]
a. Prinsip kerja rangkaian
Rangkaian yang dibuat diatas merupakan rangkaian untuk mengaktifkan/menghidupkan LED secara bergantian. Untuk rangkaiannya, masing - masing dari LED dihidupkan berdasarkan output digital yang diberikan oleh arduino (pada gambar digunakan pin 2 - 9). Pin ini mengeluarkan output sebesar 5V dengan arus 20mA.
Untuk pemilihan besar resistor yang digunakan ditentukan berdasarkan warna LED yang digunakan. Pada percobaan kali ini warna LED yang digunakan adalah warna LED hijau. Besar jatuh tegangan (Voltage Drop) dari LED hijau berkisar dari 3.1V - 3.8V. Misalkan tegangan eksak dari LED warna hijau adalah 3.5V, maka besar resistor yang optimal adalah:
Gambar 3. Proses mencari nilai resistor untuk LED |
b. Alur kerja dari kodingan
KODINGAN:
int led[] = {2, 3, 4, 5, 6, 7, 8, 9}; //mendefinisikan pin - pin yang ada di arduino
void setup() {
// perintah inisiasi yang hanya dieksekusi sekali:
for (int a = 0; a < 8; a++)
{
pinMode(led[a], OUTPUT);
}
}
void loop() {
// perintah yang akan dieksekusi secara berulang:
//menghidupkan semua lampu
for (int i=0; i<8; i++)
{
digitalWrite(led[i], HIGH);
}
delay(100); //delay sebesar 100ms sebelum dimatikan
//mematikan lampu dari yang paling kanan ke kiri
for (int i=7; i>=0; i--)
{
digitalWrite(led[i], LOW);
delay(100); //delay sebelum mematikan lampu disebelahnya
}
delay(1000); //delay sebelum mengulangi loop
}
Yang pertama dilakukan adalah menginiasikan terlebih dahulu pin - pin yang akan digunakan dalam percobaan kali ini, inisiasi dilakukan dalam bentuk array bertipe data int dengan pin yang digunakan adalah pin {2, 3, 4, 5, 6, 7, 8, 9}.
Kemudian masuk kebagian void setup(). Fungsi void setup() pada arduino adalah fungsi khusus yang di eksekusi hanya sekali. fungsi ini umumnya digunakan untuk menginisiasikan cara pemakaian pin - pin, menginiasikan sebuah objek dari kelas, dan segala hal yang hanya membutuhkan 1 kali eksekusi. Pada void setup() percobaan ini, digunakan sebuah for loop yang dimulai dari variabel iterasi a dari 0 hingga 7 dan angkanya bertambah setiap setelah mengeksekusi loop tersebut. Dalam loop tersebut perintah yang diberikan ke arduino adalah untuk menginisasikan mode penggunaan dari pin - pin tersebut. Hal ini dilakukan dengan syntax pinMode(pin, mode). Dikarenakan pada percobaan ini digunakan untuk menghidupkan LED, maka mode yang digunakan adalah sebagai OUTPUT.
Lalu untuk bagian void loop() dari program ini terdapat 2 tugas yang perlu dilakukan. Yang pertama adalah mengaktifkan LED secara bersamaan. Hal ini dapat dicapai dengan menggunakan for loop yang memiliki variabel iterasi yang akn bergerak dari 0 -7. Dalam setiap iterasi ini, dipanggil perintah digitalWrite(pin, HIGH) untuk memberi output HIGH (sebesar 5V). Untuk pinnya sendiri diakses dengan array dengan indexnya berasal dari variabel iterasi tersebut.
Setelah semua lampu LED menyala langkah selanjutnya itu adalah mematikan lampu dari kanan ke kiri sesuai kondisi yang diberikan. Sebelum itu diberikan delay sebesar 100ms sebelum melakukan proses pemadaman. Untuk mematikan LED dari kanan kekiri digunakan for loop yang variabel iterasi nya dimulai dari angka 7 yang bergerak dari 7 - 0 (decrement --). Perintah didalam loop ini adalah digitalWrite(pin,LOW) yang berfungsi untuk mengeluarkan outptu digital LOW 0V. Lalu terdapat delay untuk setiap iterasinya, hal ini agar LED dapat dimatikan satu - satu. Setelah kondisi berhenti loop tercapai, program keluar dari loop tadi dan terdapat delay sebesar 1 detik sebelum program mulai dari awal lagi.
5. Link download [Kembali]
Tidak ada komentar:
Posting Komentar