Mengenal Fungsi digitalRead() pada Arduino

 


Deskripsi Fungsi digitalRead()

Fungsi digitalRead() digunakan untuk membaca status (tinggi atau rendah) dari pin digital tertentu pada board Arduino. Status tinggi (HIGH) berarti ada tegangan 5V (atau 3.3V pada beberapa board) pada pin tersebut, sedangkan status rendah (LOW) berarti pin tersebut terhubung ke ground (0V).

Berikut adalah sintaks dasar dari `digitalRead()`:

pin state = digitalRead(pin);

pin: nomor pin digital yang akan dibaca.
state: variabel yang menyimpan status dari pin tersebut, apakah HIGH atau LOW.

Sebelum menggunakan digitalRead(), penting untuk mengatur mode pin sebagai input menggunakan fungsi pinMode(). Hal ini dilakukan di dalam fungsi setup().

Contoh Sketsa Fungsi digitalRead()

Mari kita lihat contoh sederhana untuk memahami penggunaan digitalRead(). Contoh ini akan membaca status sebuah tombol yang terhubung pada pin 2 dan menyalakan atau mematikan LED yang terhubung pada pin 13 berdasarkan status tombol tersebut.

// Mendeklarasikan nomor pin tombol dan LED
const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  // Mengatur pin tombol sebagai input
  pinMode(buttonPin, INPUT);
  // Mengatur pin LED sebagai output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Membaca status tombol
  int buttonState = digitalRead(buttonPin);
  
  // Jika tombol ditekan (status HIGH)
  if (buttonState == HIGH) {
    // Nyalakan LED
    digitalWrite(ledPin, HIGH);
  } else {
    // Matikan LED
    digitalWrite(ledPin, LOW);
  }
}

Dalam sketsa di atas:
  1. Pin 2 diatur sebagai input untuk membaca status tombol, dan pin 13 diatur sebagai output untuk mengontrol LED pada fungsi setup().
  2. Pada fungsi loop(), status tombol dibaca dengan digitalRead(buttonPin).
  3. Jika tombol ditekan (status HIGH), LED dinyalakan dengan digitalWrite(ledPin, HIGH).
  4. Jika tombol tidak ditekan (status LOW), LED dimatikan dengan digitalWrite(ledPin, LOW).

Kesimpulan

Fungsi digitalRead() adalah alat dasar yang sangat berguna dalam  pemrograman Arduino untuk membaca status pin digital. Dengan memahami cara kerja fungsi ini, Anda dapat dengan mudah membaca input dari berbagai sensor atau tombol yang terhubung ke board Arduino.


Share:

Berbagai Macam Perintah pada Arduino



Struktur Dasar Program Arduino

 Karakteristik penulisan kode program Arduino hanya terdiri atas dua fungsi utama, yaitu void setup() dan void loop(). Kedua fungsi ini memiliki keterkaitan satu sama lain. Apabila salah satu fungsi tidak terdapat di sketch, maka kemungkinan besar sketch Anda akan error. Jadi, pastikan untuk menulis kedua fungsi tersebut meskipun salah satunya tak digunakan atau tak memiliki pernyataan di dalamnya.

 

 

1. void setup()

void setup pada Arduino berfungsi sebagai bentuk inisialisasi atau pengenalan dalam program Arduino dan hanya dieksekusi sekali sejak program dijalankan. Pada umumnya, perintah ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. 

 

 

Keterangan :

Dalam perintah di atas terdapat pernyataan atau statement yang berisi penginisialisasian pin 13 sebagai pin output.

2. void loop()

void loop akan dieksekusi terus-menerus secara berurutan hingga program berhenti dijalankan. 

 

 

3. function

function merupakan blok pemrograman yang mempunyai nama dan mempunyai statement yang akan di eksekusi ketika function tersebut dipanggil.

4. { } curly braces

curly braces berfungsi untuk mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila ketika memprogram lupa untuk memberi curly braces buka atau pun tutup, maka ketika di compile akan terdapat laporan error.

5. ; semicolon

Semicolon harus di berikan pada setiap statement program yang kita buat ini merupakan pembatas setiap statement program yang di buat.

6.  /*…*/ blok comment

Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak akan di compile sehingga tidak mempengaruhi besar program yang di buat untuk di masukan dalam board arduino.  

 

 

7. // line comment

Sama halnya dengan block comments, line coments pun sama hanya saja yang dijadikan komen adalah per baris. 

 

 

Perintah Dasar pada Arduino

 

Pada Arduino IDE, pemberian perintah harus jelas di setiap penggunaan jenis data, yaitu penggunaan data Analog dan Digital. Jika menggunakan I/O berjenis analog, maka harus menggunakan pemberian perintah berbentuk analog. Jika menggunakan I/O berjenis digital, maka harus menggunakan pemberian perintah berbentuk digital. 


analogRed()

analogRead() digunakan untuk memberikan perintah membaca setiap data input analog. Contohnya yaitu membaca sensor yang menggunakan data analog, membaca input PWM pada resistor potensio dan lain-lain. 

 

 

analogWrite()

analogWrite() digunakan untuk memberikan perintah untuk menentukan nilai tertentu pada output analog. Contohnya yaitu untuk pengaturan PWM, pengaturan volume, pengaturan hambatan dan lain-lain. 

 

 

digitalRead()

digitalRead() digunakan untuk memberikan perintah untuk membaca setiap data input Digital. Contohnya yaitu untuk membaca sensor data Digital, membaca data saklar Digital, membaca data Push Button, dan lain lain.

 

 

digitalWrite()

digitalWrite() digunakan untuk memberikan perintah untuk menentukan nilai positif/1 (HIGH) ataupun nilai negative/0 (LOW) pada Output Digital. Contohnya yaitu untuk menghidupkan LED, memberikan tegangan pada komponen tertentu, memberikan sinyal Digital, dan lain-lain.

 

 

delay()

delay() berfungsi untuk memberi jeda waktu pada program untuk melanjutkan ke perintah berikutnya dengan satuan waktu miliseconds. Misalnya, untuk memberi jeda waktu 5 detik maka dalam satuan miliseconds menjadi 5000. 

 

pinMode()

pinMode() digunakan untuk menentukan pin yang akan digunakan sebagai input atau output. Pada umumnya perintah ini hanya dituliskan di dalam void setup().

 

serial.begin()

serial.begin() berfungsi untuk memulai komunikasi serial ke perangkat lain dengan Arduino. Untuk para pemula perintah ini digunakan untuk memulai koneksi antara Arduino dengan PC untuk menampilkan data pada serial monitor pada Arduino IDE.

 

serial.println()

serial.println() berfungsi untuk mengirimkan data ke perangkat lain yang terhubung dengan Arduino melalui komunikasi serial. Pada akhiran data yang dikirimkan akan mengandung karakter [\n]. Karakter tersebut berfungsi seperti [Enter] yaitu membuat baris baru untuk data yang akan diterima selanjutnya.

 

serial.read()

serial.read() digunakan untuk menerima data serial yang masuk. Jika mengirim data serial ke Arduino melalui serial monitor yang terdapat pada Arduino IDE, maka perlu menggunakan serial.read() dalam program Arduino agar Arduino dapat menerima data yang dikirimkan. 

Share:

Gambar Arduino Uno Beserta Penjelasan Fungsi Bagian-Bagiannya


 Gambar komponen board Arduino bisa dilihat di bawah ini:



Fungsi tiap bagian-bagian Arduino Uno yang diberi tanda antara lain:

  1. Power USB, fungsi dari power usb pada modul Arduino adalah sebagai berikut:

    • Media pemberi tegangan listrik ke Arduino
    • Media tempat memasukkan program dari komputer ke Arduino
    • Sebagai media untuk komunikasi serial antara komputer dan Arduino R3 maupun sebaliknya.

  2. Crystal Oscillator, fungsi crystal oscillator adalah sebagai jantung Arduino yang membuat dan mengirimkan detak ke mikrokontroler agar beroperasi setiap detaknya.

  3. Voltage Regulator, berfungsi menstabilkan tegangan listrik yang masuk ke Arduino.

  4. Power Jack, fungsi dari power jack pada modul Arduino adalah sebagai media pemberi tegangan listrik ke Arduino apabila tak ingin menggunakan Power USB.

  5. Pin Reset, berfungsi untuk mereset Arduino agar program dimulai dari awal. Cara penggunannya yaitu dengan menghubungkan pin reset ini langsung ke ground.

  6. Pin Tegangan 3,3 Volt, berfungsi sebagai pin positif untuk komponen yang menggunakan tegangan 3,3 volt.

  7. Pin Tegangan 5 Volt, berfungsi sebagai pin positif untuk komponen yang menggunakan tegangan 5 volt. Pin 5 volt sering juga disebut pin VCC.

  8. Pin Ground (GND), fungsi pin GND adalah sebagai pin negatif pada tiap komponen yang dihubungkan ke Arduino.

  9. Pin Penambah Tegangan (VIN), berfungsi sebagai media pemasok listrik tambahan dari luar sebesar 5 volt bila tak ingin menggunakan Power USB atau Power Jack.

  10. Pin Analog, berfungsi membaca tegangan dan sinyal analog dari berbagai jenis sensor untuk diubah ke nilai digital.

  11. Main Microcontroller, berfungsi sebagai otak yang mengatur pin-pin pada Arduino.

  12. Tombol Reset, komponen pendukung Arduino yang berfungsi untuk mengulang program dari awal dengan cara menekan tombol.

  13. Pin ICSP (In-Circuit Serial Programming), berfungsi untuk memprogram mikrokontroler seperti Atmega328 melalui jalur USB Atmega16U2.

  14. Lampu Indikator Power, berfungsi sebagai indikator bahwa Arduino sudah mendapatkan suplai tegangan listrik yang baik.

  15. Lampu TX (transmit), berfungsi sebagai penanda bahwa sedang terjadi pengiriman data dalam komunikasi serial.

  16. Lampu RX (receive), berfungsi sebagai penanda bahwa sedang terjadi penerimaan data dalam komunikasi serial.

  17. Pin Input/Output Digital, berfungsi untuk membaca nilai logika 1 dan 0 atau mengendalikan komponen output lain seperti LED, relay, atau sejenisnya. Pin ini termasuk paling banyak digunakan saat membuat rangkaian.

    Untuk pin yang berlambang “~” artinya dapat digunakan untuk membangkitkan PWM (Pulse With Modulation) yang fungsinya bisa mengatur tegangan output. Biasanya digunakan untuk mengatur kecepatan kipas atau mengatur terangnya cahaya lampu.

  18. Pin AREF (Analog Reference), fungsi pin Arduino Uno yang satu ini untuk mengatur tegangan referensi eksternal yang biasanya berada di kisaran 0 sampai 5 volt.

  19. Pin SDA (Serial Data), berfungsi untuk menghantarkan data dari modul I2C atau yang sejenisnya.

  20. Pin SCL (Serial Clock), berfungsi untuk menghantarkan sinyal waktu (clock) dari modul I2C ke Arduino.

Share:

Masukan Populer