Cara Membuat Kipas Angin Otomatis Menggunakan Sensor Ultrasonik
Kali ini kita akan belajar tentang bagaimana cara membuat kipas angin otomatis menggunakan sensor ultrasonik Arduino HC-SR04.
Kalau biasanya kipas angin otomatis dengan menggunakan sensor suhu, maka kali ini kita akan menggunakan sensor jarak.
Kira-kira bentuk dari kipas otomatis sensor jarak ini hampir sama dengan rangkaian kipas angin otomatis menggunakan sensor suhu pada umumnya.
Jadi, parameter atau acuan berputarnya kipas berdasarkan jarak objek yang dideteksi sensor.
Apabila sensor mendeteksi objek kurang dari 100 cm maka otomatis kipas angin akan berputar. Begitu pula sebaliknya, kipas tak akan berputar jika kondisi tersebut tak terpenuhi.
Untuk masalah penentuan jaraknya, nanti kamu bisa atur sendiri di bagian perintah atau scriptnya. Baiklah, mari kita masuk ke tahapan cara bikin kipas angin.
Cara Membuat Kipas Angin Otomatis Menggunakan Sensor Ultrasonik HC-SR04
Alat dan Bahan:
- Laptop (pastikan sudah instal software Arduino IDE dan instal Driver Arduino CH340)
- Papan Arduino Uno dan kabel khususnya (beli Arduino Uno dan kabel)
- Kabel Jumper (beli kabel disini)
- Breadboard (beli breadboard disini)
- Sensor Ultrasonik HC-SR04 (beli sensor disini)
- Kipas Angin USB portabel 5 volt (beli kipas disini)
Cara Kerja:
- Buatlah rangkaian sesuai gambar berikut ini.
- Pin 5 Arduino dihubungkan ke pin ECHO sensor ultrasonik (kuning)
- Pin 6 Arduino dihubungkan ke pin TRIG sensor ultrasonik (hijau)
- Pin 8 Arduino dihubungkan ke salah satu kabel pada kipas (ungu)
- Pin 5V Arduino dihubungkan ke pin VCC sensor ultrasonik (merah)
- Pin GND dihubungkan ke pin GND sensor ultrasonik dan ke kabel yang satunya lagi pada kipas (biru)
- Untuk kipasnya, kamu bisa membongkar ujung konektornya untuk mendapatkan kabel positif dan negatifnya.
- Jika tak ingin merusak ujung kipas, kamu bisa membeli konektor female USB untuk dirakit. Jadi nantinya kipas bisa dicolok maupun dicabut tanpa merusak ujung kipas.
- Karena kipas menggunakan tegangan DC, jadi untuk menyambungkannya ke rangkaian tak masalah jika positif dan negatifnya tertukar.
- Breadboard hanya sebagai konduktor perantara, jadi bisa juga jika ingin menyambungkan langsung sensor maupun kipas ke Arduino tanpa menggunakan breadboard.
- Jika rangkaian sudah selesai, maka silahkan hubungkan Arduino ke laptop dengan menggunakan kabel USB.
- Buka software Arduino IDE lalu atur board dan portnya. Berikut ini cara mengaturnya.
- Atur board: buka menu toolbar Tools > pilih Board > pilih board Arduino/Genuino UNO.
- Atur port: Buka menu toolbar Tools > pilih Port > pilih atau centang port yang aktif (COM2, COM3, atau COM yang lainnya. Tergantung jenis port pada komputermu).
- Setelah pengaturannya selesai, maka selanjutnya ketikkan perintah atau script berikut di software Arduino IDE. Perhatikan penulisan huruf besar dan kecilnya!
- Jika sudah, silahkan upload script tersebut ke papan Arduino dengan mengklik tombol Upload. Yaitu tombol dengan icon tanda panah ke kanan dibawah menu edit.
- Tunggu beberapa saat hingga muncul pemberitahuan “Done Uploading” sebagai tanda upload berhasil dilakukan.
- Jika sudah, uji coba rangkaianmu dengan menaruh tangan atau objek lain pada jarak <100 cm di depan sensor. Jika kipas berputar maka selamat rangkaianmu sudah berhasil. Bila tidak, coba periksa kembali rangkaianmu. Mungkin saja ada kabel yang longgar atau salah pasang.
- Untuk mengetahui jarak yang dideteksi sensor, buka serial monitor dengan mengklik icon berlogo kaca pembesar di ujung sebelah kanan. Perhatikan settingan baudratenya di sebalah kanan bawah. Pastikan baudrate yang terpilih 9600.
Penempatan Pin:
Catatan:
int pinEcho = 5;
int pinTrig = 6;
int kipas = 8;
long waktu;
int jarak;
void setup() {
pinMode(pinEcho, INPUT);
pinMode(pinTrig, OUTPUT);
pinMode(kipas, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(pinTrig, LOW);
delayMicroseconds(2);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
waktu = pulseIn(pinEcho, HIGH);
jarak= waktu*0.034/2;
Serial.print("Jarak: ");
Serial.println(jarak);
if(jarak<100) {
digitalWrite(kipas,HIGH);}
else{
digitalWrite(kipas,LOW);}
}
Penjelasan Script atau Perintah Kipas Angin Otomatis
Sebelum membahas lebih jauh tentang script atau perintah di atas, terlebih dahulu kamu harus tahu bahwa dalam bahasa pemrograman Arduino itu ada namanya “void setup” dan “void loop”.Perbedaannya yaitu void setup adalah perintah yang dieksekusi hanya satu kali pada saat program dijalankan.
Sementara void loop dieksekusi berulang kali selama program tersebut dijalankan. Perintah yang berada dalam void setup maupun void loop, umumnya ditandai dengan berada di dalam kurung kurawal.
Jika sudah paham dua perintah dasar tersebut, selanjutnya mari kita ke penjelasan lengkap script atau perintah kipas angin otomatis.
a. Bagian Inisialisasi atau pengenalan pin dan variabel
int pinTrig = 2;Dalam bahasa pemrograman apapun itu, tentunya untuk membuat suatu program harus ada pengenalan atau inisialisasi variabel.
int pinEcho = 3;
int kipas = 4;
long waktu;
int jarak;
Begitu pula dengan Arduino yang menggunakan bahasa C. Contohnya yah bisa dilihat seperti di atas.
Perintah “int” dan “long” di atas menandakan jenis tipe data yang digunakan.
- int bisa diartikan sebagai integer, yaitu tipe data yang berupa bilangan bulat.
- long hampir sama dengan integer, hanya saja jangkauannya lebih panjang dari integer.
Sementara kata pinTrig, pinEcho, kipas, waktu, dan jarak adalah variabel yang membantu memudahkanmu dalam membuat program.
Sama seperti pengaturan pin, variabel yang ada bisa kamu ganti-ganti sesuai keinginan.
Namun pastikan untuk konsisten dalam penggunaan variabel tersebut dari awal hingga akhir.
Maksudnya kalau di pengenalan kamu ganti variabel yang ada dengan kata trigpin maka variabel sebelumnya yang ada di void setup dan void loop harus kamu ganti juga dengan trigpin.
b. Bagian penentuan Input/Output
void setup() {Seperti yang kita tahu bahwa input adalah masukan dan output adalah keluaran.
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);
pinMode(kipas, OUTPUT);
Serial.begin(9600);
}
Nah, untuk membuat program di Arduino IDE kamu juga harus menentukan suatu pin akan dijadikan sebagai input atau output.
Format penulisan penentuan input/output yaitu:
pinMode(variabel, INPUT/OUTPUT);
Sementara untuk perintah “Serial.begin(9600);” berfungsi untuk mengatur baudrate serial monitor Arduino. Intinya, perintah tersebut digunakan agar data bisa muncul di serial monitor.
c. Bagian Pemancaran Sensor Ultrasonik
void loop() {Untuk bisa menggunakan sensor ultrasonik, kamu perlu mengatur kapan sensor memancarkan gelombang ultrasonik dan kapan ia berhenti memancarkan.
digitalWrite(pinTrig, LOW);
delayMicroseconds(2);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
Untuk memancarkan ultrasonik, maka pin TRIG sensor yang berfungsi sebagai pemancar harus diberi perintah HIGH, dan untuk mematikannya tinggal diberi perintah LOW.
Kurang lebih format perintahnya seperti di bawah ini:
digitalWrite(variabel, HIGH/LOW);
Selain itu, setiap pemancaran dan pemberhentiannya harus diberi delay atau jeda waktu dalam satuan micro second atau milidetik agar stabil.
Ditandai dengan perintah “delayMicroseconds(lama jeda)”. Berdasarkan urutan perintah script di atas, maka kira-kira jalan kerjanya seperti ini:
Sensor mati > jeda 2 milidetik > sensor hidup > jeda 10 milidetik > sensor mati > ulang dari awal
d. Bagian pembacaan pantulan ultrasonik
waktu = pulseIn(pinEcho, HIGH);Kalau sebelumnya pin TRIG berfungsi sebagai pemancar, maka pin ECHO berfungsi sebagai penangkap. Untuk membuat pin ECHO menangkap pantulan maka harus diberi perintah HIGH.
jarak= waktu*0.034/2;
Serial.print("Jarak: ");
Serial.println(jarak);
Dalam hal ini kamu tak perlu memberi jeda waktu karena akan jauh lebih baik jika pin ECHO diaktifkan terus menerus.
Itulah alasan mengapa di baris pertama pada script tersebut, pin ECHO diberi perintah HIGH tanpa ada delay. Nah selanjutnya mari kita bahas rumus jaraknya.
Di SMA mungkin kamu masih ingat rumus kecepatan. Kira-kira seperti ini.
V = s/t
Dimana V adalah kecepatan, s adalah jarak, dan t adalah waktu tempuh.
Untuk mendapatkan nilai jarak, maka rumusnya akan berubah menjadi seperti ini.
s = V x t
Nah, untuk mendapatkan nilai jarak maka terlebih dahulu kamu harus tahu berapa nilai kecepatan dan waktu tempuh.
Untuk gelombang ultrasonik, rata-rata kecepatan rambatnya adalah 0,034 cm/detik. Sedangkan untuk waktunya nanti didapatkan dari hasil pengukuran sensor dibagi 2.
Mengapa dibagi 2?
Karena yang mau dihitung hanya waktu gelombang sampai menyentuh objek bukan sampai dipantulkan kembali ke sensor.
Karena sudah mengetahui dari mana nilai kecepatan dan waktunya maka bisa dituliskan sebagai berikut.
s = t/2 x V
Sederhananya menjadi:
Jarak = waktu/2 x kecepatan
jadi tak heran kalau pada script di atas dituliskan perintah ini:
jarak= waktu*0.034/2;Adapun untuk perintah “serialprint()” dan “serialprintln()” berfungsi untuk menampilkan hasil pengukuran di serial monitor.
Perintah “Serial.print("Jarak: ");” berfungsi untuk menampilkan kata “Jarak: “ di serial monitor.
Sedangkan perintah “Serial.println(jarak);” berfungsi untuk menampilkan nilai variabel jarak atau nilai pengukuran sensor di serial monitor, tepatnya di bawah baris kata “Jarak: “.
e. Bagian Fungsi Logika
if(jarak<100) {Dalam script di atas menggunakan percabangan if atau jika. Sebelumnya saya sudah jelaskan bahwa perintah HIGH berfungsi untuk menyalakan pin sensor dan perintah LOW untuk mematikannya.
digitalWrite(kipas,HIGH);}
else{
digitalWrite(kipas,LOW);}
}
Nah, aturan ini juga berlaku pada kipas atau komponen tertentu. Saat ia HIGH maka akan menyala dan saat ia LOW berarti ia akan mati atau padam.
Berdasarkan script di atas, maka kurang lebih jalan kerjanya seperti ini:
Jika jaraknya kurang dari 100 cm maka kipas akan berputar, selain itu maka kipas tidak akan berputar.
Penutup
Demikianlah penjelasan dari saya seputar bagaimana cara membuat kipas angin otomatis menggunakan sensor ultrasonik Arduino HC-SR04.Jika ada yang ingin ditanyakan atau ada yang ingin dikomentari, tak usah ragu untuk menuliskannya di kolom komentar atau bisa juga menghubungi saya secara langsung. Terima kasih.
Baca Juga:
Kak, kalau pakai kipas DC 5Volt bisa kan dirangkai seperti itu? (Lgsg ke breadboard tnp perantara alat lain)
BalasHapusKipas DC biasa yg warna hitam
HapusGreat tutorial! Love how you've explained step by step with clear instructions and visuals. Using the ultrasonic sensor for automatic fan control is a brilliant idea, adding efficiency to everyday appliances. Can't wait to try this project out myself!
BalasHapusMutual Protection Orders in New Jersey
new york uncontested divorce instructions