Tutorial ESP32 Komunikasi Serial ESP32 dan Arduino Uno

Komunikasi serial merupakan salah satu komunikasi data yang sinkron, meskipun esp32 sudah memiliki cukup banyak pin gpio yang bisa bekerja sendiri tanpa menggunakan arduino sekalipun, namun tujuan dari artikel ini hanya untuk belajar, barang kali suatu saat mengharuskan komunikasi data antar esp32 dan arduino uno dengan serial, maka tutorial ini bisa bermanfaat.

memang jarang saya temui orang yang menggunakan esp32 juga menggunakan arduino uno dalam satu proyek, tapi hal ini tidak mustahil dalam satu proyek digunakan arduino dan esp32 secara bersamaan.

Aplikasi Penerapan Komunikasi Serial ESP32 dan Arduino Uno

  1. Saat membutuhkan WiFi dalam Proyek
  2. Proyek yang membutuhkan tegangan level 5V
  3. Saat membutuhkan Bluetooth dan Wifi sekaligus banyak port
  4. dan sebagainya

Langkah Membuat Komunikasi Serial ESP32 dan Arduino Uno

Pada ESP32 kita tidak memerlukan library softwareserial karena sudah tersedia hardwareserial, jika menginginkan softwareserial silahkan cari sendiri library yang cocok untuk ESP32. Sedangkan untuk Arduino Uno kita akan menggunakan library SoftwareSerial.

  1. Siapkan modul ESP32 Beli Disini
  2. Siapkan modul arduino uno Beli Disini
  3. Buat rangkaian seperti pada gambar diatas
  4. Buat program
  5. Upload program

Program ESP32 Serial

//GPIO17 itu tx2
//GPIO16 itu rx2
String data;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Serial2.begin(9600);
}
void loop() {
// berikut data yang dibaca dari serial monitor sendiri, kemudian dikirim ke perangkat lain
  while(Serial.available() > 0){
  delay(10);
  char d = Serial.read();
  data += d;
}
if (data.length() > 0){
  Serial2.print(data);
  data = "";
}
// berikut code untuk membaca data dari perangkat lain
while(Serial2.available() > 0){
  delay(10);
  char d = Serial2.read();
  data += d;
}
if (data.length() > 0){
  Serial.println(data);
  data = "";
}
}

Program Arduino Uno Serial

#include <SoftwareSerial.h>
SoftwareSerial Serial2 (2, 3); // 2 rx, 3 tx

String data;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Serial2.begin(9600);
}
void loop() {
// berikut data yang dibaca dari serial monitor sendiri, kemudian dikirim ke perangkat lain
  while(Serial.available() > 0){
  delay(10);
  char d = Serial.read();
  data += d;
}
if (data.length() > 0){
  Serial2.print(data);
  data = "";
}
// berikut code untuk membaca data dari perangkat lain
while(Serial2.available() > 0){
  delay(10);
  char d = Serial2.read();
  data += d;
}
if (data.length() > 0){
  Serial.println(data);
  data = "";
}
}

Hasil dari program diatas akan tampak seperti pada gambar dibawah ini.

Komunikasi serial memiliki kekurangan dalam penggunaan kabel nya yang tidak bisa di pararel seperti pada komunikasi I2C ataupun SPI.

Sebenarnya cukup sampai disini penjelasan tentang komunikasi serial antar esp32 dengan arduino uno, supaya banyak dan mencapai tiga ratus kata maka artikel ini akan saya panjang kan sedikit.

jika kalian membutuhkan jasa pemograman arduino, esp32, esp8266, pcb dan sebagainya untuk kebutuhan komersil ataupun tugas kuliah, admin anakkendali.com siap menjadi pembantu.

silahkan hubungi admin untuk membicarakan mengenai jasa iot atau mikrokontroler lainya, adapun jika kalian ingin ikut bergabung sebagai penulis konten di website anakkendali.com kami sangat senang jika ada orang lain yang punya jiwa berbagi.

Keyword

  1. Arduino dan ESP32
  2. Komunikasi Antar Arduino ESP32
  3. Komunikasi Arduino ESP32
  4. Mengakses ESP32 Arduino
  5. Program ESP32 dengan Arduino Uno
  6. Code Komunikasi ESP32
chaerul

View Comments

  • izin bertanya, pada arduino jika yg digunakan untuk rx dan tx adalah pin 0 dan 1 apakah bisa?,
    dan kenapa memakai pin 2 dan 3?
    terima kasih

    • arduino uno/nano/pro mini pin 0 dan 1 hardwareserial, yang defaultnya sudah digunakan untuk proses upload program dan komunikasi antar arduino dan laptop, tapi bisa digunakan jika proses upload sudah selesai.

      2 - 13 pin digital yang bisa dimodifikasi menjadi softwareserial sebagai alternatif pin 0 dan 1

  • izin bertanya, apakah di esp32 harus dideclare pin software serialnya seperti arduino?

  • izin bertanya, kalau arduino unony hanya sebagai receiver saja bagaimana y?
    misal dari esp32 mengirim data sensor dht22 ke arduino uno

    Terima Kasih

  • izin bertanya, apakah skematic pada wemos bisa di terapkan pada semua tipe esp32 lainnya seperti devkit v1 dll ?
    atau jika beda tipe esp32 di butuhkan resistor atau tidak saat komunikasi dari esp32 ke arduino atau sebaliknya ?

  • Izin bertanya, tegangan kerja dari arduino uno itu 5v sedangkan tegangan kerja dari esp32 itu 3v. apakah tidak masalah menghubungkan pin arduino uno dengan esp32 tanpa voltage divider? terimakasih..

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

2 weeks ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago