Bu projemde ses sensörü ile okuduğumuz değere göre motor hareketi sağlayacağım
Malzemeler
Arduino Uno
Breadboard
6 Adet erkek-erkek jumper kablo
DC motor
330 ohm direnç
BC547 NPN Transistör
Ses sensör kartı
Malzemeleri Tanıyalım
Transistör :Yarı iletken olan bu devre elemanı küçük elektrik sinyallerini yükseltmek ya da büyük miktarda akımı küçültmek amacıyla kullanılır. Genellikle 3 tane bacakları bulunur. Motor çok fazla akım çektiği için bu devremizde transistör kullanacağız
Ses Sensör Kartı: Üzerinde mikrofon bulunur ve ortamdaki seslere göre dijital çıkış verir. Üzerinde VCC, GND ve A0 pinleri bulunur. Ayrıca üzerinde bulunan potansiyometre ile ses seviyesinin eşik değerini ayarlayabilirsiniz.
DC motor: DC motorlar hakkında ayrıntılı bilgi edinmek için DC motor nedir yazımıza bakabilirsiniz
Çalışma Şekli
DC motorumuzu aktif etmek veya tam tersine aktif dışı bırakmak için ses sensör kartı kullanacağız. Üzerinde bulunan A0 pini sensörden gelen verilerin bize analog olarak aktarılmasını sağlayacak. DC motorlar arduinonun verebileceğinden daha fazla akım çektiğinden dolayı arduinonun pinlerinin yanmaması için arduinonun pinlerine doğrudan bağlantı yapamıyoruz ve bu yüzden projemiz transistör içeriyor. Yani aslında transistör motor sürme gücünü sağlayacak elemandır. Arduino transistöre bir sinyal yollayacak ve transistörde gerekli akımı motora sağlayacaktır. Sensörümüz sesi algıladığı vakit motorumuz çalışmaya başlayacaktır.
Devre
- Adım : Ses sensör kartının bağlantısını yapıyoruz.
Sensörün VCC pininden arduino üzerinde bulunan 5V pinine bağlantıyı kuruyoruz.
Daha sonrasında sensörün eksi bacağından arduinonun GND pinine
Artı bacağından ise arduinonun reset pinine bağlantı kuruyoruz.
2. Adım:Transistörü breadboarda yerleştiriyoruz.
Transistörün yazı yazan kısmına önden bakıldığında sağdan kalan pini arduinonun üzerinde bulunan GND pini ile birleştiriyoruz.
Ortadaki pine direnci bağladıkta sonra direncin boşta kalan bacağını arduinonun 5. pini ile bağlantısını kuruyoruz.
3. Adım: Motorumuzu yerleştiriyoruz.
Dc motorun artı bacağını arduinonun 5V pini ile
Eksi bacağının transistörün boşta kalan soldaki bacağı ile birleştiriyoruz ve devremiz böylece hazır.
Kod
#define SensorPin 3 // değişkenleri tanımlıyoruz.
#define MotorPin 5
int MotorDurum = LOW;
void setup() {
pinMode (SensorPin, INPUT); //ses sensöründen gelen sinyal pinini giriş
pinMode( MotorPin, OUTPUT); //motor sürücüsüne giden 5. pini çıkış olarak ayarlıyoruz
}
void loop() {
if( digitalRead(SensorPin) ) { // ses sensöründen gelen veriyi okuyoruz.
if(MotorDurum == LOW) { // motor durum değişkenine eğer ses gelmezse LOW
MotorDurum = HIGH; // ses gelirse HIGH yazıyoruz
}
else{
MotorDurum= LOW ;
}
digitalWrite(MotorPin, MotorDurum); // dijital çıkış olarak motor durum değişkenini gönderdik.
}
delay(50); // döngü çok hızlı olmasın diye 50ms’lik bekleme
}