ARSAFAMILY.COM – Sedikit membahas tentang pertanyaan para pengguna pemula
Bisa gak sih menguhubungkan perangkat yang memakai komunikasi I2C ke ESP32, kan pin SDA dan SCL nya masing-masing cuma hanya ada satu ???
Ternyata jawabannya bisa cuuyyyy
Caranya ya dibuat percabangan saja di pin SDA dan SCL nya, kali ini kita akan mencoba untuk memakai dua perangkat yang memakai komunikasi I2C bersama, yaitu memakai sensor BMP280 dan LCD 16×2 I2C.
Rangkai BMP280 dan LCD 16×2 I2C dengan ESP32 seperti gambar di bawah
Lah kok bisa ???
Lihat gambar di atas bro, jalurnya SDA dan SCL nya memang cuma satu, namun ternyata I2C bisa berkomunikasi lewat jalur yang sama namun dengan alamat yang berbeda, contohny BMP280 alamatnya adalah 0x76 sedangkan LCD 16×2 I2C alamatnya adalah 0x27.
Lanjut, upload kode di bawah ini
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
#define BMP_SCK (13)
#define BMP_MISO (12)
#define BMP_MOSI (11)
#define BMP_CS (10)
Adafruit_BMP280 bmp;
int kolom = 16;
int baris = 2;
LiquidCrystal_I2C lcd(0x27, kolom, baris);
String TeksBergerak = "MULTIDISIPLIN SMART-X ITB";
void setup(){
Serial.begin(9600);
lcd.init();
lcd.backlight();
while ( !Serial ) delay(100);
unsigned status;
status = bmp.begin(0x76);
if (!status)
{ while (1) delay(10); }
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, Adafruit_BMP280::SAMPLING_X2, Adafruit_BMP280::SAMPLING_X16, Adafruit_BMP280::FILTER_X16, Adafruit_BMP280::STANDBY_MS_500);
}
void loop(){
TulisanBergerak(0, TeksBergerak, 300, kolom);
}
void TulisanBergerak(int row, String message, int delayTime, int kolom) {
for (int i=0; i < kolom; i++) {
message = " " + message;
}
message = message + " ";
for (int pos = 0; pos < message.length(); pos++) {
lcd.setCursor(0, row);
lcd.print(message.substring(pos, pos + kolom));
lcd.setCursor(0, 1);
lcd.print("Suhu : ");
lcd.setCursor(7, 1);
lcd.print(bmp.readTemperature());
lcd.setCursor(13, 1);
lcd.print("C");
delay(delayTime);
}
}
Supaya ada manis-manisnya, kita buat contoh running text dan suhu hasil pengukuran oleh sensor BMP280 yang akan ditampilkan pada LCD 16×2. Untuk video hasilnya dapat dilihat di bawah
Sekian penjelasan singkat kali ini
Seorang PNS Kementerian Dalam Negeri yang menjadi penerima Beasiswa Kominfo pada Magister Informatika ITB Program Smart-X, yaitu program kerjasama antara Kominfo dan ITB dalam pemenuhan sumber daya manusia di bidang Smart System
1 Comment
View Comments