Arduino Ders 4: Örnek Kodlamalar
1. Giriş
Bu derste, Arduino ile yapılabilecek bazı farklı örnek kodlamaları inceleyeceğiz. Arduino'nun dijital ve analog pinlerini kullanarak sensörler, LED'ler ve butonlar gibi bileşenleri nasıl kontrol edebileceğimizi öğreniyoruz.
2. Örnek 1: LED'in Yavaşça Yanıp Sönmesi
Bu örnekte, bir LED'in parlaklığını zamanla artırıp azaltacağız. Bu işlem için PWM (Pulse Width Modulation) kullanacağız, böylece LED'in parlaklığını daha kontrollü bir şekilde ayarlayabileceğiz.
Kod Örneği
int ledPin = 9; // LED'in bağlı olduğu pin
void setup() {
pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarlanır
}
void loop() {
// LED'in parlaklığını artırma
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledPin, brightness); // LED'in parlaklığını ayarla
delay(10); // Bir süre bekle
}
// LED'in parlaklığını azaltma
for (int brightness = 255; brightness >= 0; brightness--) {
analogWrite(ledPin, brightness); // LED'in parlaklığını ayarla
delay(10); // Bir süre bekle
}
}
Bu kod, LED'in parlaklığını 0'dan 255'e kadar artırır ve sonra tekrar 255'ten 0'a kadar azaltır. analogWrite()
fonksiyonu PWM sinyali ile LED'in parlaklığını kontrol eder.
3. Örnek 2: Butona Basıldığında LED'i Yakma
Bu örnekte, bir butona basıldığında bir LED'i yakmak için basit bir devre ve kod yazacağız. Buton, bir dijital pin aracılığıyla Arduino'ya bağlanacak ve LED de başka bir dijital pin üzerinden kontrol edilecek.
Kod Örneği
int buttonPin = 2; // Butonun bağlı olduğu pin
int ledPin = 13; // LED'in bağlı olduğu pin
int buttonState = 0; // Butonun durumu
void setup() {
pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarlanır
pinMode(buttonPin, INPUT); // Buton pini giriş olarak ayarlanır
}
void loop() {
buttonState = digitalRead(buttonPin); // Butonun durumunu oku
if (buttonState == HIGH) { // Butona basıldıysa
digitalWrite(ledPin, HIGH); // LED'i yak
} else {
digitalWrite(ledPin, LOW); // LED'i söndür
}
}
Bu kodda, butonun durumunu kontrol ederek, butona her basıldığında LED'in durumunu değiştiriyoruz. digitalRead()
ile butonun durumunu okur ve digitalWrite()
ile LED'in durumunu kontrol ederiz.
4. Örnek 3: Potansiyometre ile LED Parlaklık Kontrolü
Bir potansiyometreyi kullanarak bir LED'in parlaklığını kontrol edeceğiz. Potansiyometre analog bir sinyal üretir ve bu sinyali okuyarak LED'in parlaklık seviyesini ayarlayacağız.
Kod Örneği
int potPin = A0; // Potansiyometreyi A0 pinine bağla
int ledPin = 9; // LED'i 9 numaralı pinine bağla
int potValue = 0; // Potansiyometreden okunan değer
int brightness = 0; // LED parlaklık değeri
void setup() {
pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarlanır
}
void loop() {
potValue = analogRead(potPin); // Potansiyometreden okuma yap
brightness = map(potValue, 0, 1023, 0, 255); // Potansiyometreyi 0-255 aralığına dönüştür
analogWrite(ledPin, brightness); // LED'in parlaklığını ayarla
delay(10); // Küçük bir bekleme süresi
}
Bu örnekte, potansiyometreyi döndürerek LED'in parlaklığını kontrol ediyoruz. Potansiyometreden okunan değer 0 ile 1023 arasında bir değere sahiptir, biz bu değeri 0 ile 255 arasına dönüştürerek LED'in parlaklığını ayarlıyoruz.
5. Örnek 4: Ses Dalgalarını LED ile Görselleştirme
Bu örnekte, bir ses sensörü kullanarak ses dalgalarının seviyesini görselleştireceğiz. Ses sensöründen gelen analog sinyali alacak ve bu değeri bir LED ile göstereceğiz.
Kod Örneği
int sensorPin = A0; // Ses sensörünü A0 pinine bağla
int ledPin = 9; // LED'i 9 numaralı pinine bağla
int sensorValue = 0; // Ses sensöründen okunan değer
void setup() {
pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarlanır
}
void loop() {
sensorValue = analogRead(sensorPin); // Ses sensöründen okuma yap
int brightness = map(sensorValue, 0, 1023, 0, 255); // Ses seviyesini 0-255 aralığına dönüştür
analogWrite(ledPin, brightness); // LED'in parlaklığını ses seviyesine göre ayarla
delay(10); // Küçük bir bekleme süresi
}
Bu örnekte, ses sensöründen gelen veriyi kullanarak LED'in parlaklık seviyesini sesin şiddetiyle ilişkilendiriyoruz. Ses arttıkça LED'in parlaklığı da artar.
6. Sonuç
Bu derste, Arduino ile farklı sensörler ve bileşenler kullanarak nasıl kod yazılacağını öğrendik. LED kontrolü, potansiyometre, butonlar ve ses sensörleri gibi temel bileşenlerle gerçekleştirdiğimiz uygulamalar, Arduino projelerinde sıkça karşılaşılan görevlerdir. Bu temel bilgilerle, daha karmaşık projeler geliştirebilir ve farklı sensörlerden veri alarak etkileşimli projeler tasarlayabilirsiniz.
0 Yorumlar