Kamis, 30 Januari 2020

Playing with ESP32 Touch Sensor and LED

Halooo..
Gimana first experience ESP32 dengan modul BLINK-nya? Masih easy gak sih? Nah kali ini kita juga bakal bermain lagi nih dengan ESP32. Kali ini tidak hanya dengan ESP32, tapi juga ada resistor dan LED, penasaran kan gimana cara bermainnya? Let's go!

Menyalakan LED di luar ESP32

[[ Persiapan :: ]]
  1. LED
  2. Resistor 330 Ohm
  3. Breadboard
  4. Kabel Jumper Male to Male (2 buah)
  5. ESP32 Devkit V1 WROOM 32 (30 pins)
  6. Laptop / PC
  7. Kabel USB Type A to Micro USB
  8. Arduino IDE
Sebelum ke langkah percobaan, aku mau pastikan lagi nih kalau kalian sudah melakukan instalasi board dan port yang dibutuhkan dalam percobaan ini. Jika belum melakukan instalasi, kalian bisa lihat pada post sebelumnya (bit.ly/InstalasiBoardESP32).

[[ Steps :: ]

Pembuatan Rangkaian :
  1. Pasang LED pada breadboard dan jika memungkinkan pasang juga ESP32 Development Board pada breadboard (tips : jika tidak cukup, boleh di luar dengan menghubungkan board dengan kabel jumper male to female).
  2. Hubungkan kutub katoda atau kutub negatif LED (tips : kutub katoda pada LED adalah salah satu kaki LED yang lebih pendek dari kaki yang satunya) pada ground dengan cara kaki katoda diletakkan pada breadboard yang memiliki kutub negatif (biasanya bergaris biru) dan sebaris dengan kaki katoda tersebut, hubungkan breadboard dengan pin GND pada ESP32 menggunakan kabel jumper.
  3. Sedangkan kutub anoda atau kutub positif LED dihubungkan pada salah satu kaki resistor 330 Ohm yang juga diletakkan pada breadboard satu kolom dengan kaki anoda, kemudian hubungkan kaki resistor yang satunya menggunakan kabel jumper yang diletakkan sekolom dengan kaki resistor tersebut dengan pin D5 pada ESP32.
  4. Rangkaian telah selesai dan siap untuk disimulasikan dengan program.
    Rangkaian LED dan resistor pada breadboard

Coding :
Kode blink untuk LED dan resistor
[[ Simulasi :: ]]
  1. Hubungkan laptop / PC kamu dengan ESP32 menggunakan kabel USB Type A to Micro USB, kemudian compile terlebih dahulu dengan meng-klik icon centang dengan label verify pada Arduino IDE.
  2. Setelah selesai, lakukan uploading (untuk jenis NodeMCU ESP32 tekan sebentar tombol boot bersamaan dengan munculnya notifikasi update pada monitor.
  3. Selesai, program telah terbaca oleh ESP32.

Gimana? sudah berhasil belum?
Kalau sudah berhasil, lanjut berikutnya yuk.

Touch Sensor

Nah dari judulnya adakah yang bisa menebak kita memerlukan komponen apa saja pada modul ini? Kalau jawaban kalian adalah sensor sentuh, kalian SALAH BANGET loh. Kok bisa ya? Kan kita mau eksperimen dengan touch sensor tapi kok kita tidak memerlukan touch sensor itu sendiri?

Jadi begini teman-teman, kita tidak memerlukan sensor tersebut karena pada ESP32 sendiri telah terdapat touch sensor tersebut atau yang lebih dikenal dengan GPIO4. Selain itu, ada sensor-sensor lainnya loh, mungkin kalau ada kesempatan aku bakal share deh pengalaman ngoprek aku di sini. Mungkin loh ya, hehe. Tanpa panjang lebar lagi, ayo kita lakukan percobaan berikutnya yaitu Touch Sensor Module.

[[ Persiapan :: ]]
  1. LED
  2. Resistor 330 Ohm
  3. Breadboard
  4. Kabel Jumper Male to Male (3 buah)
  5. ESP32 Devkit V1 WROOM 32 (30 pins)
  6. Laptop / PC
  7. Kabel USB Type A to Micro USB
  8. Arduino IDE
[[ Steps :: ]

Pembuatan Rangkaian :
  1. Pasang LED pada breadboard dan jika memungkinkan pasang juga ESP32 Development Board pada breadboard (tips : jika tidak cukup, boleh di luar dengan menghubungkan board dengan kabel jumper male to female).
  2. Hubungkan kutub katoda atau kutub negatif LED (tips : kutub katoda pada LED adalah salah satu kaki LED yang lebih pendek dari kaki yang satunya) pada ground dengan menggunakan kabel jumper male to male yang diletakkan pada breadboard yang memiliki kutub negatif (biasanya bergaris biru) dan menggunakan kabel jumper lagi yang diletakkan sebaris dengan kabel jumper penghubung kaki katoda LED yang kemudian dihubungkan pada GND di ESP32.
  3. Sedangkan kutub anoda atau kutub positif LED dihubungkan pada salah satu kaki resistor 330 Ohm yang juga diletakkan pada breadboard satu kolom dengan kaki anoda, kemudian hubungkan kaki resistor yang satunya menggunakan kabel jumper yang diletakkan sekolom dengan kaki resistor tersebut dengan pin GPIO16 (di sebelahnya D4 atau GPIO4) pada ESP32.
  4. Hubungkan kabel jumper ke GPIO4 (D4) di ESP32.
  5. Rangkaian telah selesai dan siap untuk disimulasikan dengan program.
    Contoh rangkaian Touch Sensor

    Coding :
    Kode untuk Touch Sensor dengan LED Blink
[[Simulasi :: ]]
Setelah proses compile dan update selesai, buka serial monitor (tips: Tools >> Serial Monitor) untuk melihat apakah percobaan berhasil atau tidak. Kita juga bisa melihat plot yang dihasilkan dengan membukanya di Tools >> Serial Plotter.



Hall Effect Sensor

Sensor efek hall dapat mendeteksi variasi medan magnet di sekitarnya. Semakin besar medan magnet, semakin besar tegangan output sensor. Dalam percobaan ini pun, baru dapat dikatakan 'sukses' jika pada serial monitor menampilkan angka yang membuat perbedaan signifikan dari angka yang biasa keluar seperti angka positif yang besar atau bahkan angka negatif. Itu semua terjadi karena posisi/letak dari pemberian kutub magnet pada posisi sensor di ESP32, seperti pada gambar berikut.



Nah, sekarang langsung saja ke percobaannya..
[[Persiapan ::]]
  1. Magnet (usahakan berukuran sedang/medium karena akan berpengaruh pada daya deteksi Hall Sensor ESP32) 
  2. ESP32 Devkit V1 WROOM 32 (30 pins)
  3. Laptop / PC
  4. Kabel USB Type A to Micro USB
  5. Arduino IDE
[[Steps :: ]]

Coding :
Kode untuk Hall Effect Sensor

[[Simulasi :: ]]
Untuk percobaan ini, lebih mudah sedikit karena kita hanya tinggal menghubungka ESP32 dengan program pada Arduino IDE nih. Setelah proses compile dan update selesai, buka serial monitor (tips: Tools >> Serial Monitor) untuk melihat apakah percobaan berhasil atau tidak. Kita juga bisa melihat plot yang dihasilkan dengan membukanya di Tools >> Serial Plotter.

Sabtu, 25 Januari 2020

Kenalan Yuk dengan ESP32

Halo.. Ini tulisan pertama aku, jadi sebelumnya mohon maaf kalau kata-katanya ngebosenin hehe..
Seperti nama blog ini yaitu ESP32 Area, aku bakal share nih hal-hal terkait ESP32..
Sebelumnya kenalan dulu yuk dengan ESP32 ini.

Apa itu ESP32?
Board ESP32
ESP32 adalah mikrokontroler yang dibuat oleh Espressif System dengan daya rendah pada seri chip SoC (System on Chip) 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. ESP32 yang beredar di pasar ini dibandrol dengan harga yang lebih murah dibandingkan board yang lain seperti Arduino Uno. Hanya sekitar Rp75000, kamu sudah bisa memiliki ESP32 ini.

Pada percobaan ini, aku menggunakan ESP32 WROOM 32 DEVKIT V1 yang 30 pins.
Langsung aja yuk ke percobaan pertama yaitu menyalakan LED dengan program Blink.

[[ Instalasi Arduino IDE ]]
  1. Download Arduino IDE yang sesuai dengan spesifikasi laptop kamu di https://www.arduino.cc/en/Main/Software dan lakukan instalasi.
  2. Setelah instalasi selesai, open Arduino IDE. Selanjutnya, lakukan konfigurasi Arduino IDE.
[[ Konfigurasi Arduino IDE ]]
Pada tahap ini, kita akan melakukan instalasi board dan port yang akan kita gunakan nantinya.
Asumsi : Kamu baru pertama kali menggunakan ESP32 sehingga board ESP32 belum tercatat di Arduino IDE kamu.
  1. Buka jendela/menu Preferences pada Arduino IDE.
  2. Masukkan link berikut pada Additional Boards Manager URLs: https://dl.espressif.com/dl/pac kage_esp32_index.json 
    Tampilan Menu Preferences pada Arduino IDE
  3. Buka Tools >> pilih Board Manager.Setelah mengisi URLs pada step 2, secara otomatis muncul beberapa pilihan seperti gambar dibawah ini, kemudian pilih "Install" di kolom esp32 by Espressif System
    Tampilan Board Manager
  4. Setelah menginstall package ESP32, buka jendela Tools, dan pilih ESP32 DEVKIT V1 sesuai tipe board.
[[ Instalasi Driver USB to UART ]]
  1. Komunikasi antara PC dengan board ESP32 adalah menggunakan device USB to UART (komunikasi serial).
  2. Lakukan instalasi driver yang dapat diunduh pada link: https://www.silabs.com/products/development-tools/software/usbto-uart-bridge-vcp-drivers
Setelah melakukan langkah-langkah persiapan di atas, kini kamu sudah siap melakukan percobaan pertama yaitu modul LED Blink (yeayy!).

LED BLINK

Peralatan yang dibutuhkan ::

  • Board ESP32 WROOM 32 DEVKIT V1 30 pins.
  • Kabel USB Type A to Micro USB.
  • Laptop / PC.
  • Arduino IDE yang sudah ter-install board dan driver USB to UART.
Steps ::
  1. Buka File >> pilih Examples >> pilih 01.Basics >> pilih Blink. Kemudian akan keluar tampilan kode seperti dibawah ini. Penjelasan kode program : atur lamanya LED on / off pada delay(1000) dengan 1000 berarti 1 detik atau 1 second.
    Program Blink
  2. Sambungkan Board ESP32 dengan laptop / PC kamu dengan menggunakan kabel USB Type A to Micro USB. Jika sudah tersambung, lampu indikator berwarna merah pada Board ESP32 akan menyala dengan sendirinya.
  3. Untuk menjalankan programnya, pilih tanda centang untuk compile / verify kode program. Setelah muncul pemberitahuan "Done compiling" kemudian lakukan update dengan pilih tanda panah yang berada tepat disebelah tanda centang. Tips : Jika kamu menggunakan NodeMCU ESP32, ketika proses upload, tekan tombol Boot sampai proses transfer terjadi, lepaskan dan akan muncul pesan “Done uploading”. Tekan tombol EN untuk mereset board dan LED biru akan berkedip terus menerus.
    Keadaan saat Board ESP32 berhasil tersambung ke laptop / PC dengan menggunakan kabel USB Type A
Hasil akhir modul LED BLINK 

Weather Database with ESP32 using MySQL and PHP

Halo.. Ini blog terakhir aku untuk semester ini ya karena awalnya blog ini ditujukan untuk tugas Sistem Embedded sih. Kalau untuk selanjut...