Lompat ke konten Lompat ke sidebar Lompat ke footer

ESP32 PART-3. STRUKTUR PEMOGRAMAN ESP32

Untuk menguasai board ESP32 maka harus juga menguasai struktur pemograman pada ESP32. Bagi anda yang sering menggunakan Arduino maka secara umum pemograman ESP32 sama saja dengan Arduino Uno. Pemograman ESP32 juga menggunakan bahasa pemograman Bahasa C++ jadi di dalamnya akan terdapat void setup dan void loop. Pada saat pemograman ESP32 harap perhatikan penomoran I/O atau GPIO ESP32 karena I/O nya berbeda dengan Arduino uno. jadi harus ada penyesuaian I/O seperti penomoran pin, dan ada juga perintah-perintah spesifik tertentu yang berbeda dengan Arduino Uno. 


pemograman esp32


Pada stuktur program ESP32 di bawah ini akan disampaikan keterangan-keteranganya sesuai struktur pemrograman untuk ESP32.

 

int value =0; //variable global

# include // library atau file yang akan digunakan

 

void setup()

{

// semua kode yang disini akan dibaca sekali oleh Arduino/ESP32

}

 

void loop()

{

//semua kode yang ada disini akan dibaca 

//berulang kali (terus menerus) oleh Arduino/ESP32

}

 

void Fungsi();

{

//fungsi /sub program yang sering dipanggil

}

 

KETERANGAN

1. void setup

Semua kode program yang ada dalam void setup akan dibaca sekali oleh Arduino. Pada void setup bisa diisi sketch program contohnya untuk menentukan fungsi pada  pin-pin yang digunakan. Apakah pin tersebut untuk input atau bisa untuk dijadikan output.


Contoh kodenya seperti:

pinMode(2, OUTPUT);  // menentukan GPIO 2 sebagai OUTPUT   

     

pinMode(13,INPUT);    // menentukan GPIO 13 sebagai INPUT        

 

2. void loop

Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan dibaca terus menerus oleh ESP32. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada ESP32.


Contoh kodenya seperti:

digitalWrite(13, HIGH);  //untuk memberikan 3,3 V ke pin 13.


digitalWrite(13, LOW);  //untuk memberikan 0 V ke pin 13.


analogWrite(3, 225);    //untuk memberikan nilai 225 (setara dengan 3,3 V) kepada pin 3.

 

3. Serial Monitor

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunaka:

 

Serial.print(namasensor);

//menampilkan nilai sensor yang disimpan di variabel nama sensor Untuk menampilkan teks, bis menggunakan:

 

Serial.print("Selamat Datang"); 

//menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu Tools kemudian pilih Serial Monitor. Atau dengan menekan kombinasi CTRL+SHIFT+M di keyboard. Atau bisa juga dengan meng-klik ikon Kaca Pembesar di Arduino, seperti gambar dibawah ini:

 

 

pemograman esp32
 

Untuk komunikasi antara ESP32 dengan komputer, dapat menggunakan: 

Serial.begin(9600);  // untuk komunikasi Arduino dengan komputer dengan baudrate 9600
 

4. Membuat Catatan Pada Program

Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara mengetikan // kemudian mengetikan catatannya, seperti:

 

void loop() {

// catatan pada baris ini tidak akan dibaca oleh program

}

 

Tetapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja.

 

Pada saat kita ingin membuat catatan yang cukup panjang, maka kita tidak lagi menggunakan tanda // tetapi diganti dengan tanda /* lalu ketikan catatan kamu, dan jika sudah selesai maka diakhiri dengan tanda */.

 

Contohnya seperti:

 

void loop() {

/* apapun yang kamu mau ketikan disini tidak akan dibaca oleh program sepanjang apapun kamu mengetiknya */

}

 

5. Kurung Kurawal {}

Digunakan untuk menentukan awal dan akhir dari program. Jadi program tersebut diawali buka kurung kurawal dan diakhiri tutup kurung kurawal. Pada saat jumlah buka kurung kurawal dan tutup kurung kurawal tidak sama, maka akan menyebabkan program akan error.

 

void loop()

{

….program

….program

….program

}

 

6. Titik Koma ;

Setiap baris kode pada Arduino harus diakhiri dengan tanda ;

 

void setup(){

pinMode(13, OUTPUT);

}

 

void loop(){

digitalWrite(13, HIGH);

}

 

 

7. Variabel

Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada sebuah nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float, Character.

 

7a. int (integer)

Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits).

 

7b. long (long)

Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits).

 

7c. boolean (boolean)

Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit

saja        

 

7d. float(float)

Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32 bits).

 

7e. char(character)

Menyimpan character berdasarkan ASCII kode (contoh: ‘A’=65). Menggunakan 1 byte (8 bits). 

 

8. Operator Matematika 

 

Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana seperti: penjumlahan, pengurangan, sama dengan, dan sebagainya.

 

=      (sama dengan) (contoh  x=10*2 (x sekarang jadi 20))

%    (persentase) (contoh 12%10 (hasil sisanya = 2))

+      (penambahan)

       (pengurangan)

*       (perkalian)

/        (pembagian)

 

9. Operator Perbandingan 

Digunakan untuk melakukan perbandingan secara logika.

== (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE

!=  (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE

<   (lebih kecil dari) contoh: 15 < 10 FALSE  atau 12 < 14 TRUE

>   (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE

 

 

10. Struktur Pengendali (IF)

 

Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Jika kondisi yang terjadi tidak memenuhi syarat maka akan ada perintah lainnya yang akan dijalankan. 

 

if(kondisi A)

  {

    Kode Perintah A

   }

   else if(kondisi B)

     {

      Kode Perintah B

     }   

     else

       {

        Kode Perintah C

       } 

 

Pada saat awal Arduino akan melihat Kondisi A. Jika memenuhi persyaratan, maka  Kode Perintah A akan dijalankan.

Tapi jika tidak memenuhi persyaratan di Kondisi A maka arduino akan mendeteksi persyaratan berikutnya yaitu  Kondisi B. Jika memenuhi persyaratan sesuai Kondisi B, maka  Kode Perintah B akan dijalankan.

Akan tetapi jika tidak juga memenuhi persyaratan Kondisi B maka arduino langsung akan melaksanakan Kode Perintah C.

 

11.  Perulangan

 

for(int i = 0; i < #repeats; i++)

   {

     Kode Perintah

    }


Kode diatas digunakan saat kita ingin mengulangi kode atau nilai dalam beberapa kali.Penjelasan detailnya nanti akan dibahas ketika mencoba membuat projek, biar lebih mudah dipahami          

 

12. Kode Digital

Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.

 

pinMode( pin, mode);

Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang akan digunakan, pada  Board ESP32, pinnya menyesuaikan GPIO dan mode sendiri bisa berupa INPUT atau OUTPUT.

 

pinMode(2, OUTPUT);    // artinya pin GPIO 2 digunakan sebagai OUTPUT

pinMode(4, INPUT);        // artinya pin GPIO 4 digunakan sebagai INPUT

 

Dan seperti yang sudah saya bahas sebelumnya untuk kode pinMode itu ada didalam void setup.

 

digitalRead(pin);

Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin. Dan nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE).


Contoh:

digitalRead(5);     // artinya kode akan membaca nilai sensor pada GPIO 5

 

Kode digitalRead kita masukan dalam void loop.

 

digitalWrite(pin, nilai);

Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan HIGH (+3,3 V), atau LOW (Ground).


Contoh:

digitalWrite(2, HIGH);    // artinya GPIO 2 mengeluarkan tegangan High (3,3 Volt)

digitalWrite(2, LOW);    // artinya GPIO 2 mengeluarkan tegangan 0 volt / Ground

 

Untuk kode digitalWrite tentu saja kita masukan dalam void loop. analogWrite(pin, nilai);

 

 

analogRead(pin);

Kode diatas digunakan pin INPUT ANALOG, untuk membaca nilai tegangan input dari 0 volt hingga 3,3 Volt.

 

 

analogWrite(pin, nilai PWM);   

Pada Arduino Uno kita bisa langsung menggunakan perintah analogWrite sebagai output gelombang Pulse Width Modulation (PWM), tetapi untuk ESP32 tidak bisa langsung digunakan karena dibutuhkan Library tambahan khusus yang harus dimasukkan agar perintah  analogWrite bisa dijalankan. Jika tidak ditambah library khusus analogwrite maka perintah analogwrite akan error.


Contoh:

analogWrite(3, 150);    // artinya pin 3 diberikan nilai sebesar 150

ledcWrite(ledChannel, i);

Untuk ESP32 ada perintah khusus untuk Output PWM yaitu menggunakan ledcWrite. Perintah ini akan dibahas secara khusus pada tulisan berikutnya.

Untuk memahami ESP32 berikutnya klik : Pemograman dasar ESP32 LED blinking 

Untuk memahami dasa-dasar ESP32 klik : Hardware ESP32

2 komentar untuk "ESP32 PART-3. STRUKTUR PEMOGRAMAN ESP32"

  1. pak ,Apa jenis dari mikro kontrolel dari arduino Uno?

    BalasHapus
    Balasan
    1. jenisnya Arduino uno R3 (dip), dan arduino uno smd

      Hapus