Project 3 : ESP32 External Sensor
Halo semua! Kenalin aku Muhammad Azikra Wira Pratama dengan NIM 18224089. Aku saat ini sedang berkuliah di ITB dengan prodi Sistem dan…
Project 3 : ESP32 External Sensor
Halo semua! Kenalin aku Muhammad Azikra Wira Pratama dengan NIM 18224089. Aku saat ini sedang berkuliah di ITB dengan prodi Sistem dan Teknologi Informasi. Tujuan ini dibuat untuk sharing seputar project yang aku kerjakan pada ESP32 untuk tugas Mata Kuliah Internet Of Things II2260.
Kita bertemu lagi, jadi disini akan membahas proses untuk menyelesaikan project eksternal sensor. Lanjut, disini kita akan menyiapkan alat-alatnya yaitu:
- ESP32 30 Pin
- Laptop/PC
- Breadboard
- Jumper Wire Male to Male
- Arduino IDE (Software)
- Sensor BMP280
Progress dan Cara Kerja
Disini kita mulai dengan melakukan install “Adafruit BMP280 Library” pada Arduino IDE dari library.

Setelah menyelesaikan installnya, saya lanjut dengan menyusun alat-alat pada breadboard. Berikut adalah gambarnya dan inspirasi yang saya ambil.
Source : Autodesk Instructables How to Connect BMP-280 to ESP32: Get Pressure, Temperature, and Altitude
Dari inspirasi di atas berikut adalah hasil breadboard yang telah saya susun.


Setelah semua selesai dan tersambung dengan baik. Maka gunakan kode ini agar dapat bekerja.
/***************************************************************************
This is a library for the BMP280 humidity, temperature & pressure sensor
Designed specifically to work with the Adafruit BMP280 Breakout
----> http://www.adafruit.com/products/2651
These sensors use I2C or SPI to communicate, 2 or 4 pins are required
to interface.
Adafruit invests time and resources providing this open source code,
please support Adafruit andopen-source hardware by purchasing products
from Adafruit!
Written by Limor Fried & Kevin Townsend for Adafruit Industries.
BSD license, all text above must be included in any redistribution
***************************************************************************/
#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; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
void setup() {
Serial.begin(9600);
while ( !Serial ) delay(100); // wait for native usb
Serial.println(F("BMP280 test"));
unsigned status;
//status = bmp.begin(BMP280_ADDRESS_ALT, BMP280_CHIPID);
status = bmp.begin(0x76);
if (!status) {
Serial.println(F("Could not find a valid BMP280 sensor, check wiring or "
"try a different address!"));
Serial.print("SensorID was: 0x"); Serial.println(bmp.sensorID(),16);
Serial.print(" ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n");
Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n");
Serial.print(" ID of 0x60 represents a BME 280.\n");
Serial.print(" ID of 0x61 represents a BME 680.\n");
while (1) delay(10);
}
/* Default settings from datasheet. */
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
Adafruit_BMP280::FILTER_X16, /* Filtering. */
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
}
void loop() {
Serial.print(F("Temperature = "));
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print(F("Pressure = "));
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print(F("Approx altitude = "));
Serial.print(bmp.readAltitude(1011.9)); /* Adjusted to local forecast! */
Serial.println(" m");
Serial.println();
delay(2000);
}
Perlu diingat jika kalian mengambil kode dari Examples yang telah disediakan oleh library untuk menambahkan 0x76 untuk alamat I2C. Dari pengalaman saya, setelah dibantu oleh dosen ini hal yang krusial. Tanpa diberikan alamat I2C maka tidak akan bekerja.
status = bmp.begin(0x76);
Lakukan upload pada ESP32. Setelah upload ganti menjadi baud 9600. Jika berhasil, akan mengeluarkan output seperti ini.

Dengan berhasilnya mengeluarkan output yang terus update secara berkala sesuai dengan kodenya, menandakan keberhasilan dari project yang kita kerjakan.
Sumber belajar :
Terimakasih atas perhatiannya.
메타데이터
- post_id
- dd3fee56d57c
- slug
- project-3-esp32-external-sensor-dd3fee56d57c
- url
- https://medium.com/@9j.muhammadazikra/project-3-esp32-external-sensor-dd3fee56d57c
- canonical_url
- https://medium.com/@9j.muhammadazikra/project-3-esp32-external-sensor-dd3fee56d57c
- author_url
- https://medium.com/@9j.muhammadazikra
- status
- ok
- fetched_at
- 2026-07-12 03:01:25