Project 6: ESP32 Serial Communication

Salimatussholati Az Zahra
3 min readMar 21, 2022

--

Halo, teman-teman semua! Pada kesempatan kali ini, aku bakal menceritakan pengalaman aku dalam melakukan eksperimen menggunakan ESP32 untuk menghubungkan dua atau lebih devais menggunakan standar komunikasi I2C dan/atau SPI. Sebelumnya, aku sudah pernah melakukan percobaan seperti ini, yaitu dengan menggunakan OLED dan BMP280. Berikut adalah catatan aku terkait project tersebut -> Project 4 : Sensor Eksternal

Pada topik ini, aku mau mencoba hal lain, yaitu menggabungkan OLED dan LCD pada breadboard yang sama. Sebelum kita memulai percobaan kali ini, kita perlu menyiapkan alat dan bahan.

Alat dan bahan yang kita gunakan adalah sebagai berikut.

1. ESP32

2. Breadboard

3. Kabel USB

4. I2C LCD

5. OLED

6. Kabel jumper male to male dan male to female

Setelah mempersiapkan alat dan bahan, saatnya kita menyusun rangkaian pada breadboard. Pertama-tama, kita memasang ESP32 dan OLED pada breadboard. Setelah itu, kita menghubungkan SCL pada OLED dengan GPIO 22 dan SDA pada OLED ke GPIO 21 dengan kabel jumper. GND pada OLED dihubungkan dengan GND pada LCD menggunakan kabel jumper. Dengan kabel jumper pula, VCC pada OLED dihubungkan dengan 3V3 pada ESP32.

Setelah mengatur wiring pada OLED, saatnya kita mengatur wiring yang menyambungkan LCD dengan OLED. Bagian female dari kabel jumper male to female ditancapkan pada kaki-kaki LCD, yakni pin SCL, SDA, VCC, dan GND pada LCD. Setelah itu, hubungkan masing-masing kabel tersebut dengan OLED. Nah, bagaimana cara kita menghubungkannya? Yaitu, dengan memasangkan bagian male dari setiap kabel yang telah tertancap pada LCD pada lubang breadboard yang searah dengan posisi pin-pin pada OLED. Jadi, pin SCL milik LCD dihubungkan dengan pin SCL pada OLED dengan cara menancapkan kabel jumper LCD pada lubang breadboard yang searah dengan pin SCL pda OLED, begitupula dengan pin-pin yang lain.

Berikut adalah tampilan breadboard saya setelah rangkainya siap.

Setelah itu, aku menghubungkan breadboard ke laptop menggunakan kabel USB serta membuka aplikasi Arduino IDE pada laptop.

Aku memasukkan source code berikut ke dalam Arduino IDE.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#include <LiquidCrystal_I2C.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// set the LCD number of columns and rows
int lcdColumns = 16;
int lcdRows = 2;
// set LCD address, number of columns and rows
// if you don’t know your display address, run an I2C scanner sketch
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
void setup() {
Serial.begin(115200);

if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
Serial.println(F(“SSD1306 allocation failed”));
for(;;);
}
delay(2000);
display.clearDisplay();

display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Hello, world!”);
display.display();
delay(1000);
lcd.init();
// turn on LCD backlight
lcd.backlight();
delay(1000);
// clears the display to print new message
lcd.clear();
}
void loop() {

}

Pada source code ini, aku mencoba menuliskan “Hello, world!” pada OLED dan menyalakan backlight LCD. Berikut adalah tampilan rangkaianku setelah source code di run.

Kendala dalam percobaan ini adalah, aku masih belum bisa menuliskan sesuatu pada OLED dan LCD pada waktu yang bersamaan.

Sekian project serial communication kali ini, terima kasih telah membaca :D

--

--

Salimatussholati Az Zahra

Mencoba membangkitkan kembali kebiasaan berekspresi dengan puisi