XII TAV B
P3V
Selasa, 29 September
ESP32 adalah sebuah chip mikrokontroller. ESP32 merupakan System on Chip yang menyediakan Wi-
Fi ditambah Bluetooth 4.2 Solusi kombo pada pita 2.4GHz dengan menggunakan teknologi 40nm.
ESP32 dibuat oleh Espressif Systems, ESP32 adalah sistem dengan biaya yang rendah, berdaya rendah
pada seri chip (SoC) dengan Wi-Fi & kemampuan Bluetooth dua mode! Keluarga ESP32 termasuk chip
ESP32-D0WDQ6 (dan ESP32-D0WD), ESP32-D2WD, ESP32-S0WD, dan sistem dalam paket (SiP) ESP32-
PICO-D4. Pada intinya, ada mikroprosesor Tensilica Xtensa LX6 dual-core atau single-
core dengan clock rate hingga 240 MHz. ESP32 sudah terintegrasi dengan built-in antenna switches,
RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules.
Didesain untuk perangkat seluler, perangkat elektronik yang dapat dipakai, dan aplikasi IoT, ESP32
juga bekerja dengan konsumsi daya sangat rendah melalui fitur hemat daya termasuk fine resolution
clock gating, multiple power modes, and dynamic power scaling.
Module ESP32 merupakan penerus dari module ESP8266 yang cukup populer untuk Aplikasi IoT. Pada
ESP32 terdapat inti CPU serta Wi-Fi yang lebih cepat, GPIO yang lebih, dan mendukung Bluetooth Low
Energy.
1.Prosesor:
2.Konektivitas nirkabel:
Wi-Fi: 802.11 b/g/n/e/i (802.11n @2.4 GHz hingga 150Mbit/s) Bluetooth: v4.2 BR/EDR dan
Bluetooth Low Energy(BLE).
3.Memori:
Memori internal:
ROM: 448 KB
SRAM: 520 KB
eFuse: 1 Kbit
Flash tertanam:
2 MB(chip ESP32-D2WD)
ESP32 mendukung hingga empat kali QSPI eksternal 16 MiB dan SRAM dengan enkripsi perangkat
keras berdasarkan AES untuk melindungi pengembang program dan data. ESP32 dapat mengakses
flash QSPI eksternal dan SRAM melalui cache berkecepatan tinggi.
Flash eksternal hingga 16 MB dipetakan ke ruang kode CPU, mendukung akses 8- bit, 16-bit dan 32-
bit. Eksekusi kode didukung.
Memori flash/SRAM eksternal hingga 8 MB dipetakan ke data CPU ruang, mendukung akses 8-bit, 16-
bit dan 32-bit. Pembacaan data didukung pada flash dan SRAM. Penulisan data didukung pada SRAM
4.Input/output periferal:
Antarmuka periferal yang kaya dengan DMA yang mencakup kapasitif sentuh,ADC (converter analog-
ke-digital),DACkonverter digital-ke-analog),I²C(Sirkuit Terpadu),UART(penerima/pemancar asinkron
universal), CAN 2.0 (Jaringan Area Pengendali), SPI (Serial Peripheral Interface), I²S (Suara Inter-IC
Terpadu), RMII (Reduced Media-Independent Interface), PWM (modulasi lebar pulsa), dan banyak
lagi.
5. Keamanan:
Fitur keamanan standar IEEE 802.11 semua didukung, termasuk WFA, WPA/WPA2 dan WAPI Boot
aman Enkripsi flash OTP 1024-bit, hingga 768 bit untuk pelanggan Akselerasi perangkat keras
kriptografis: AES, SHA-2, RSA, kurva eliptik kriptografi (ECC),generator angka acak(RNG).
Soket Micro-USB: Soket USB mikro digunakan untuk menghubungkan ESP32 ke komputer melalui
kabel USB. Ini digunakan untuk memprogram modul ESP dan juga dapat digunakan untuk debugging
serial karena mendukung komunikasi serial
Tombol EN: Tombol EN adalah tombol reset pada modul ESP. Menekan tombol ini akan mengatur
ulang kode yang berjalan pada modul ESP
Tombol Booting: Tombol ini digunakan untuk mengunggah Program dari Arduino ke modul ESP. Itu
harus ditekan setelah mengklik ikon unggah pada Arduino IDE. Ketika tombol Boot ditekan bersamaan
dengan tombol EN, ESP masuk ke mode unggahan firmware. Jangan bermain dengan mode ini kecuali
Anda tahu apa yang Anda lakukan.
LED Merah: LED Merah di papan digunakan untuk menunjukkan catu daya. Itu menyala merah ketika
papan dinyalakan.
LED Biru: LED Biru di papan terhubung ke pin GPIO. Itu bisa dihidupkan atau dimatikan melalui
pemrograman. Di beberapa papan kloning Cina seperti milik Anda, led ini juga berwarna merah.
pin I/O: Di sinilah perkembangan besar telah terjadi. Tidak seperti ESP8266, pada ESP32 kita dapat
mengakses semua pin I/O modul melalui pin break-out. Pin ini mampu Baca/Tulis Digital, Baca/Tulis
Analog, PWM, IIC, SPI, DAC, dan banyak lagi. Kita akan membahasnya nanti. Tetapi jika Anda tertarik,
Anda bisa belajar melalui deskripsi pin di ESP32 Datasheet.
ESP-WROOM-32: Ini adalah jantung dari modul ESP32. Ini adalah mikroprosesor 32-bit yang
dikembangkan oleh sistem Espressif. Jika Anda lebih sebagai orang teknis, Anda dapat membaca
Lembar Data ESP-WROOM-32.
ESP32 PART-2. INSTALASI BOARD ESP32
Setelah terinstall, hubungkan board development ESP32 dengan komputer menggunakan kabel data
usb. Lalu perhatikan pada Device Manager harusnya terbaca port usb to serial sebagai berikut
Berikut ini langkah-langkah untuk Untuk Memulai Pemrograman ESP32 menggunakan Arduino IDE.
2. Pada Kolom Preference, masukkan Link ini
https://dl.espressif.com/dl/package_esp32_index.json pada kolom tersebut lalu Klik OK.
3. Tutup Jendela Preference, buka Tools >> Board >> Boards Manager
Jika anda pernah menginstall board untuk ESP8266, maka pisahkan dengan baris baru.Kemudian klik
OK
4. Jalankan Boards Manager, melalui menu Tools > Board > Boards Manager. Pastikan komputer
terhubung dengan koneksi internet, karena Arduino IDE akan mengunduh data dari alamat url
repositori yang dimasukan pada menu preferences di langkah sebelumnya.
5. Ketikan esp32 pada filter pencarian, sehingga muncul seperti gambar. Lalu klik Install
Tunggu beberapa saat hingga proses download dan instalasi selesei. Lalu klik Close
6. Hubungkan Module ESP32 ke Laptop Anda seperti tampak pada gambar dibawah ini
ELEKTRONIKA HENDRY
Pilih board yang akan digunakan disini kita akan menggunakan esp32 Dev Module
ELEKTRONIKA HENDRY
ELEKTRONIKA HENDRY
8. Ketik Code Program dibawah ini untuk Uji Coba dan memastikan Port Serial ESP32 tersebut
berfungsi dengan baik.
9. Upload code program ke Module ESP32 seperti anda melakukannya ke Module Arduino Uno atau
yang lainnya.
10. Lalu pilih Tools >> Serial Monitor. Jika berhasil, maka akan tampil seperti berikut ini pada Serial
Monitor. Dan pastikan Baudrate menggunakan 115200.
11. Module ESP32 sudah siap digunakan dan diprogram sesuai dengan keinginan Anda
Secara umum pemograman ESP32 sama dengan Arduino Uno, hanya saja harus ada penyesuaian
seperti penomoran pin, dan perintah-perintah spesifik lainnya yang berbeda dengan Arduino Uno.
void setup()
}
void loop()
void Fungsi();
KETERANGAN
Semua kode program yang ada dalam void setup akan dibaca sekali oleh Arduino. Biasanya isinya
berupa kode perintah untuk menentukan fungsi pada sebuah pin.
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.
analogWrite(3, 225); //untuk memberikan nilai 225 (setara dengan 3,3 V) kepada pin 3.
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");
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:
Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara
mengetikan // kemudian mengetikan catatannya, seperti:
void loop() {
Tetapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja.
Jika kamu ingin membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /*
lalu ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */
Contohnya seperti:
void loop() {
/* apapun yang kamu mau ketikan disini tidak akan dibaca oleh program sepanjang apapun kamu
mengetiknya */
Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa pemrograman
pada umumnya, Arduino membaca mulai dari atas hingga kebawah.
void loop()
{
….program
….program
….program
6. Titik Koma ;
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.
Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits).
Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits).
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
+ (penambahan)
– (pengurangan)
* (perkalian)
/ (pembagian)
< (lebih kecil dari) contoh: 15 < 10 FALSE atau 12 < 14 TRUE
> (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE
Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah terpenuhi
maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak memenuhi kondisinya juga
ada perintah yang dilaksanakan oleh Arduino.
if(kondisi A)
{
}
else if(kondisi B)
{
}
else
{
}
Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode Perintah A.
Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi, maka akan melaksanakan Kode Perintah
B.
Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode Perintah C.
11. Perulangan
{
}
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 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.
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:
digitalWrite(pin, nilai);
Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan HIGH (+3,3 V),
atau LOW (Ground).
Contoh:
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.
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:
Di dalam board ESP32 dev Module terdapat 2 buah LED yaitu Power LED dan LED built in GPIO2.
Untuk jelasnya lihat pada gambar di bawah ini:
Silahkan ketik program di bawah ini menggunakan program aplikasi ARDUINO IDE :
/*****************************************
*****************************************/
int LED_BUILTIN = 2;
void setup()
{
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Setelah selesai silahkan hubungkan kabel USB ke board ESP32 dev Module. Pastikan port COM sudah
dicheclist. Setelah itu lakukan verify guna memastikan tidak ada kesalahan dalam pengetikan
program. Setelah sukses bisa langsung diupload ke board ESP32.
Jangan lupa saat muncul pesan connecting......____......____, maka tekan tombol BOOT yang ada pada
board Module ESP32.
JIka sudah sukses maka lampu LED akan berkedip (Blink) sekitar 1 detik ON dan 1 detik OFF dan
program ini akan berjalan terus menerus (looping) selamanya hingga power supply di matikan.
Selamat mencoba.
Setelah selesai silahkan verify dan upload ke board ESP32. JIka tidak ada kesalahan program maka
lampu LED akan berkedip (Blink) sekitar 1 detik ON dan 1 detik OFF dan program ini akan looping
selamanya hingga power supply di matikan.