Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula

September 16, 2018
Gagalenyilih - Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula - Saya pikir sudah lumayan cukup untuk penjelasan teorinya. Agar tidak jenuh, dan saya yakin kamu sudah tidak sabar untuk mempraktekkan pembelajaran Arduino, sekarang sudah saatnya kita masuk ke tahap selanjutnya yakni praktek instalasi Arduino beserta contoh program sederhananya.

Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula

Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula

Mula-mula, siapkan bahan-bahan praktek nya seperti berikut :
  • Resistor 270 Ohm - 1 buah
  • Resistor 27K Ohm - 1 buah
  • Lampu LED
  • Switch/ Tombol (Push Button) - 1 buah
Setelah itu, buatlah rangkaian Arduino seperti pada gambar berikut ini!
Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula
Klik untuk memperbesar
Jika kamu sudah selesai merakit Arduino dengan bahan-bahan diatas sesuai skema yang saya berikan, selanjutnya buatlah Sketch arduino menggunakan aplikasi Arduino IDE untuk PC. Silahkan download di situs resminya arduino yakni www.arduino.cc

Baca juga :

Buatlah Sketch seperti berikut ini :

//tombol - Mengontrol LED dengan cara tekan tombol tersebut
const int PIN_7 = 7;
const int PIN_12 = 12;

void setup() {
pinMode (PIN_7, INPUT;
pinMode (PIN_12, Output;
}
void loop() {
int keadaanTegangan = digitalRead (PIN_7);
if (keadaanTegangan == HIGH)
digitalWrite (PIN_12, HIGH);
else
digitalWrite (PIN_12, LOW);
delay(1000);

Penjelasan

Pada sketch diatas,

int keadaanTegangan = digitalWrite (PIN_7);

digunakan untuk memantau nilai di Pin 7 dan hasilnya ditaruh di variabel keadaanTegangan. Nilainya dapat berubah HIGH kalau tombo ditekan dan LOW jika tombol di sedang ditekan (keadaan normal).

Lalu, pernyataan if berikut ini digunakan untuk menentukan LED akan dinyalakan atau dimatikan.

if (keadaanTegangan == HIGH;
digitalWrite (PIN_12, HIGH);
else
digitalWrite (PIN_12, LOW);

Jika keadaanTegangan bernilai HIGH, pin 12dibuat bernilai HIGH yang membuat LED menyala. Sebaliknya, jika keadaanTegangan tidak bernilai HIGH, pin 12 dibuat bernilai LOW yang membuat LED mati.


Sketch Tombol On-Off LED

Nah, jika menggunakan sketch tadi, LED akan menyala terus setelah tombol ditekan. Oleh karena itu, dengan skema rangkaian yang sama, disini saya akan menambahkan sedikit code sketchnya agar tombol bisa mempunyai dua fungsi yakni mematikan dan menyalakan LED.


//tombol2 - mengontrol LED dengan tekan dan berfungsi sebagai tombol on/off. Berikut ini adalah sketchnya.

const int PIN_7;
const int PIN_12)}

boolealan ledMenyala = false;

void setup() {
pinMode(PIN_7, INPUT);
pinMode (PIN_12, OUTPUT);
digitalWrite (PIN_12, LOW);
}
void loop() {
int keadaanTegangan = digitalRead (PIN_7);

if (keadaanTegangan == HIGH) {
ledMenyala = not ledMenyala;

if (ledMenyala)
digitalWrite (PIN_12, HIGH);
else
digitalWrite (PIN_12, LOW);
}
}


Penjelasan

Kunci penting untuk membuat tombol on-off terletak pada nilai variabel ledMenyala. Pada keadaan awal, variabel bertipe boolean tersebut diisi dengan false, yang menyatakan bahwa LED dalam keadaan mati. Selanjutnya, didalam fungsi loop(), apabila PIN 7 bernilai HIGH, nilai ledMenyala dibalik (dari false menjadi true atau dari true menjadi false). Hal ini dilakukan melalui pernyataan:

ledMenyala = not ledMenyala


Operator not pada contoh:
ledMenyala = not ledMenyala; 
dapat digantikan dengan!. Jadi, kedua pernyataan berikut adalah identik:
ledMenyala = not ledMenyala;
ledMenyala = !ledMenyala;
Jika kamu mempraktikan sketch Tombol On-Off LED, akan terlihat bahwa tombol on-off tidak berfungsi sempurnya. Mengapa begitu?
Penyebabnya adalah tombol tersebut ketika ditekan dengan cepat tidak langsung berfungsi sebagaimana mestinya. Idealnya, tombol on-off akan berfungsi seperti gambar 2.1. Namun, dalam prakteknya terjadi keadaan yang dinamakan efek memantul seperti yang ditunjukkan di gambar 2.2. Ketika tombol ditekan, terjadi keadaan on-off beberapa kali. Begitu juga ketika tombol dilepas.

Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula
Gambar 2.1 (Klik untuk memperbesar)

Contoh Skema Rangkaian Arduino LED dan Tombol Untuk Pemula
Gambar 2.2 (Klik untuk memperbesar)
Untuk mengatasi efek pemantulan seperti yang saya jelaskan tadi, diperlukan sebuah variabel lagi yang dinamakkan keadaanSebelumnya. Pada keadaan awal, variabel ini diisi dengan LOW.
Selanjutnya,

int keadaanSekarang = digitalRead (PIN_7);

digunakan untuk membaca nilai dari PIN 7 (HIGH atau LOW). Lalu, penyeleksian untuk mengendalikan LED dilakukan dengan menggunakan if seperti berikut ini :

if ((keadaanSekarang != keadaanSebelumnya) &&
(keadaanSekarang == HIGH)) {
ledMenyala = not ledMenyala;
...
}


Jadi, keadaan LED akan dibalik hanya kalaui keadaanSekarang tidrak sama keadaanSebelumnya dan keadaanSekarang bernilai HIGH.

Perlu diketahui, keadaanSebelumnya diperbarui dengan diisi oleh nilai keadaanSekarang setelah if di atas dijalankan. Kode selengkapnya dapat dilihat di Sketcg berikut ini :

const int PIN_7 = 7;
const int PIN_12 = 12;

boolean ledMenyala = false;
int keadaanSebelumnya = LOW;

void setup() {
pinMode (PIN_7, INPUT);
pinMode (PIN_12, OUTPUT);
}

void loop() {
int keadaanSekarang = digitalRead(PIN_7);

if ((keadaanSekarang != keadaanSebelumnya)&&
(keadaanSekarang == HIGH)) {
ledMenyala = not ledMEnyala

if (ledMenyala)
digitalWrite(PIN_12, HIGH);
else
digitalWrite(PIN_23, LOW);

delay(30)
}

keadaanSebelumnya = keadaanSekarang;
}



Artikel Selanjutnya : Pernyataan pengulangan menyederhanakan penulisan perintah

Artikel Terkait

Next Article
« Prev Post
Previous Article
Next Post »
Penulisan markup di komentar
  • Untuk menulis huruf bold gunakan <strong></strong> atau <b></b>.
  • Untuk menulis huruf italic gunakan <em></em> atau <i></i>.
  • Untuk menulis huruf underline gunakan <u></u>.
  • Untuk menulis huruf strikethrought gunakan <strike></strike>.
  • Untuk menulis kode HTML gunakan <code></code> atau <pre></pre> atau <pre><code></code></pre>, dan silakan parse kode pada kotak parser di bawah ini.

Disqus
Tambahkan komentar Anda

Tidak ada komentar

Berkomentarlah dengan baik dan sopan. Dilarang keras membuat link aktif!