Berikut ini beberapa percobaan pemrograman untuk mengakses input/output periferal pada mikroprosesor ESP32. Percobaan dilakukan pada board Lolin32 Lite, namun dapat dilakukan juga pada board ESP32 tipe lain.
Jenis percobaan yang umum pada mikroprosesor di antaranya sebagai berikut:
- Input digital
- Output digital
- Input analog (dengan Analog to Digital Converter / ADC)
- Output analog (dengan Digital to Analog converter / DAC)
- Port serial (input output)
- Interupsi timer
- Interupsi eksternal / pin
Percobaan Port Digital
under construction
Percobaan Port Serial
Pada ESP32 terdapat 3 buah port serial: UART0, UART1 dan UART2. UART0 sudah tersambung melalui chip USB Serial CH340 pada board Lolin32 Lite, sehingga jika ingin menggunakan UART0 cukup dengan menyambungkan kabel USB dari PC ke konektor mikro USB pada ESP32. Port UART0 ini dipakai untuk melakukan upload program dan juga sebagai input/output default dari ESP32. Output ke port UART0 dari program di ESP32 dapat dilakukan dengan fungsi input/output standar seperti printf().
Pin-pin untuk UART0 pada ESP32 adalah U0TXD sebagai TX dan U0RXD sebagai RX. Level tegangan TX dan RX di sini adalah 3.3 volt.
Pin TX dan RX ini terhubung ke IC CH340C yang kemudian terhubung ke port USB (pin D+ dan D-)
Port UART2 dan UART3 dapat diaktifkan jika perlu. Pin yang dipakai dapat dipilih dan diatur menggunakan software. Jika UART2 dan UART3 tidak digunakan, pin-pin nya dapat dipakai sebagai fungsi lain, misalkan sebagai GPIO input/output digital.
Pin UART2 dan UART3 menggunakan level TTL, sehingga jika ingin dihubungkan ke PC dapat menggunakan konverter USB ke Serial. Perlu dipilih komponen USB to Serial yang dapat menggunakan level tegangan 3.3 volt. Skema pemasangan konverter adalah sebagai berikut:
Pin TX dihubungkan dengan RX , pin RX dihubungkan dengan TX, kedua pin GND dihubungkan. Pin 5 volt / 3,3 volt jangan dihubungkan , kecuali memang ESP32 mau diberi daya dari modul USB-Serial.
Perhatikan bahwa mesti menggunakan modul USB-Serial dengan tegangan kerja 3m3 volt. Ada modul USB-Serial yang dapat bekerja pada tegangan 5 volt maupun 3,3 volt, dan dapat diatur menggunakan jumper.
Chip USB to Serial yang umum di pasaran antara lain:
- FTDI based, misal FT232. Biasanya paling mahal, namun enaknya adalah drivernya sudah built in di Windows maupun Mac OSX
- CH340 based, ini biasanya lebih murah dibandingkan FTDI
- Prolific based
Berikut ini modul USB to Serial berbasis CH340. Modul ini tidak ada setting tegangan.
Berikut ini modul USB to Serial berbasis FTDI (FT232RL). Modul ini ada setting tegangan kerja antara 3,3 volt dan 5 volt.
Pin pada modul USB-Serial cukup banyak, namun yang umum dihubungkan cukup GND, TX dan RX.