Indonesia merupakan salah satu negara yang rawan bencana alam, terutama gempa bumi. Karena itu, penting adanya sebuah sistem peringatan dini yang mampu mendeteksi getaran atau guncangan sejak dini. Meskipun tidak bisa menggantikan sistem seismograf yang kompleks, perangkat sederhana ini bisa menjadi alat edukasi yang bermanfaat untuk memahami konsep deteksi gempa.
Dalam proyek ini digunakan sensor getar SW-420 sebagai komponen utama untuk mendeteksi adanya getaran. Sensor ini akan memberikan sinyal digital ketika mendeteksi getaran yang cukup kuat. Kemudian hasil deteksi tersebut akan ditampilkan melalui LCD 16×2 I2C, sehingga pengguna bisa mengetahui apakah dalam kondisi aman atau sedang terjadi guncangan.
Dengan adanya perangkat ini, diharapkan masyarakat maupun pelajar bisa mempelajari cara kerja sensor getaran dan mengembangkan sistem sederhana menjadi lebih lanjut, seperti menambahkan buzzer, LED peringatan, atau bahkan integrasi dengan IoT untuk pengiriman notifikasi jarak jauh.
Komponen yang Dibutuhkan
- Arduino Uno / MFB ATMEL 328 micro
- Sensor getar SW-420
- LCD 16×2 I2C
- Kabel jumper
- Breadboard (opsional)
- Power supply (USB atau adaptor 5V)
Skema Rangkaian

Koneksi Rangkaian
Sensor SW-420 → Arduino Uno
| Pin Sensor SW-420 | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| OUT | D2 |
LCD I2C 16×2 → Arduino Uno
| Pin LCD I2C | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Library yang Harus Ditambahkan
Program Lengkap
//PROGRAM INI DI BUAT OLEH : MANFAHBOT INDUSTRIAL AUTOMATION
//HAK CIPTA PROGRAM/CODING : CARISSA DWI WIRASTUTI
//WEBSITE : http://manfahbot.cc
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C (alamat biasanya 0x27 atau 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int sensorPin = 2; // Pin digital untuk SW-420
unsigned long terakhirGetar = 0; // waktu terakhir ada getaran
const unsigned long jedaAman = 2000; // jeda 2 detik agar status "AMAN" muncul
void setup() {
pinMode(sensorPin, INPUT);
lcd.begin(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
lcd.setCursor(0, 0);
lcd.print("Pendeteksi Gempa");
lcd.setCursor(0, 1);
lcd.print("Menginisialisasi");
delay(2000);
lcd.clear();
}
void loop() {
int statusGetaran = digitalRead(sensorPin);
if (statusGetaran == HIGH) {
// Jika ada getaran
lcd.setCursor(0, 0);
lcd.print("GEMPA TERDETEKSI! ");
lcd.setCursor(0, 1);
lcd.print("Segera Evakuasi! ");
terakhirGetar = millis();
} else {
if (millis() - terakhirGetar >= jedaAman) {
lcd.setCursor(0, 0);
lcd.print("Status: AMAN ");
lcd.setCursor(0, 1);
lcd.print("Tidak ada gempa ");
}
}
delay(100);
}
Cara Kerja Program
- Saat Arduino menyala, LCD menampilkan pesan inisialisasi.
- Sensor SW-420 membaca getaran.
- Jika ada getaran → LCD menampilkan pesan “GEMPA TERDETEKSI! Segera Evakuasi!”
- Jika tidak ada getaran → LCD menampilkan status “AMAN”.
- Program menggunakan delay aman (2 detik) agar LCD tidak langsung kembali ke status AMAN setelah getaran kecil.
Kesimpulan
Proyek ini memperlihatkan bagaimana Arduino, Sensor SW-420, LCD I2C dapat digunakan untuk membuat sistem pendeteksi gempa sederhana.
Meskipun sensor SW-420 tidak seakurat sensor seismik profesional, proyek ini sangat bermanfaat untuk belajar dasar elektronika, sensor, dan pemrograman Arduino.
🚀 Pengembangan lebih lanjut:
- Menambahkan buzzer/alarm saat gempa terdeteksi
- Mengirim notifikasi via IoT (ESP8266/ESP32)
- Menyimpan log data getaran ke SD Card
Ingin belajar lebih banyak tentang otomasi industri & IoT?
MANFAHBOT siap membantu!
✅ Pelatihan Otomasi & PLC
✅ Pengembangan Sistem IoT & Simulasi
✅ Rancang Bangun Sistem Robotik
✅ Pendampingan Proyek Akhir / PKL SMK – D4 – S1
🌐 manfahbot.cc
📧 info@manfahbot.cc
📞 WhatsApp: +62 859-5646-3532




