Saklar LED Sentuh Kapasitif dengan Arduino UNO – Proyek DIY Mudah
Komponen dan Perlengkapan
- Arduino UNO (1 unit)
- LED (1 unit)
- Kabel jumper (4 buah)
- Resistor 1 Mega Ohm (1 buah)
- Foil aluminium atau koin (1 buah)
Aplikasi dan Layanan Online
Tentang Proyek
Dalam proyek ini, saya membuat sensor sentuh menggunakan koin yang bekerja berdasarkan pustaka Arduino Capacitive Sensing. Saya menggunakan sensor ini untuk menyalakan dan mematikan LED dengan menyentuhnya. Sensor kapasitif dapat mendeteksi apa saja yang konduktif atau yang memiliki permitivitas yang jauh berbeda dari udara, seperti tubuh atau tangan manusia.
Pustaka sensor kapasitif mengubah dua atau lebih pin Arduino menjadi sensor kapasitif, yang dapat merasakan kapasitansi listrik tubuh manusia. Semua pengaturan sensor membutuhkan resistor nilai sedang hingga tinggi, seutas kabel, dan selembar foil aluminium (kecil hingga besar) di ujungnya. Pada kepekaan tertinggi, sensor akan mulai merasakan tangan atau tubuh beberapa inci dari sensor.
Rangkaian dan Kerja
Ini adalah rangkaian RC sederhana (Resistor-Kapasitor). Dengan mengukur waktu yang dibutuhkan untuk beralih dari satu kondisi ke kondisi lain, Anda mendapatkan perkiraan jarak (kita mengetahui kapasitansi umum tubuh manusia, resistor nilai tinggi, dan kapasitansi umum bahan sensor). Resistor nilai tinggi bertujuan untuk memberikan waktu drain yang sangat rendah.
Dalam proyek ini, Anda dapat menggunakan bahan sensor berupa objek logam apa pun seperti koin atau foil aluminium.
Program Perangkat Lunak:
Fungsi nyala/mati cahaya melalui sentuh dikontrol oleh program perangkat lunak yang dimuat pada papan Arduino. Perhatikan bahwa sebelum mengunggah kode ke Arduino, Anda perlu menginstal Capacitive Sensor Library dari situs web Arduino.
Tautan Pustaka Sensor Kapasitif: https://github.com/arduino-libraries/CapacitiveSensor/zipball/master
Pengaturan Perangkat Keras:
Masukkan resistor nilai tinggi (1 M Ω) di antara pin 2 dan pin 4 Arduino. Menurut program, pin 4 adalah pin terima, jadi hubungkan koin (koin bertindak sebagai sensor kapasitif) ke pin terima. Hubungkan LED di antara GND dan pin 8.
Pengujian:
Ketika Anda menyentuh sensor, itu mengubah status sebelumnya, yaitu menyala atau mematikan LED. Resistor yang lebih besar cenderung membuat sensor lebih sensitif dan bertindak seperti Sensor Dekat.
Kode
Kode Arduino
#include <CapacitiveSensor.h>
CapacitiveSensor cs_2_4 = CapacitiveSensor(2,4); // resistor 1M di antara pin 2 & 4, pin 4 adalah pin sensor, tambahkan kabel dan/atau foil
int in = 2;
int out = 4;
int state = HIGH;
int r;
int p = LOW;
long time = 0;
long debounce = 200;
void setup() {
pinMode(4, INPUT);
pinMode(8, OUTPUT);
}
void loop() {
r = digitalRead(4);
if (r == HIGH && p == LOW && millis() - time > debounce) {
if (state == HIGH) state = LOW;
else state = HIGH;
time = millis();
}
digitalWrite(8, state);
p = r;
}
Skematik
Gambar skematik tersedia di bagian bawah proyek.