Arduino ile Ses Seviye Göstergesi Projesi
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); }
Pot kaç k ?