Pendahuluan
Dalam tutorial ini, kita akan membahas penggunaan sensor tekanan (pressure transmitter) dengan platform Arduino UNO. Sensor tekanan adalah alat yang sangat penting dalam berbagai aplikasi, mulai dari industri hingga pengukuran lingkungan. Kita akan belajar cara mengintegrasikan sensor ini dengan mikrokontroler Arduino untuk memonitor dan menganalisis data tekanan secara real-time.
Komponen Yang Digunakan
Berikut adalah daftar komponen yang digunakan dalam proyek ini beserta link pembelian di Golite Store:
- Arduino UNO – Beli Disini
- Pressure Transmitter Sensor – Beli Disini
- Kabel jumper male-to-female – Beli Disini
- LCD 16×2 I2C Serial – Beli Disini
Skema Sistem

Konfigurasi Pinout:
- Arduino -> Sensor
- +5V -> VCC
- GND -> GND
- Analog pin -> A0
- Arduino -> LCD
- +5V -> VCC
- GND -> GND
- A4 -> SDA
- A5 -> SCL
Penjelasan: Hubungkan pin VCC dari ESP32o ke tegangan input (VIN) sensor, pin GND ke ground, dan pin output analog dari sensor ke pin analog mikrokontroler.
Program Arduino/ESP32
#include <Wire.h> #include <LiquidCrystal_I2C.h> #define pin_sensor LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { Serial.begin(115200); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(" Idrus Project "); } void loop() { lcd_display(); delay(1000); } void lcd_display() { lcd.setCursor(0, 1); lcd.print("Pressure:"); lcd.print(pressure_reading()); lcd.print("psi"); } float pressure_reading() { const int pressureZero = 90.4; //analog reading of pressure transducer at 0psi const int pressureMax = 1023.6; //analog reading of pressure transducer at 100psi const int pressuretransducermaxPSI = 100; //psi value of transducer being used float pressureValue = 0; //variable to store the value coming from the pressure transducer pressureValue = analogRead(pin_sensor); //reads value from input pin and assigns to variable pressureValue = ((pressureValue - pressureZero) * pressuretransducermaxPSI) / (pressureMax - pressureZero); //conversion equation to convert analog reading to psi if (pressureValue < 1.5) { pressureValue = 0; } return pressureValue; }
Penjelasan Program:
- Library yang digunakan adalah Wire.h untuk komunikasi I2C dan LiquidCrystal_I2C.h untuk mengendalikan LCD melalui I2C.
- Dalam fungsi
setup()
, komunikasi serial diinisialisasi dengan baud rate 115200, inisialisasi LCD dilakukan, backlight LCD dinyalakan, dan teks “Idrus Project” ditampilkan di LCD. - Dalam fungsi
loop()
, fungsilcd_display()
dipanggil untuk menampilkan data tekanan pada LCD setiap detik. - Fungsi
lcd_display()
menampilkan teks “Pressure:” di baris kedua LCD, diikuti oleh nilai tekanan yang didapatkan dari fungsipressure_reading()
dalam satuan psi. - Fungsi
pressure_reading()
membaca nilai analog dari pin 34, kemudian melakukan konversi nilai analog tersebut menjadi psi berdasarkan skala yang ditentukan oleh nilai-nilaipressureZero
,pressureMax
, danpressuretransducermaxPSI
. Jika nilai tekanan kurang dari 1.5 psi, maka dianggap sebagai noise dan diset menjadi 0 psi.
Pengujian
Pada pengujian ini, kami telah menghubungkan sensor tekanan dengan bantuan dari pompa tangan ke Arduino UNO dan memonitor keluaran tekanan sensor melalui layar LCD.
Kesimpulan
Dalam tutorial ini, kita telah berhasil mengintegrasikan sensor tekanan dengan ESP32/Arduino dan memonitor data tekanan secara real-time menggunakan layar LCD. Dengan pengembangan lebih lanjut, proyek ini dapat diperluas untuk aplikasi yang lebih kompleks, seperti pengendalian otomatis berdasarkan data tekanan yang terukur.