Sensor adalah perangkat elektronik yang mengubah sinyal fisik menjadi sinyal yang dapat diolah oleh sistem elektronik. Sensor mendeteksi dan mengukur perubahan dalam lingkungan fisik seperti suhu, cahaya, tekanan, gerakan, atau kelembaban, dan mengubahnya menjadi sinyal listrik yang dapat diproses oleh mikrokontroler atau perangkat elektronik lainnya. Sensor berperan penting dalam memperoleh informasi dari dunia fisik dan menjadi input bagi sistem untuk mengambil tindakan atau membuat keputusan.

Periferal eksternal merujuk pada perangkat tambahan yang dihubungkan ke papan mikrokontroler atau komputer, yang digunakan untuk memperluas fungsionalitas dan kemampuan sistem. Periferal eksternal dapat berupa sensor, tampilan, aktuator, pemroses sinyal, atau perangkat lain yang terhubung melalui antarmuka seperti USB, I2C, SPI, atau pin digital/analog. Periferal eksternal berperan dalam menghubungkan sistem dengan dunia luar dan memungkinkan interaksi dengan lingkungan fisik

Pentingnya Sensor dan Periferal Eksternal

  1. Mendapatkan Informasi Lingkungan: Sensor memungkinkan sistem untuk mendapatkan informasi tentang kondisi lingkungan di sekitarnya. Informasi ini dapat digunakan untuk mengukur suhu, cahaya, suara, gerakan, dan banyak lagi, yang penting dalam pemantauan, pengendalian, atau pengambilan keputusan dalam berbagai aplikasi.
  2. Interaksi dengan Lingkungan: Periferal eksternal seperti aktuator atau motor memungkinkan sistem untuk berinteraksi dengan lingkungan fisik. Misalnya, motor dapat digunakan untuk menggerakkan robot, aktuator dapat mengontrol katup atau pintu, atau tampilan dapat memberikan informasi visual kepada pengguna.
  3. Pengembangan Sistem yang Lebih Canggih: Sensor dan periferal eksternal memperluas kemampuan sistem dan memungkinkan pengembangan sistem yang lebih canggih dan kompleks. Mereka memungkinkan integrasi dengan berbagai teknologi dan memberikan fleksibilitas untuk memenuhi kebutuhan aplikasi yang berbeda.
  4. Monitoring dan Pengendalian Otomatis: Dengan menggunakan sensor dan periferal eksternal, sistem dapat melakukan pemantauan dan pengendalian otomatis berdasarkan kondisi lingkungan atau input yang diberikan. Hal ini memungkinkan penghematan energi, peningkatan efisiensi, dan pengurangan intervensi manusia dalam berbagai lingkungan.
  5. Pengembangan Internet of Things (IoT): Sensor dan periferal eksternal menjadi komponen kunci dalam pengembangan Internet of Things (IoT), di mana perangkat terhubung dan berkomunikasi melalui jaringan. Mereka memungkinkan pengumpulan data, pemantauan jarak jauh, dan pengendalian sistem secara terpusat.

Jenis-jenis Sensor

Berikut adalah penjelasan singkat tentang masing-masing jenis sensor yang telah disebutkan sebelumnya:

  1. Sensor Suhu: Digunakan untuk mengukur suhu lingkungan atau objek. Sensor suhu termistor mengubah perubahan suhu menjadi perubahan resistansi, sedangkan sensor suhu digital DS18B20 menggunakan antarmuka satu kabel untuk mengukur suhu dengan presisi tinggi.
  2. Sensor Cahaya: Mengukur intensitas cahaya di sekitar. Fotodioda menghasilkan arus sebanding dengan intensitas cahaya yang diterimanya, sedangkan fototransistor mengubah intensitas cahaya menjadi perubahan arus.
  3. Sensor Kelembaban dan Suhu: Mengukur tingkat kelembaban dan suhu lingkungan. Sensor seperti DHT11 dan DHT22 menggabungkan sensor suhu dan kelembaban dalam satu paket.
  4. Sensor Gerak (Motion): Mendeteksi gerakan atau perubahan dalam lingkungan. Sensor gerak pasif inframerah (PIR) mendeteksi perubahan suhu yang dihasilkan oleh tubuh manusia atau objek lain yang bergerak.
  5. Sensor Jarak (Distance): Mengukur jarak antara sensor dan objek di depannya. Sensor ultrasonik HC-SR04 menggunakan gelombang ultrasonik untuk menghitung waktu yang dibutuhkan gelombang untuk kembali setelah memantul pada objek.
  6. Sensor Gas: Mendeteksi konsentrasi gas dalam udara. Sensor gas MQ-2 digunakan untuk mendeteksi gas umum seperti gas LPG dan asap, sedangkan sensor gas MQ-135 digunakan untuk mendeteksi gas beracun seperti CO2 dan CO.
  7. Sensor Getaran: Mendeteksi atau mengukur getaran atau guncangan. Modul getaran SW-420 menghasilkan sinyal keluaran ketika terjadi guncangan yang cukup kuat.
  8. Sensor Kecepatan: Mengukur kecepatan rotasi atau pergerakan. Sensor efek Hall dapat mendeteksi perubahan medan magnetik dan digunakan dalam aplikasi pengukuran kecepatan atau pergerakan.
  9. Sensor Tekanan: Mengukur tekanan udara atau fluida. Sensor tekanan BMP180 menggunakan teknologi barometrik untuk mengukur tekanan atmosfer, yang dapat dikonversi menjadi ketinggian.
  10. Sensor Aliran (Flow): Mengukur aliran fluida, seperti air atau udara. Sensor aliran massa (Mass Flow Sensor) dapat mengukur aliran massa gas dengan bantuan elemen sensor suhu dan tekanan.
  11. Sensor Sentuhan: Mendeteksi sentuhan atau kontak fisik. Sensor sentuh kapasitif menggunakan perubahan kapasitansi untuk mendeteksi sentuhan, sedangkan sensor sentuh resistif mengandalkan tekanan fisik untuk mendeteksi sentuhan.
  12. Sensor Kecepatan Angin: Mengukur kecepatan dan arah angin. Anemometer digunakan untuk mengukur kecepatan angin, sedangkan weather vane digunakan untuk mengukur arah angin.

Setiap jenis sensor memiliki prinsip kerja dan karakteristik unik yang memungkinkannya untuk mengukur parameter tertentu dalam ling

kungan. Dengan menggunakan sensor-sensor ini, Arduino dapat mengakuisisi data dari lingkungan fisik dan menggunakannya dalam pengolahan data atau mengambil keputusan berdasarkan informasi yang diperoleh.

Contoh Penggunaan Sensor

1. Sensor Jarak

Tentu, berikut adalah contoh program Arduino menggunakan sensor jarak ultrasonik HC-SR04 dengan mengganti penggunaan pin trigPin menjadi pin sigPin:

// Menggunakan sensor jarak ultrasonik HC-SR04 dengan Arduino

// Definisikan pin SIG
const int sigPin = 7;   // Pin SIG terhubung ke pin 7 Arduino

// Variabel untuk menyimpan waktu
long duration;    // Waktu yang dibutuhkan pulsa ultrasonik untuk pergi dan kembali

// Variabel untuk menghitung jarak
int distance;     // Jarak yang diukur oleh sensor

void setup() {
  // Memulai komunikasi serial
  Serial.begin(9600);
}

void loop() {
  // Mengirimkan pulsa ultrasonik untuk memulai pengukuran jarak
  pinMode(sigPin, OUTPUT);
  digitalWrite(sigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(sigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(sigPin, LOW);

  // Membaca waktu yang dibutuhkan pulsa untuk pergi dan kembali
  pinMode(sigPin, INPUT);
  duration = pulseIn(sigPin, HIGH);

  // Menghitung jarak berdasarkan waktu yang dibutuhkan dan kecepatan suara
  distance = duration * 0.034 / 2;

  // Menampilkan hasil jarak pada Serial Monitor
  Serial.print("Jarak: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Menunda sejenak sebelum mengukur jarak lagi
  delay(1000);
}

Pada program di atas, kita mengganti nama pin menjadi sigPin yang terhubung ke pin 7 pada Arduino.

Penjelasan program ini sama dengan program sebelumnya, hanya saja ada perubahan nama pin dan beberapa pengaturan pin yang digunakan. Kita mengatur pin sigPin sebagai OUTPUT saat mengirimkan pulsa ultrasonik dan mengubahnya menjadi INPUT saat membaca pulsa kembali.

Untuk menjalankan program ini, Anda harus menjaga Arduino tetap terkoneksi ke komputer dan Anda dapat melakukan Serial Monitoring pada software Arduino IDE.

Berikut adalah gambar rangkaiannya:

Gambar Rangkaian
Gambar Skematik

Pastikan sensor jarak ultrasonik HC-SR04 terhubung dengan benar pada pin sigPin (pin 7) dan Arduino sebelum mengunggah program ini ke board Arduino Anda.

2. Sensor Cahaya

Berikut adalah contoh program Arduino menggunakan sensor PIR (Passive Infrared) yang mendeteksi gerakan manusia. Sensor PIR terhubung ke pin digital 2 (D2) pada Arduino. Program ini akan membaca status sensor PIR dan menampilkan pesan saat terdeteksi gerakan:

// Menggunakan sensor PIR (Passive Infrared) dengan Arduino

// Definisikan pin sensor PIR
const int pirPin = 2;   // Pin digital 2 (D2) terhubung ke sensor PIR

void setup() {
  // Memulai komunikasi serial
  Serial.begin(9600);

  // Mengatur pin sensor PIR sebagai INPUT
  pinMode(pirPin, INPUT);
}

void loop() {
  // Membaca status sensor PIR
  int motion = digitalRead(pirPin);

  // Jika terdeteksi gerakan
  if (motion == HIGH) {
    Serial.println("Gerakan Terdeteksi!");
    // Tambahkan aksi atau logika yang ingin Anda lakukan saat terdeteksi gerakan
  }

  // Menunda sejenak sebelum membaca status sensor PIR lagi
  delay(100);
}

Berikut adalah penjelasan baris per baris dari program di atas:

  1. const int pirPin = 2; – Mendefinisikan konstanta pirPin sebagai pin digital 2 (D2) yang terhubung ke sensor PIR.
  2. Serial.begin(9600); – Memulai komunikasi serial dengan kecepatan baud rate 9600.
  3. pinMode(pirPin, INPUT); – Mengatur pin pirPin sebagai INPUT untuk membaca status sensor PIR.
  4. Di dalam fungsi loop(), program akan terus berjalan secara berulang untuk membaca status sensor PIR.
  5. int motion = digitalRead(pirPin); – Membaca status sensor PIR menggunakan fungsi digitalRead() pada pin pirPin. Nilai yang dibaca akan disimpan dalam variabel motion.
  6. if (motion == HIGH) – Memeriksa apakah terdeteksi gerakan dengan membandingkan nilai motion dengan HIGH.
  7. Jika terdeteksi gerakan, program akan mengeksekusi perintah berikutnya, dalam contoh ini adalah menampilkan pesan “Gerakan Terdeteksi!” pada Serial Monitor. Anda juga dapat menambahkan aksi atau logika lain yang diinginkan saat terdeteksi gerakan.
  8. delay(100); – Menunda program selama 100 milidetik sebelum membaca status sensor PIR lagi. Ini membantu menghindari pembacaan yang berlebihan dan memberikan waktu untuk stabil setelah terdeteksi gerakan.
Contoh Gambar Rangkaian
Gambar Skematik

Dengan menggunakan program di atas, Arduino akan terus membaca status sensor PIR yang terhubung pada pin D2. Ketika terdeteksi gerakan, pesan “Gerakan Terdeteksi!” akan ditampilkan pada Serial Monitor. Pastikan sensor PIR terhubung dengan benar pada pin D2 Arduino sebelum mengunggah program ini ke board Arduino Anda.

Contoh Penggunaan Periferal Eksternal

1. Penggunaaan LCD dengan I2C

Berikut adalah contoh program Arduino menggunakan LCD dengan modul I2C (I2C LCD) yang terhubung menggunakan komunikasi I2C. Program ini akan menampilkan pesan pada LCD:

#include <Wire.h>  // Library untuk komunikasi I2C
#include <LiquidCrystal_I2C.h>  // Library untuk LCD I2C

// Inisialisasi objek LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Alamat I2C dan ukuran LCD (16x2)

void setup() {
  // Menginisialisasi komunikasi I2C
  Wire.begin();

  // Menginisialisasi LCD
  lcd.begin(16, 2);

  // Menampilkan pesan selamat datang pada LCD
  lcd.print("Hello, World!");
}

void loop() {
  // Tidak ada perintah yang dijalankan di dalam loop()
}

Berikut adalah penjelasan baris per baris dari program di atas:

  1. #include <Wire.h> – Mengimpor library Wire untuk komunikasi I2C.
  2. #include <LiquidCrystal_I2C.h> – Mengimpor library LiquidCrystal_I2C untuk penggunaan LCD dengan modul I2C.
  3. LiquidCrystal_I2C lcd(0x27, 16, 2); – Membuat objek lcd dari kelas LiquidCrystal_I2C dengan parameter alamat I2C (0x27) dan ukuran LCD (16×2).
  4. Wire.begin(); – Menginisialisasi komunikasi I2C.
  5. lcd.begin(16, 2); – Menginisialisasi LCD dengan ukuran 16 kolom dan 2 baris.
  6. lcd.print("Hello, World!"); – Menampilkan pesan “Hello, I2C LCD!” pada LCD.

Program di atas menggunakan library LiquidCrystal_I2C untuk mengontrol LCD dengan modul I2C. Pastikan telah mengunduh dan menginstal library LiquidCrystal_I2C sebelum menggunakan program ini.

Sensor yang digunakan dalam program ini adalah modul LCD dengan modul I2C yang terhubung ke Arduino melalui pin SDA dan SCL (atau dapat juga pin SDA dikoneksikan ke A4, dan SCL ke A5). Modul I2C menghubungkan LCD ke Arduino menggunakan komunikasi I2C, sehingga tidak ada sensor fisik yang terpasang pada pin tertentu.

Gambar Rangkaian
Gambar Skematik

Pastikan modul LCD I2C terhubung dengan benar dan sesuai dengan penjelasan pin pada program di atas. Setelah diunggah ke board Arduino, pesan “Hello, World!” akan ditampilkan pada LCD yang terhubung melalui modul I2C.

Penutup

Tulisan kali ini hanyalah menjelaskan dan membahas penggunaan sensor dan periferal eksternal secara tunggal. Nantinya, sensor dan periferal dapat dikombinasikan sehingga bisa menjalankan perintah-perintah khusus, bahkan menjadi suatu alat. Selamat belajar.

Tinggalkan komentar