Alat Pencari Sumber Suara dengan Arduino

Indobot Update

Project arduino masih sangat populer. Bahkan untuk versi arduino Uno yang menjadi produk lama. Arduino adalah salah satu mikrokontroler yang digunakan untuk mengontrol suatu rangkaian elektronika. Arduino sudah banyak memproduksi berbagai jenis device mikrokontroler dan bahkan device-device tambahan lainnya. Setiap inovasi yang dibuat, biasanya hal yang berbeda ada pada banyaknya pin, komponen tambahan, atau fasilitas yang berbeda, seperti arduino Uno, nano, mini, mega, Yun, leonardo, dan lain sebagainya.

Nah pada project kali ini kita membuat alat pencari sumber suara dengan menggunakan arduino. alat ini akan mengikuti suara dan menemukan asal suara. Alat akan berputar dengan memutar motor stepper. Sedangkan untuk mengetahui ada atau tidaknya suara di sekitarnya, kita akan menggunakan sensor suara.

Sensor suara yang akan kita gunakan adalah High Sensitivity Sound Microphone Sensor Detection Module. Sensor ini memiliki spesifikasi sebagai berikut.

– memiliki skrup 3mm untuk mengatur sensitivitas sensor.

– menggunakan 5 vdc untuk daya input

– output berupa analog (bukan 0 atau 1 saja)

– sensitivitas mikrophone (1Khz): 52-48dB

– impedensi microphone: 2.2K

– besaran gelombang frekuensi yang dapat diterima: 16-20Khz

– ratio: 54dB

Motor stepper digunakan dalam project kali ini untuk akurasi dan putaran360 derajat. Teman-teman juga bisa menggunakan yang lainnya seperti motor servo 360 derajat.

Sistem kerja dari project kali ini adalah kita akan menggunakan dua sensor suara di breadboad pencari lokasi suara. Jika suara terdeteksi di salah satu sensor suara dan bukan di

lainnya, Arduino meminta motor stepper di bawah breadboad untuk memutar breadboad pendeteksi suara menuju ke arah suara. Jika kedua sensor suara mendeteksi adanya suara atau tidak ada suara sama sekali yang terdeteksi, maka motor stepper tidak bergerak sama sekali.

Okayy. Langsung saja kita coba project kali ini.

 

Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!

 

Siapkan Alat dan Bahan

Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.

  1. laptop/PC yang terinstall Arduino IDE
  2. Arduino Uno 1
  3. Motor stepper 1
  4. Driver Motor stepper 1
  5. Sensor suara 2
  6. Breadboard 1
  7. Kabel jumper secukupnya

 

Susun Skema Rangkaian

Susunlah rangkaian seperti berikut ini.

Alat Pencari Sumber Suara dengan Arduino
Alat Pencari Sumber Suara dengan Arduino

baca juga: Mengendalikan Motor Stepper dengan Arduino Uno

Tulislah Program pada Aplikasi Arduino IDE

Tulislah program arduino seperti berikut. Jangan sampai ada yang terlewat ya. Perhatikan keterangan-keterangannya agar teman-teman juga memahami program yang teman-teman buat.

/*
 Original Author: Clyde A. Lettsome, PhD, PE, MEM
*/
const int stepsPerRevolution = 400;  // ubah nilai ini dengan banyaknya step dalam 1 putaran
const int numberOfSteps = stepsPerRevolution/8; //sudut 45 derajat
const int dirPin=12; 
const int stepPin=13;
const int rightSensorPin=7;
const int leftSensorPin=8;
const int enablePin=5 ;
boolean rightVal = 0;
boolean leftVal = 0;

void setup()
{
  pinMode(leftSensorPin, INPUT); //pin 8 untuk pin input
  pinMode(rightSensorPin, INPUT); //pin 7 untuk pin input
  pinMode (stepPin, OUTPUT); //pin 13 untuk pin output
  pinMode (dirPin, OUTPUT); //pin 12 untuk pin output
  pinMode (enablePin, OUTPUT); //pin 5 untuk pin output

  digitalWrite(enablePin, LOW); //Enable active low
  Serial.begin (9600); // serial port menggunakan 9600
}
  
void loop ()
{
  //input sinyal dari sensor suara
  rightVal =digitalRead(rightSensorPin);
  leftVal =digitalRead(leftSensorPin);

  //ketika sensor mendeteksi adanya sinyal, cari arah suara
  if (leftVal==LOW && rightVal==HIGH)
  {
    Serial.println("Turning Right");
    digitalWrite(dirPin,LOW); //cari berlawanan jarum jam
    
    //pencari arah suara
    for(int steps = 0; steps < numberOfSteps; steps++)
    {
      //memutar motor stepper.
      digitalWrite(stepPin,HIGH);
      delayMicroseconds(10000);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(10000);
    }
    delayMicroseconds(100000);
    rightVal = 0;
    leftVal = 0;
  }
  else if (leftVal==HIGH && rightVal==LOW)
  {
    Serial.println("Turning Left");
    digitalWrite(dirPin,HIGH); //searah jarum jam
      
    //pencarian arah suara
    for(int steps = 0; steps < numberOfSteps; steps++)
    {
      //memutar motor stepper
      digitalWrite(stepPin,HIGH);
      delayMicroseconds(10000);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(10000);
    }
    delayMicroseconds(100000);
    rightVal = 0;
    leftVal = 0;
  }
  else 
  {
    //jangan lakukan apapun
    rightVal = 0;
    leftVal = 0;
  }
}

baca juga: Tutorial Arduino UNO R3 Menghidupkan LED dengan Sensor Suara

Jika program sudah dituliskan di program arduino IDE, upload program ke Arduino Uno kalian. Pastikan done Compiling ya. Jika sudah terkirim coba tepuk-tepuk di memutari rangkaian untuk menguji apakah project dapat berjalan dengan baik.

Sudah selesai? Dapat berjalan dengan baik? Yuk kita bisa upgrade kemampuannya dengan memberikannya roda misalnya. Jadi nanti kita dapat membuat robot yang sekali tepuk bisa datang ke kita. Oh ya. Jangan lupa untuk menambahkan device sensor jarak ya. Biar robot kalian ngga nabrak-nabrak. Hehe.

Okay. Sampai di sini dulu untuk project kali ini. Jangan lupa untuk terus berkembang ya. Perbanyak belajar agar kita semakin terbiasa dengan rangkaian dan program mikrokontroler.

Sampai jumpa di lain artikel.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp