Arduino uygulamalarının olmazsa olmazı Kara Şimşek uygulaması ile karşınızdayız. Standart LED uygulamasına çeşitli for döngüleri ekleyerek oluşturulan bu uygulama donanım alanından ziyade özellikle yazılım noktasında büyük gelişme sağlamakta.
İhtiyacımız olan malzemeler ne kadar LED kullanacağımıza göre değişiyor.
Led sayısı kadar Led, +1 bağlantı kablosu :)
Bağlantıları nasıl yapacağımıza gelirsek:
Buyurun buda kodumuz :
byte ledPin[] = {4,5,6,7,8,9,10,11,12,13};//Ledlerimizi bağlayacağımız pinleri bir dizi vasıtasıyla belirledik.
int ledSure(100);//Milisaniye cinsinden ledlerin iki yanma arasındaki süresi.
int yon = 1;//Ledlerin yönünü belirlyeceğimiz değer.
int seciliLED = 0;
int ZamanDegisimi;
void setup()
{
for (int x=0; x<10; x++)//Ledlerin hepsini çıkış olarak ayarladık.
{
pinMode(ledPin[x], OUTPUT);//Tek tek çıkış olarak kaydetmek yerine bir for döngüsüyle hepsini hallettik.
}
ZamanDegisimi = millis();// Zaman değişiminin cinsini milisaniye olarak ayarladık.
}
void loop()
{
if ((millis() - ZamanDegisimi) > ledSure)
{
LEDdegisimi();//Led değişimi fonksiyonuyla belirlenen ledin yanması sağlanır.
ZamanDegisimi = millis();
}
}
void LEDdegisimi()
{
for(int x=0; x<10; x++)
{
digitalWrite(ledPin[x],LOW);//Ledlerin hepsini söndürdük.
}
digitalWrite(ledPin[seciliLED],HIGH);//Seçilen ledi yaktık.
seciliLED += yon;//Yönünü artırarak devam ettik.
if(seciliLED == 9)
{
yon = -1;//Seçilen led 9 a ulaşınca yönü tersine dönderdik.
}
if(seciliLED == 0)
{
yon = 1;//Seçilen led 0 a ulaşınca yönü eski haline dönderdik.
}
}
İhtiyacımız olan malzemeler ne kadar LED kullanacağımıza göre değişiyor.
Led sayısı kadar Led, +1 bağlantı kablosu :)
Bağlantıları nasıl yapacağımıza gelirsek:
Buyurun buda kodumuz :
byte ledPin[] = {4,5,6,7,8,9,10,11,12,13};//Ledlerimizi bağlayacağımız pinleri bir dizi vasıtasıyla belirledik.
int ledSure(100);//Milisaniye cinsinden ledlerin iki yanma arasındaki süresi.
int yon = 1;//Ledlerin yönünü belirlyeceğimiz değer.
int seciliLED = 0;
int ZamanDegisimi;
void setup()
{
for (int x=0; x<10; x++)//Ledlerin hepsini çıkış olarak ayarladık.
{
pinMode(ledPin[x], OUTPUT);//Tek tek çıkış olarak kaydetmek yerine bir for döngüsüyle hepsini hallettik.
}
ZamanDegisimi = millis();// Zaman değişiminin cinsini milisaniye olarak ayarladık.
}
void loop()
{
if ((millis() - ZamanDegisimi) > ledSure)
{
LEDdegisimi();//Led değişimi fonksiyonuyla belirlenen ledin yanması sağlanır.
ZamanDegisimi = millis();
}
}
void LEDdegisimi()
{
for(int x=0; x<10; x++)
{
digitalWrite(ledPin[x],LOW);//Ledlerin hepsini söndürdük.
}
digitalWrite(ledPin[seciliLED],HIGH);//Seçilen ledi yaktık.
seciliLED += yon;//Yönünü artırarak devam ettik.
if(seciliLED == 9)
{
yon = -1;//Seçilen led 9 a ulaşınca yönü tersine dönderdik.
}
if(seciliLED == 0)
{
yon = 1;//Seçilen led 0 a ulaşınca yönü eski haline dönderdik.
}
}
Comments
Post a Comment