ESP32 PART-3. STRUKTUR 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
}
void
Fungsi();
{
//fungsi /sub program yang sering dipanggil
}
KETERANGAN
1. void setup
Semua sketch program pada void setup hanya dibaca sekali saja saat menjalankan program di 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 sketch program pada void loop akan dibaca setelah void setup dilakukan dan sketch program didalamnya akan dijalankan secara looping atau dijalankan secara terus menerus hingga catu dayanya dimatikan. Isinya berupa sketch sebagai 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 menggunakan:
Serial.print(sensor);
Jika sketch tertulis seperti di atas maka serial monitor ini akan menampilkan nilai yang sudah tersimpan di dalam variabel sensor.
Jika ingin menampilkan teks di serial monitor maka gunakanlah tanda petik seperti contoh di bawah yang berfungsi menampilkan tulisan Hendry Kurniawan:
Serial.print("Hendry Kurniawan");
Dan untuk
membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu Tools pada bagian atas, lalu pilihlah Serial Monitor. Atau bisa juga dengan menggunakan keyboard komputer yaitu menekan kombinasi CTRL+SHIFT+M. Jika ingin lebih praktis lagi maka bisa klik saja tanda gambar kaca pembesar seperti gambar dibawah ini:
4. Membuat Catatan di sketch Program
Kadangkalanya kta membutuhkan catatan dalam penulisan sketch program, hal ini memudahkan ita saat melakukan pengecekan sketch program jika akan di modifikasi. Untuk membuatnya bisa dengan cara
mengetikan tanda garis miring double seperti ini : // kemudian mengetikan catatannya, seperti:
void loop() {
// catatan
pada baris ini tidak akan dibaca oleh program
}
Yang perlu diperhatikan penggunaaan tanda miring double ini // hanya 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
*/.
Penggunaan tanda */ dapat dilihat seperti ini:
void loop() {
/* Jadi semua catatan dalam tanda ini, tidak akan dieksekusi atau dibaca oleh program, jadi silahkan ketik teks yang panjang untuk memberikan keterangan terhadap sketch yang kita buat. Keterangan ini harus ditutup dengan tanda */
}
5. Kurung Kurawal
{}
Kurung kurawal harus dibuat sepasang karena kurung kurawal ini digunakan
untuk menentukan awal dan akhir dari suatu sketch 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 sketch program Arduino harus diakhiri dengan tanda ; Jika tidak ada tanda titik koma maka saat nanti di verify akan terjadi kesalahan. Contoh :
void setup(){
pinMode(13,
OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
}
7. Variabel
Variabel merupakan sketch program yang difungsikan untuk menyimpan suatu nilai pada sebuah nama variabel yang sidah dibuat. Jenis-jenis variable yang bisa digunakan diantaranya
adalah Integer, Long, Boolean, Float, Character.
7a. int
(integer)
Variabel int merupakan variabel yang sering digunakan. variabel int ini mampu menyimpan data sebesar 2 bytes (16 bits).
7b.
long (long)
Variabel long merupakan variabel yang panjang dan biasanya nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32
bits).
7c.
boolean (boolean)
Variabel boolean merupakan variable yang hanya bisa menyimpan nila TRUE dan FALSE saja, dan cuma menggunakan 1 bit saja.
7d.
float(float)
Variabel float ini digunakan
untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32
bits).
7e.
char(character)
Variabel char menyimpan character berdasarkan ASCII kode (contoh: ‘B’=66). Menggunakan 1 byte (8
bits).
8. Operator Matematika
Operator matematika bisa diterapkan pada pemograman arduino. Memang tidak semua operator matematika ada , akan tetapi operator matematika ini sudah mencukupi dalam proses pembuatan program. Operator yang digunakan merupakan operator 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: 13 == 10 FALSE atau 13 == 13 TRUE
!= (tidak sama dengan) contoh: 13 != 10 TRUE
atau 13 != 13 FALSE
< (lebih kecil dari) contoh: 13 < 10
FALSE atau 12 < 13 TRUE
> (lebih besar dari) contoh: 19 > 13 TRUE
atau 13 > 19 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
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
Kode digital ini banyak diterapkan untuk pengaturan pin input dan pin ouput 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);
Perintah digitalRead(pin) adalah untuk membaca nilai input yang bisa saj terhubung ke sensor. jadi bisa untuk membaca nilai logic sensor dan nilainya
hanya terbatas pada high "1" (TRUE), atau low "0" (FALSE).
Contoh:
digitalRead(5); // artinya kode akan membaca nilai sensor
pada GPIO 5
Kode digitalRead kita masukan dalam void loop.
digitalWrite(pin,
nilai);
perintah digitalWrite adalah suatu perintah untuk menuliskan logika 1 atau O ke output. Untuk logika output HIGH akan mengeluarkan tegangan sekitar +3,3
V (ESP32) atau +5 Volt (Arduino uno). Sedangkan output logika LOW maka akan mengeluarkan tegangan = 0 Volt (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 materi selanjutnya akan dibahas program sederhana ESP32 yaitu ESP32 Part 4 "Program LED berkedip / Blink.
Posting Komentar untuk "ESP32 PART-3. STRUKTUR PEMOGRAMAN ESP32"