Arduino ile bir LED'i yakıp söndürmek oldukça basittir. İlk olarak, gereken malzemeler:
Breadboard üzerindeki bağlantıları aşağıdaki gibi yapmalısınız:
Şimdi Arduino'nuz için aşağıdaki kodu kullanabilirsiniz:
// LED'in bağlandığı pin numarası
#define LED_PIN 13
void setup() {
// LED pinini çıkış olarak ayarla
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // LED'i aç
delay(1000); // 1 saniye beklet
digitalWrite(LED_PIN, LOW); // LED'i kapat
delay(1000); // 1 saniye beklet
}
Bu kod, LED'i her bir saniye boyunca açar ve kapatır. Arduino IDE'de kodu derleyip Arduino'ya yükleyin, ve LED'in açılıp kapanmasını gözlemleyin.
Ledler ile Çakar Yapmak
LED'ler ile bir çakar yapmak da oldukça basittir. Öncelikle, birden çok LED'e ve uygun dirençlere ihtiyacınız olacak.
Malzemeler:
Her bir LED'i ayrı ayrı digital pinlere bağlamanız gerekmekte. Örneğin, LED'lerinizi 11, 12 ve 13 numaralı pinlere bağlayabilirsiniz. Bu durumda, Arduino'da kullanabileceğiniz bir çakar uygulaması için kod aşağıda gösterilmiştir:
#define LED_PIN1 11
#define LED_PIN2 12
#define LED_PIN3 13
void setup() {
pinMode(LED_PIN1, OUTPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(LED_PIN3, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN1, HIGH); // 1. LED'i aç
delay(500);
digitalWrite(LED_PIN1, LOW); // 1. LED'i kapat
digitalWrite(LED_PIN2, HIGH); // 2. LED'i aç
delay(500);
digitalWrite(LED_PIN2, LOW); // 2. LED'i kapat
digitalWrite(LED_PIN3, HIGH); // 3. LED'i aç
delay(500);
digitalWrite(LED_PIN3, LOW); // 3. LED'i kapat
}
Bu kodda, üç LED de sırayla yanıp sönecektir. Her biri 500 milisaniye yanıp sönüyor. Bu süreyi ihtiyaçlarınıza göre ayarlayabilirsiniz. Bu kodu Arduino IDE'de derleyip Arduino'ya yükleyin, ve LED'lerin sırayla yanıp sönmesini gözlemleyin.
Arduino ile Karaşimşek (Knight Rider) etkisi oluşturmak için daha fazla LED'e ihtiyacınız olacak. Aşağıdaki örnekte, 8 LED kullanılmıştır.
Malzemeler:
Her bir LED'i ayrı ayrı digital pinlere bağlayabilirsiniz. Örneğin, LED'lerinizi 2'den 9'a kadar olan pinlere bağlayabilirsiniz.
Aşağıda, Arduino için bir Karaşimşek (Knight Rider) uygulaması kodu bulabilirsiniz:
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // LED'lerin bağlandığı pin numaraları
int delayTime = 100; // LED'ler arasında geçiş yaparken bekletilecek süre (ms)
void setup() {
// Tüm pinleri çıkış olarak ayarla
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// LED'lerin sırayla yanmasını sağla
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], HIGH);
delay(delayTime);
digitalWrite(ledPins[i], LOW);
}
// LED'lerin sırayla söndürülmesini sağla
for (int i = 7; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH);
delay(delayTime);
digitalWrite(ledPins[i], LOW);
}
}
Bu kod, LED'lerin sırayla yanmasını ve söndürülmesini sağlar, bu da karaşimşek (Knight Rider) efektini oluşturur. Arduino IDE'de kodu derleyip Arduino'ya yükleyin, ve LED'lerin sırayla yanıp sönmesini gözlemleyin.
Hava karardığında yanacak bir LED oluşturmak için bir ışık sensörüne (örneğin bir LDR - Light Dependent Resistor, yani ışığa duyarlı direnç) ihtiyacınız olacak. Bir LDR, ışığın miktarına bağlı olarak direnç değerini değiştirir, bu nedenle gündüz ve gece arasındaki farkı algılayabiliriz.
Malzemeler:
Bağlantıları aşağıdaki gibi yapabilirsiniz:
Arduino için kod aşağıdaki gibi olabilir:
#define LDR_PIN A0
#define LED_PIN 13
// LDR okumaları belirli bir eşiği aşarsa LED yanar.
#define THRESHOLD 500
void setup() {
pinMode(LDR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int ldrValue = analogRead(LDR_PIN);
if (ldrValue < THRESHOLD) {
digitalWrite(LED_PIN, HIGH); // LDR değeri eşiğin altındaysa LED'i aç
} else {
digitalWrite(LED_PIN, LOW); // LDR değeri eşiğin üzerindeyse LED'i kapat
}
}
Bu kodda, eğer LDR değeri belirlenen eşiğin altındaysa (yani ışık seviyesi düşükse) LED yanar. Aksi halde, LED söner. Eşik değeri, kullanılan LDR'nin ve çevresel ışık koşullarının özelliklerine bağlı olarak ayarlanmalıdır. Bu kodu Arduino IDE'de derleyip Arduino'ya yükleyin, ve LED'in ışık seviyesine göre yanıp sönmesini gözlemleyin.
Bir Çok Led ile Sıcaklık Göstergesi
Arduino ve bir sıcaklık sensörü (örneğin, DS18B20 veya LM35) kullanarak bir sıcaklık göstergesi oluşturabiliriz. Bu örnekte, sıcaklık arttıkça daha fazla LED'in yanmasını sağlayacağız.
Malzemeler:
1. Arduino UNO (veya herhangi bir Arduino kartı)
2. 5 adet LED
3. 5 adet 220 ohm direnç
4. DS18B20 veya LM35 sıcaklık sensörü
5. Breadboard
6. Jumper kablolar
LED'leri ve sıcaklık sensörünü Arduino'ya aşağıdaki gibi bağlayabilirsiniz:
1. Her bir LED'in kısa bacağı (katot), bir 220 ohm direnç ile GND'ye bağlı olmalıdır.
2. Her bir LED'in uzun bacağı (anot), Arduino'nun dijital bir pinine bağlı olmalıdır (örneğin, D2, D3, D4, D5 ve D6 pinleri).
3. Sıcaklık sensörünü uygun şekilde bağlayın. Örneğin, LM35 için: LM35'in Vout pini Arduino'nun bir analog pinine (örneğin A0), Vcc pini Arduino'nun 5V pinine ve GND pini Arduino'nun GND pinine bağlanmalıdır.
Ardından, aşağıdaki kodu kullanabilirsiniz:
#define TEMP_SENSOR_PIN A0
#define LED_PINS {2, 3, 4, 5, 6} // LED'lerin bağlandığı pin numaraları
void setup() {
pinMode(TEMP_SENSOR_PIN, INPUT);
for (int i = 0; i < 5; i++) {
pinMode(LED_PINS[i], OUTPUT);
}
}
void loop() {
float voltage = analogRead(TEMP_SENSOR_PIN) * (5.0 / 1023.0);
float temperature = voltage * 100; // LM35 için dönüşüm formülü
int ledCount = (int)(temperature / 10); // Her 10 derece için bir LED yanar
ledCount = min(max(ledCount, 0), 5); // ledCount değerini 0 ile 5 arasında sınırla
for (int i = 0; i < ledCount; i++) {
digitalWrite(LED_PINS[i], HIGH);
}
for (int i = ledCount; i < 5; i++) {
digitalWrite(LED_PINS[i], LOW);
}
}
Bu kodda, sıcaklık değeri her 10 derece arttığında bir LED yanar. Örneğin, sıcaklık 20 derece ise, ilk iki LED yanar. Bu kodu Arduino IDE'de derleyip Arduino'ya yükleyin ve sıcaklık değiştikçe LED'lerin yanıp sönmesini gözlemleyin.
Bir Çok Led ile Gürültü Seviyesi Göstergesi
Arduino ve bir ses sensörü (örneğin, Sound Detection Module veya Mikrofon Amplifikatör Modülü) kullanarak gürültü seviyesi göstergesi oluşturabiliriz. Bu örnekte, gürültü seviyesi arttıkça daha fazla LED'in yanmasını sağlayacağız.
Malzemeler:
1. Arduino UNO (veya herhangi bir Arduino kartı)
2. 5 adet LED
3. 5 adet 220 ohm direnç
4. Ses Sensörü (örneğin Sound Detection Module veya Mikrofon Amplifikatör Modülü)
5. Breadboard
6. Jumper kablolar
LED'leri ve ses sensörünü Arduino'ya aşağıdaki gibi bağlayabilirsiniz:
1. Her bir LED'in kısa bacağı (katot), bir 220 ohm direnç ile GND'ye bağlı olmalıdır.
2. Her bir LED'in uzun bacağı (anot), Arduino'nun dijital bir pinine bağlı olmalıdır (örneğin, D2, D3, D4, D5 ve D6 pinleri).
3. Ses sensörünün OUT pini Arduino'nun bir analog pinine (örneğin A0), Vcc pini Arduino'nun 5V pinine ve GND pini Arduino'nun GND pinine bağlanmalıdır.
Ardından, aşağıdaki kodu kullanabilirsiniz:
#define SOUND_SENSOR_PIN A0
int LED_PINS[] = {2, 3, 4, 5, 6}; // LED'lerin bağlandığı pin numaraları
void setup() {
pinMode(SOUND_SENSOR_PIN, INPUT);
for (int i = 0; i < 5; i++) {
pinMode(LED_PINS[i], OUTPUT);
}
}
void loop() {
int soundLevel = analogRead(SOUND_SENSOR_PIN);
int ledCount = map(soundLevel, 0, 1023, 0, 5); // Ses seviyesini 0 ile 5 arasında bir değere dönüştür
for (int i = 0; i < ledCount; i++) {
digitalWrite(LED_PINS[i], HIGH);
}
for (int i = ledCount; i < 5; i++) {
digitalWrite(LED_PINS[i], LOW);
}
}
Bu kodda, ses seviyesi arttıkça daha fazla LED yanar. `map()` fonksiyonu, ses seviyesini 0 ile 5 arasında bir değere dönüştürmek için kullanılır. Bu kodu Arduino IDE'de derleyip Arduino'ya yükleyin ve ses seviyesi arttıkça LED'lerin yanıp sönmesini gözlemleyin.