Selamat Datang di website bersih tanpa iklan 👋

BELAJAR CODING Arduino dengan C++: Panduan Pemula

 

Memulai Coding Arduino dengan C++: Panduan Pemula


Selamat datang di dunia Arduino! Jika Kalian tertarik untuk membuat proyek elektronik interaktif, Arduino adalah platform yang fantastis, dan bahasa pemrograman di baliknya adalah C++. Jangan khawatir jika Kalian belum pernah coding sebelumnya; artikel ini akan membahas dasar-dasar yang perlu Kalian ketahui agar Kalian bisa segera mulai berkreasi.


Coding?. terlihat ribet Namun Mudah.


Mengapa C++ untuk Arduino?

Arduino IDE (Integrated Development Environment) menggunakan C++ dengan beberapa penambahan dan penyederhanaan yang disebut "Wiring". C++ adalah bahasa yang kuat dan fleksibel, memungkinkan Kalian mengontrol hardware dengan presisi. Meskipun terdengar rumit, Kalian hanya perlu memahami sebagian kecil dari C++ untuk memulai proyek Arduino yang menarik.




Dasar-dasar Penting C++ untuk Arduino

Untuk memulai coding Arduino, ada beberapa konsep dasar C++ yang harus Kalian kuasai. Mari kita bahas satu per satu:


1. Struktur Program Arduino: setup() dan loop()

Setiap program Arduino memiliki dua fungsi utama yang harus selalu ada:

Ø  void setup(): Fungsi ini akan dieksekusi sekali saja saat Arduino pertama kali dinyalakan atau di-reset. Ini adalah tempat yang sempurna untuk mengatur pin (apakah sebagai input atau output), menginisialisasi komunikasi serial, menambahkan welcome screen, atau bunyi buzzer beep pada awal alat ON, atau melakukan pengaturan awal lainnya.

void setup() {

  // Kode inisialisasi diletakkan di sini

  pinMode(LED_BUILTIN, OUTPUT); // Mengatur pin LED bawaan sebagai output

}


Ø  void loop(): Setelah setup() selesai dieksekusi, fungsi loop() akan dieksekusi berulang-ulang secara terus-menerus selama Arduino menyala. Ini adalah tempat Kalian meletakkan logika utama program Kalian, seperti membaca sensor, mengontrol dinamo,  memperbarui tampilan pada display, bunyi buzzer, nyala lampu LED, dan lain-lain.

C++

void loop() {

  // Kode utama program diletakkan di sini

  digitalWrite(LED_PIN, HIGH); // Menyalakan LED

  delay(1000);                    // Menunggu 1 detik

  digitalWrite(LED_PIN, LOW);  // Mematikan LED

  delay(1000);                    // Menunggu 1 detik

}


2. Variabel : Menyimpan Data.

Variabel adalah "wadah" untuk menyimpan informasi yang dapat berubah selama program berjalan. Dalam C++, Kalian harus menentukan tipe data variabel saat Kalian mendeklarasikannya. 

VARIABEL secara letak dibagi menjadi 2 yaitu VARIABEL GLOBAL dan VARIABEL LOKAL. Perbedaannya: Variabel global diletakkan sebelum void setup, dan variabel lokal diletakkan kodenya di dalam sebuah VOID Fungsi. Variabel Global bisa dipanggil, dibaca, diubah nilainya di semua Fungsi Void, namun Variabel Lokal hanya bisa dilakukan pembacaan dan pengubahan nilai di dalam void itu sendiri.


Beberapa tipe data yang umum digunakan di Arduino:

·         int (integer): Untuk bilangan bulat dan perubahannya pun bersifat bilangan bulat.

C++ //contoh Variabel Global.

int jumlahPolepair = 8;

int jumlahAki = 6;

int PhaseBLDC = 3;   //dan aneka contoh lain yang jumlahnya selalu bulat.


void loop(){  //contoh Variabel Lokal , berada di dalam kurungan Void {  }

int jumlahPolepair = 8;  

int jumlahAki = 6;

}



·         float (floating-point number): Untuk bilangan desimal (contoh: 3.14, 0.5).

C++

float temperatur = 27.5;

float Voltase = 72.0;

float Amper = 45.3;  //dan aneka contoh lain yang perubahannya pun pakai koma.

·         char (character): Untuk menyimpan satu karakter (contoh: 'A', 'b', '7').

C++

char nama = 'Bogipower';

char MerkMotorListrik = 'MAKA_MOTOR'; 

char merkBLDC = 'QS_MOTOR_V3';  //dan aneka contoh lain yang isinya karakter.

·         boolean (bool): Untuk nilai benar (true) atau salah (false). HIGH atau LOW, bisa juga 1 atau 0. Sering digunakan untuk menyimpan status (misalnya, apakah tombol ditekan atau tidak, atau mode sedang aktif atau tidak,).  Pada dasarnya hanya ada 2 pilihan perubahan saja.

C++

bool lampuMenyala = true;  //artinya perubahan nilai hanya true atau false  

bool LowSpeed = false; //artinya perubahan nilai hanya false atau true

bool inputTombol = HIGH;   //lawanya adalah LOW

bool modeRacing = 1;   //lawannya adalah 0 

·         const (konstan): Kata kunci const digunakan untuk mendeklarasikan variabel yang nilainya tidak akan pernah berubah setelah diinisialisasi. Ini sangat berguna untuk mendefinisikan nomor pin atau nilai tetap lainnya.

C++

const int PIN_SENSOR = A0; // Pin sensor terhubung ke A0

cost int BUZZER = 12;

const int PIN_LED = 13;   //dan aneka contoh deklarasi yang tidak akan berubah.



3. Komentar: Membuat Kode Mudah Dibaca

Komentar adalah catatan dalam kode Kalian yang diabaikan oleh kompilator. Mereka sangat penting untuk menjelaskan apa yang dilakukan oleh bagian-bagian kode Kalian, membuatnya lebih mudah dimengerti oleh Kalian sendiri di kemudian hari, atau oleh orang lain.

·         Komentar satu baris: Dimulai dengan //.

C++

// Ini adalah komentar satu baris

·         Komentar multi-baris: Dimulai dengan /* dan diakhiri dengan */.

C++

/*

Ini adalah

komentar

multi-baris

*/



4. Struktur Kontrol: Mengalirkan Logika Program

Struktur kontrol memungkinkan Kalian membuat keputusan dan mengulang tindakan dalam program Kalian.

·         if, else if, else (Kondisional): Digunakan untuk menjalankan blok kode tertentu berdasarkan suatu kondisi.

C++

int nilaiSensor = 700;

 

if (nilaiSensor > 500) {   //jika nilai lebih dari 500.

  digitalWrite(PIN_LED, HIGH);  //maka perintahkan PIN LED untuk ON.

} else if (nilaiSensor > 200) {  //artinya = "Namun Jika" lebih dari 200.

  digitalWrite(BUZZER, HIGH)//perintah bunyikan beep buzzer.

} else {     //artinya = "jika diluar kedua opsi pilihan diatas maka" 

  digitalWrite(BUZZER, LOW);

  digitalWrite(PIN_LED, LOW);

}

·         for (Perulangan): Digunakan untuk mengulang blok kode sejumlah kali yang spesifik. Rumusnya adalah (deklarasi nama ; kondisinya ; kenaikan/penurunan) . Deklarasi nama bisa dengan integer i = 0 , tidak harus huruf i , bisa huruf lain juga.  Kondisi bisa ditulis (huruf)  kurang dari nilai tertentu, misal i<5 , atau a<10 , atau contoh kondisi lainnya. Yang terakhir adalah kenaikan atau penurunan, rumus codenya huruf ++ atau huruf --, contoh i++, atau i-- .

C++

for (int i = 0; i < 5; i++) {

  Serial.print("Perulangan ke-");

  Serial.println(i);

}

// Output: Perulangan ke-0, Perulangan ke-1, ..., Perulangan ke-4



·         while (Perulangan): Digunakan untuk mengulang blok kode selama suatu kondisi bernilai true. Skema code While ini cocok untuk menghentikan sementara program selagi menunggu konsisi tertentu,  misalnya menunggu tombol ditekan, menunggu suhu turun, atau contoh mudahnya menunggu hitungan sampai angka tertentu baru bisa lanjut lagi.

C++

int hitungan = 0;

while (hitungan < 3) {  //contoh menunggu sampai angka 3 dahulu baru lanjut.

  Serial.print("Hitungan: ");

  Serial.println(hitungan);

  hitungan++; // Tambahkan hitungan setiap kali perulangan

}

// Output: Hitungan: 0, Hitungan: 1, Hitungan: 2



5. Fungsi: Membagi Program Menjadi Bagian yang Lebih Kecil

Fungsi atau VOID adalah blok kode yang dapat Kalian beri nama sendiri, berisi kumpulan kode buatan sendiri. Void itu bisa dipanggil dengan deklarasi Nama Void lalu  diikuti tanda (); dan bisa dipanggil berkali-kali dari bagian lain program. Ini membantu membuat kode Kalian lebih teratur, tidak pusing dibaca, mudah dimengerti, dan mudah diperbaiki. Letak Void dalam tata urutan bahasa bisa diatas Void setup, bisa juga juga ditempat lain, namun idealnya berada diatas void setup karena jika void mengandung nilai variabel maka jika ditaruh di bawah void loop maka tidak terbaca nilai itu.

C++

void nyalakanLampu() {  //membuat void yang isinya menyalakan lampu LED

  digitalWrite(LED_BUILTIN, HIGH);

}

 

void matikanLampu() {

  digitalWrite(LED_BUILTIN, LOW);

}

 

void setup() {

  pinMode(LED_BUILTIN, OUTPUT);

}

 

void loop() {

  nyalakanLampu(); //jadi disini tidak perlu menulis lagi digitalWrite(LED_BUILTIN, HIGH);

  delay(500);

  matikanLampu();

  delay(500);

}



6. Berinteraksi dengan Pin Arduino: Digital dan Analog

Arduino atau ESP memiliki pin yang dapat Kalian gunakan untuk berinteraksi dengan komponen eksternal.

·         pinMode(pin, mode): Mengatur pin sebagai INPUT (untuk membaca sinyal) atau OUTPUT (untuk mengirim sinyal).

·         digitalWrite(pin, value): Mengirim sinyal digital (HIGH/LOW) ke pin output.

o    HIGH biasanya 3.3V atau 5V (logika 1)

o    LOW biasanya 0V (logika 0)


·         digitalRead(pin): Membaca sinyal digital dari pin input. Mengembalikan HIGH atau LOW.

·         analogRead(pin): Membaca nilai tegangan analog dari pin input analog (biasanya A0-A5). Mengembalikan nilai antara 0-1023.

·         analogWrite(pin, value): Mengirim sinyal PWM (Pulse Width Modulation) ke pin output yang mendukung PWM (biasanya ditkaliani dengan ~). Digunakan untuk mengontrol kecerahan LED, kecepatan motor, dll. Nilai antara 0-255.




7. Komunikasi Serial: Komunikasi dengan Komputer

Komunikasi Serial adalah cara penting untuk mengirim dan menerima data antara Arduino dan komputer Kalian (melalui USB). Ini sangat berguna untuk debugging (mencari kesalahan) dan menampilkan informasi dari sensor.

·         Serial.begin(baudRate): Memulai komunikasi serial pada kecepatan tertentu (umumnya 9600 atau 115200).

·         Serial.print(data): Mengirim data ke monitor serial tanpa baris baru.

·         Serial.println(data): Mengirim data ke monitor serial dengan baris baru setelahnya.

C++

void setup() {

  Serial.begin(9600); // Inisialisasi komunikasi serial

}

 

void loop() {

  Serial.print("Hello, ");

  Serial.println("Arduino!");

  delay(1000);

}

Kalian bisa melihat output ini di Serial Monitor di Arduino IDE (ikon kaca pembesar di pojok kanan atas).




INGIN PRAKTEK??

Setelah memahami dasar-dasar ini, kalian siap untuk:

1.    Instal Arduino IDE: Jika belum, unduh dan instal Arduino IDE dari situs resminya.

2.    Coba Contoh-Contoh: Arduino IDE dilengkapi dengan banyak contoh (File > Examples). Mulai dengan "Blink" untuk menyalakan dan mematikan LED, lalu jelajahi contoh-contoh lainnya.

3.    Mulai Proyek Sederhana: Cobalah menyalakan LED dengan tombol, membaca sensor suhu, atau mengendalikan motor kecil.

4.    Banyak Latihan: Kunci untuk mahir dalam coding adalah terus berlatih dan bereksperimen.

Jangan takut untuk membuat kesalahan! Itu adalah bagian dari proses belajar. Semakin banyak kalian mencoba, semakin kalian akan memahami cara kerja C++ dan Arduino.

 

       SEMOGA BERMANFAAT

 


Posting Komentar

Lebih baru Lebih lama