Aktuator adalah perangkat yang mengubah sinyal listrik menjadi aksi fisik, seperti cahaya, bunyi, atau gerakan. Dalam IoT, aktuator penting untuk mengontrol lingkungan sesuai perintah dari mikrokontroler.
Contoh: Motor DC, relay, solenoid valve, servo motor, stepper motor, dll.
LED (Light Emitting Diode) digunakan sebagai indikator visual. LED banyak dipakai dalam simulasi IoT untuk menampilkan status sistem.
Cara kerjanya hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.
LED memiliki 2 buah kaki, yaitu: Anoda (+) yang memiliki kaki lebih panjang dan dihubungkan ke sumber tegangan positif. Katoda (-) yang memiliki kaki lebih pendek dan dihubungkan ke ground.
Alat ini akan medeteksi ketinggian permukaan air, ketika air rendah < 100cm dari permukaan normal, lampu LED hijau menyala. jika permukaan air > 100 cm dan < 200 cm maka lampu LED kuning nyala, jika diatas itu maka lampu LED merah nyala.
| No | Komponen | ID | Fungsi |
|---|---|---|---|
| 1 | Arduino Uno | uno |
Mikrokontroler utama untuk memproses sensor dan mengendalikan LED |
| 2 | Sensor Ultrasonik HC-SR04 | ultrasonic1 |
Mengukur jarak menggunakan gelombang ultrasonik |
| 3 | LED Merah | led1 |
Indikator jarak dekat |
| 4 | LED Kuning | led3 |
Indikator jarak menengah |
| 5 | LED Hijau | led2 |
Indikator jarak jauh |
| Komponen | Pin | Ke | Pin Arduino | Warna Kabel |
|---|---|---|---|---|
| LED Merah | Anode | Arduino Uno | D8 | Merah |
| LED Merah | Cathode | Arduino Uno | GND | Hitam |
| LED Kuning | Anode | Arduino Uno | D7 | Oranye |
| LED Kuning | Cathode | Arduino Uno | GND | Hitam |
| LED Hijau | Anode | Arduino Uno | D6 | Hijau |
| LED Hijau | Cathode | Arduino Uno | GND | Hitam |
| HC-SR04 | VCC | Arduino Uno | 5V | Merah |
| HC-SR04 | GND | Arduino Uno | GND | Hitam |
| HC-SR04 | TRIG | Arduino Uno | D4 | Kuning |
| HC-SR04 | ECHO | Arduino Uno | D5 | Hijau Muda |
#include <NewPing.h>
// Pin definisi HC-SR04
#define TRIG_PIN 4
#define ECHO_PIN 5
#define MAX_DISTANCE 400 // cm
// Pin LED
#define LED_MERAH 8
#define LED_KUNING 7
#define LED_HIJAU 6
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
pinMode(LED_MERAH, OUTPUT);
pinMode(LED_KUNING, OUTPUT);
pinMode(LED_HIJAU, OUTPUT);
}
void loop() {
delay(50);
unsigned int jarak = sonar.ping_cm();
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println(" cm");
// Reset semua LED
digitalWrite(LED_MERAH, LOW);
digitalWrite(LED_KUNING, LOW);
digitalWrite(LED_HIJAU, LOW);
// Logika jarak
if (jarak > 0) { // valid measurement
if (jarak < 100) {
digitalWrite(LED_MERAH, HIGH);
} else if (jarak >= 100 && jarak <= 200) {
digitalWrite(LED_KUNING, HIGH);
} else if (jarak > 200) {
digitalWrite(LED_HIJAU, HIGH);
}
}
}
Relay adalah saklar elektrik yang memungkinkan Arduino mengendalikan perangkat dengan daya lebih besar.
Relay bekerja atau aktif saat coil dipicu dengan tegangan positif atau negatif (tergantung spesifikasi). Saat relay aktif maka akan merubah pin NO menjadi terhubung, dan NC menjadi terputus. Terdapat 2 mode dalam relay yaitu NO (Normally Open) dan NC (Normally Close). NO merupakan kondisi pin relay terbuka (tidak terhubung) jika relay tidak aktif. NC merupakan kondisi pin relay sudah terhubung saat relay tidak aktif, sehingga saat relay aktif pin NC akan terputus/terbuka.
Jika switch dirubah posisi maka akan menyalakan LED merah dan hijau bergantian.
#define pinSwitch 2
#define pinRelay 3
void setup() {
pinMode(pinSwitch, INPUT_PULLUP);
pinMode(pinRelay, OUTPUT);
}
void loop() {
int nilaiSwitch = digitalRead((pinSwitch));
if(nilaiSwitch == 0){
digitalWrite(pinRelay, HIGH);
}
else{
digitalWrite(pinRelay, LOW);
}
}
#define PIR_PIN 2
#define RELAY_PIN 4
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
if (digitalRead(PIR_PIN) == HIGH) {
digitalWrite(RELAY_PIN, HIGH);
} else {
digitalWrite(RELAY_PIN, LOW);
}
}
Servo digunakan untuk menghasilkan gerakan dengan sudut tertentu, misalnya untuk palang otomatis.
Cara kerja motor servo bergantung lebar pada sinyal modulasi yang memakai sistem kontrol. Lebar sinyal tersebut nantinya yang akan menjadi penentu bagaimana posisi dari sudut putaran yang ada pada bagian poros motor. Motor servo biasa digunakan pada projek yang membutuhkan mekanisme gerakan mekanik dengan besar sudut tertentu.
#include <Servo.h>
Servo myservo;
int potpin = 0;
int val;
void setup() {
myservo.attach(9);
}
void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
}
Buat kelompok diskusikan project ini, ultrasonic mendeteksi kedatangan kereta api sebelum melintasi jalan, kemudian buzzer berdering sebagai alarm, diikuti dengan gerakan palang menutup diwakili oleh motor servo. Demikian juga sebaliknya ketika ultrasonic tidak mendeteksi kereta maka buzzer berhenti berdering, kemudian pintu lintasan kembali terbuka.
Pada pertemuan ini, Anda telah mempelajari penggunaan aktuator dasar dalam IoT, yaitu LED, Relay, Buzzer, dan Servo, serta mengintegrasikannya dalam sebuah proyek sederhana: simulasi palang kereta api.