ESP32 Guide Lengkap | serta Pantang-Larang

Dalam Tutorial ini, MatGyver akan menerangkan bagaimana MEMAHAMI Board ESP32.
Antara tujuan artikel ini ditulis, adalah kerana Board ESP32 adalah antara Board yang terdapat TERLALU-BANYAK Pantang-Larang yang tidak diterangkan dengan jelas, dan tidak di-COMPILE-kan dalam satu rujukan.

JADUAL RINGKASAN PANTANG-LARANG PIN ESP32

Jadual di bawah, menerangkan secara keseluruhan berkenaan PANTANG-LARANG menggunakan ESP32. Perincian berkenaan jadual ini, akan kita terangkan dengan lebih lanjut.

Hak Milik MatGyver.my : Dikeluarkan 15 December 2021

Bagi memulakan tutorial artikel ini, kita akan sentuh dahulu berkenaan SPESIFIKASI serta KAEDAH-INSTALL Board ESP32 dalam Arduino IDE.

SPESIFIKASI BOARD ESP32 (DEV KIT V1 DOIT)

Spesifikasi ESP32Arduino UNO
Bilangan Core CPU2 (Dual-Core)1 (Single-Core)
Built-In WiFi2.4GHzTIADA
Built-In BluetoothBLE dan Legacy BluetoothTIADA
CPU Clock Frequencysehingga 240MHz16MHz
CPU Architecture32-bit8-bit
RAM512 KB2 KB
EEPROM4 KB1 KB
Flash Memory4 MB32 KB
Digital/Analog Pins30~36pin19 pin
Analog-In Pins14 (rujuk carta Pantang-Larang)6 pin
Hardware Serial21
I2C Port11
SPI Port21
Capacitive Touch Pin10TIADA

CPU / Frequency / Core

ESP32 mempunya 2 (Dual-Core) CPU, bermakna kita seolah-olah dapat menggunakan 2 VOID-LOOP yang dapat saling berinteraksi antara satu-sama lain. Ini boleh menjadi SOLUSI MULTI-TASKING yang sering dihadapi bila menggunakan UNO. Namun, penggunaan dan programming 2 VOID-LOOP adalah amat sukar untuk beginners, dan terma yang biasa digunakan untuk Multi-Core Programming adalah RTOS (RealTime Operating System).

Penggunaan Multi-Core boleh menjadi solusi untuk sistem-sistem yang mengawal STEPPER MOTOR kerana kawalan Stepper Motor mementingkan Precise-Frequency Execution.

Kelajuan CPU 240MHz berbanding 16MHz juga merujuk kepada kelajuan Void-Loop dibaca oleh CPU. Ini antara aspek penting yang dapat dimanfaatkan untuk applikasi-applikasi IoT yang sangat padat dengan Line-Line Coding String HTML/JAVA/JSON dan sebagainya.

Dalam masa yang sama, kelajuan CPU 240MHz juga dapat dimanfaatkan oleh applikasi STEPPER-MOTOR dimana, MAX-RPM Stepper Motor dapat ditingkatkan berbanding penggunaan Arduino UNO.

Built-In WiFi

AMARAN!
WiFi dan Bluetooth TIDAK boleh digunakan kedua-dua dalam SATU MASA.

Built-In Bluetooth

AMARAN!
WiFi dan Bluetooth TIDAK boleh digunakan kedua-dua dalam SATU MASA.

RAM / EEPROM / Flash Memory

PANTANG-LARANG ESP32

Hak Milik MatGyver.my : Dikeluarkan 15 December 2021

PENGGUNAAN SERVO UNTUK ESP32

Library default yang biasa digunakan <Servo.h> TIDAK boleh digunakan bersama Board ESP32.

Oleh itu, Library pengganti yang boleh digunakan adalah

ServoESP32 by RoboticsBrno

Library tersebut boleh didapatkandi URL GitHub berikut:

https://github.com/RoboticsBrno/ServoESP32

Kaedah penulisan dan penggunaan Library ServoESP32 adalah sama sahaja seperti library <Servo.h>

INPUT_PULLUP BUKAN UNTUK SEMUA PIN

Fungsi INPUT_PULLUP adalah sangat menyenangkan, namun tidak semua pin pada ESP32 membenarkan fungsi ini digunakan.

Senarai Pin yang boleh menggunakan INPUT_PULLUP pada ESP32 adalah:

16, 17, 18, 19, 21, 22, 23

OUTPUT BUKAN UNTUK SEMUA PIN

Senarai Pin yang TIDAK boleh menggunakan OUTPUT pada ESP32 adalah:

Pin 6 hingga 11, dan juga 34,35,36 dan 39

ELAKKAN PENGGUNAAN Pin 12

Pin 12 biasa digunakan untuk process mengupload coding.

Sebarang device yang bersambung pada Pin 12 boleh mengganggu process upload coding dan mengeluarkan ERROR berikut:

A fatal error occurred: Timed out waiting for packet content

SAMBUNGAN i2C dan Library

Pin DEFAULT untuk i2C hardware pada ESP32 adalah pada pin 21 dan pin 22, di mana;

  • Pin 21 = SDA
  • Pin 22 = SCL

Penulisan code , Wire.begin()

Untuk mengubah pin i2C pin yang boleh digunakan adalah seperti berikut:

  • Pin16 dan Pin17
  • asdasd

Penulisan code , Wire.begin(16, 17)

Senarai gabungan pin yang TIDAK boleh digunakan.

  • Pin15 dan Pin2

AMARAN:

I2C pin 21 dan juga pin 22 tidak boleh digunakan bersama SPI communication. Dalam keadaan ini, gunakan gabungan pin lain selain pin 21 dan 22 untuk I2C

GURU MEDITATION ERROR: Core 1 panic’ed…

Bagi sesiapa yang pernah membuat pelbagai project dengan ESP32, Error: Guru Meditation ini pasti pernah muncul beberapa kali.

Namun bagi beginners, pasti akan keluh untuk mencari penyelesaian bagi error ini.

Kami hanya dapat “highlight” beberapa punca UTAMA error ini, namun adakalanya, error ini boleh berpunca dari masalah lain.

Punca #1 : Current supply yang tidak mencukupi

Seperti gambar di atas, kebiasaan anda memberi kuasa pada board ESP32 melalui port USB. Kebiasaan USB-Port/Plug/Charger HANYA mampu mengeluarkan 5V voltage pada CURRENT 500mA SAHAJA!

ESP32 sendiri boleh consume sehingga 150mA current.

500mA ini TIDAK MENCUKUPI untuk sesetengah module seperti di bawah.
Secara tidak langsung, semasa module-module ini dinyalakan, ia menyebabkan CURRENT-SUPPLY pada ESP32 TIDAK MENCUKUPI dan menyebabkan ESP32 Restart dan mengeluarkan Error: Meditation Core

GSM SIM900 / SIM800

Module Sim900 atau Sim800 biasanya mempunyai consumption sehingga 2A ketika network connection.

SERVO MOTOR

Rujuk current-current consumption untuk setiap servo yang anda gunakan dalam project.

PENYELESAIAN : VOLTAGE REGULATOR / POWER SUPPLY

Salah satu penyelesaian bagi kekurangan current supply adalah dengan kaedah menambahkan Voltage Regulator LM2596 (Rating 2A) seperti dalam rajah di bawah.

Punca #2 : Penggunaan Interrupt-Pin yang tidak sesuai

Seperti yang diterangkan di Jadual-Pin di atas, walaupun ESP32 mempunyai banyak pin, namun kebanyakan pin berkongsi fungsi dengan fungsi-fungsi hardware utama ESP32 seperti Bluetooth dan juga WiFi.

Oleh itu, adakalanya pin-interrupt yang digunakan perlu dipilih dengan betul supaya tidak bercanggah dengan fungsi WiFi dan Bluetooth.

Punca lain-lain

Bagi punca-punca lain yang tidak diterangkan di atas, tuan-tuan perlu membuat rujukan lanjut di blog-blog atau tutorial lain di Google.

To Be Continued….


Jika anda menyukai artikel-artikel keluaran MatGyver.my, kami mohon jasa baik tuan/cikpuan untuk sumbangkan like pada page FaceBook kami,
dan juga Subscribe ke YouTube Channel kami !

Dapatkan Tips-tips DIY dan Arduino dari FB Page Kami.
Konten Video Tips DIY Hobby MatGyver Official Channel.

end

Published by Mat Gyver

Peneraju Komuniti Digital Maker Malaysia. Pembangunan Komuniti diUtamakan.

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out /  Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out /  Tukar )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: