Arduino ile Ses Seviye Göstergesi Projesi

0 164
   Potansiyometre, direnç çeşitlerinden biridir. Potansiyometrenin özelliği direnci kontrollü bir şekilde arttırıp azaltabilmektir. Bu sayede devredeki akım ve gerilim kontrolünü sağlayabiliriz (V=I.R). Elektroniğin temel elemanlarından biri olan potansiyometreyi bu uygulamamızda ses seviyesini manual şekilde değiştirmek için kullandık. Arduino ile potansiyometreden aldığımız sayısal değerleri 7 Ses seviyesine bölerek buzzerdan çıkan sesimizin sıklığını ayarlamış olduk . Sonuç olarak sırasıyla ledlerin sönmesi buzzer ses sıklığının azaldığını bize gösterecektir.
    • Malzemeler
    • 1 Adet Arduino UNO
    • 7 Adet Led
    • 1 Adet Buzzer
    • 1 Adet Potansiyometre
    • Jumper kablo

 

Elektronik Devre Şeması

 

Arduino Yazılımı

int deger=0; // başlangıç değeri 0 olan deger değişkeni tanımlıyoruz.
int led1 = 2; // 1. ledi Arduino UNO da 2 nolu pinimize atadık.
int led2 = 3;
int led3 = 4;
int led4 = 5 ;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int buzzerpin=9; // ayarlayacağımız buzzer sesini Arduino UNO da 9 nolu pinimize atadık.
int maxdeger=1023;// değeri 1023 olan maxdeger değişkeni tanımladık.
void setup() {
pinMode(led1, OUTPUT); // 1 nolu pini çıkış olarak ayarlarız.
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(buzzerpin, OUTPUT);
Serial.begin(9600); /* serial monitörden potun değerini görebilmek için bu komut satırını ekleyerek 9600 baud hızına ayarlıyoruz */

}

void loop() {
deger=analogRead(A0); /*pottan okunan değeri deger değişkenine dijitale çevrilmiş halde aktarıyoruz*/
Serial.println(deger); /* deger değişkeninin içerisindeki değeri PC ortamında gözlemliyoruz */

if(deger > 60 && deger < 180) //okunan değer 60 ile 180 arasında ise led1 yansın ve buzzer sesinin sıklığı artsın.
{
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger> 0 && deger <= 60) // okunan değer 60 dan küçükse tüm ledler sönük kalsın.
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger> 180 && deger <= 320) //okunan değer 180 ile 320 arasında ise led1 ve 2 yansın. Buzzer sesinin sıklığı artsın.
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();

}
if(deger> 320 && deger <= 460) //okunan değer 320 ile 460 arasında ise led1-2-3 yansın. Buzzer sesinin sıklığı artsın.
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger> 460 && deger <= 600) //okunan değer 460 ile 600 arasında ise led1-2-3-4 yansın. Buzzer sesinin sıklığı artsın.
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger> 600 && deger <= 740) //okunan değer 600 ile 740 arasında ise led1-2-3-4-5 yansın. Buzzer sesinin sıklığı artsın.
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger>740&& deger <= 850) //okunan değer 740 ile 850 arasında ise led1-2-3-4-5-6 yansın. Buzzer sesinin sıklığı artsın.

{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,LOW);
buzzersesi();
}
if(deger>850) //okunan değer 850'den büyükse tüm ledler yansın. Buzzer sesinin sıklığı artsın.

{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,HIGH);
buzzersesi();
}

}
void buzzersesi() //buzzer sesini ayarladığımız bir fonsiyon açtık.
{
digitalWrite(buzzerpin , HIGH); //potansiyometredeki değerim artıkça buzzer sesin sıklığını da arttırdık.
delay(maxdeger-deger);
digitalWrite(buzzerpin,LOW);
delay(maxdeger-deger);
}
Bunlar da İlgini Çekebilir

Cevap bırakın

E-posta hesabınız yayımlanmayacak.