OLED 128x4 Bitcoin Ticker
Last updated
Last updated
Pada proyek ini, kita akan membuat display harga Bitcoin dengan modul OLED.
Komponen yang diperlukan yaitu sebagai berikut:
Board ESP32
Breadboard
OLED 128x4 SSD1306
Rangkaian yang dibuat yaitu sebagai berikut. ESP32 dan modul OLED dihubungkan dengan bus I2C. Pin yang digunakan yaitu pin 32 untuk SCL dan pin 33 untuk SDA.
Kode program yang dibuat yaitu sebagai berikut. Untuk menggunakan modul OLED, kita membutuhkan library Adafruit_SSD1306
. Kita bisa menginstallnya dari library manager Arduino.
Kita perlu melakukan inisialisasi pada fungsi setup()
sebagai berikut:
Serial communication untuk debugging. Kode tersebut dilakukan pada baris 30.
I2C communication untuk komunikasi dengan modul OLED. Kode tersebut dilakukan pada baris 33. Pada baris 8 dan 9, kita definisikan pin SDA dan SCL.
OLED module. Kita melakukan instansiasi objek di baris 15, dan kemudian inisialisasi pada baris 36 dan 37. Alamat I2C untuk modul ini yaitu 0x3C
, didefinisikan pada baris 12.
Wi-Fi connection ke akses point Wi-Fi. Pada baris 40–50, kita melakukan setup koneksi Wi-Fi ke akses point yang memiliki koneksi internet. Untuk nama akses point dan paswword didefinisikan pada baris 18 dan 19. Sesuaikan ini dengan akses point yang digunakan masing-masing.
HTTP client. Kita melakukan instansiasi objek HTTP, deklarasi variabel request dan response pada baris 22–25. Kita menggunakan currentURL
untuk mendapatkan harga hari ini dan historyURL
untuk mendapatkan harga kemarin.
Setelah inisialisasi, kemudian kita membuat fungsi utama loop()
. Ini cara kerjanya:
Pada baris 56–72, kita melakukan request HTTP untuk mendapatkan harga Bitcoin saat ini.
Pada baris 75–93, kita melakukan request HTTP untuk mendapatkan harga Bitcoin kemarin.
Pada baris 96–98, kita melakukan perhitungan persentase perubahan harga dalam 1 hari.
Pada baris 101–114, kita menampilkan informasi Bitcoin pada modul OLED.
Di sini kita membuat fungsi print_center()
pada baris 121–128 untuk print text pada modul OLED agar berada di posisi tengah.
Hasil dari proyek ini yaitu pada gambar berikut ini.