Sensor Menghidupkan Lampu Dengan Tepuk Tangan.
Penjelasan.
untuk membuat rangkaian ini, diperlukan sensor suara. Sensor suara adalah sensor yang ditujukan untuk mendeteksi keberadaan suara. salah satu modul sensor suara diperlihatkan pada gambar dibawah. Modul sensor suara memiliki 4 kaki, dan memiliki fungsi yang berbeda-beda, diantaranya :
- A0 : Pin yang mengeluarkan nilai analog dan wajib dihubungkan ke pin analog arduino.
- GND : Terhubung ke GND
- VCC : Terhubung ke 5V (Vcc)
- D0 : Pin yang mengeluarkan nilai digital, dan perlu dihubungkan ke Pin digital Arduino.
Gambar. Modul Sensor Suara.
Perakitan :
- kaki A0 Modul Sensor Tepuk ke Pin A0 Arduino.
- Kaki GND Modul Sensor Tepuk, Terhubung Ke Katoda Dioda LED dan GND Arduino. Kaki Anoda dioda LED, terhubung ke restan 220 Ohm, dan kaki 1 nya terhubung ke PIN 13 Arduino.
- VCC Modul Sensor Tepuk, ke 5V Arduino/Vcc.
SKETCH : TEPUK
// ——————————————
// Contoh untuk menyalakan LED beberapa detik
// kalau ada tepukan atau suara keras
// ——————————————
const int PIN_LED = 13; // Pin untuk LED
const int NILAI_TENGAH = 512; // Nilai tengah untuk port analog
const int JUMLAH_SAMPEL = 128; // Cacah pembacaan isyarat
const int AMBANG = 25; // Nilai ambang untuk menyalakan LED
const int INTERVAL = 3000; // Lama LED menyala dalam milidetik
long waktuAwal = 0;
void setup()
{
pinMode(PIN_LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int nilaiAnalog, isyarat;
long rerataIsyarat;
long totalIsyarat = 0;
for (int j = 1; j <= JUMLAH_SAMPEL; j++)
{
nilaiAnalog = analogRead(0);
isyarat = abs(nilaiAnalog – NILAI_TENGAH);
totalIsyarat += isyarat;
}
rerataIsyarat = totalIsyarat / JUMLAH_SAMPEL;
int waktuSekarang = millis();
if (rerataIsyarat > AMBANG)
{
digitalWrite(PIN_LED, HIGH); // LED menyala
waktuAwal = waktuSekarang;
}
else
if (abs(waktuSekarang – waktuAwal) > INTERVAL)
digitalWrite(PIN_LED, LOW); // LED mati
Serial.println(rerataIsyarat); // Kirim ke port serial
}
Post a Comment