#19 Arduino Kara Şimşek Uygulamaları
Merhabalar, bu yazımızda Arduino uygulamaları serisinden Arduino Kara Şimşek Uygulamaları hakkında bilgi vereceğim.
Arduino programı ayrıntılı kod kısmı, kara şimşek devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.
NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.
KARA ŞİMŞEK – 10 LED PARLAYIP SÖNME EFEKTLİ
KOD BÖLÜMÜ
// Kara Şimşek 10 Led (2-11 Pinleri arası) - For döngüsü ile - Parlayıp Sönerek
void setup()
{
// her pini çıkış olarak ayarlamak için for döngüsü kullanıyoruz.
for (int ledPin = 2; ledPin < 12; ledPin++)
{
pinMode(ledPin, OUTPUT);
}
}
void loop()
{
// en düşük pinden en yüksek pine kadar döngü:
for (int ledPin = 2; ledPin <= 11; ledPin++)
{
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
}
// en yüksek pinden en düşük pine kadar döngü:
for (int ledPin = 11; ledPin >= 2; ledPin--)
{
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
}
}
DEVRENİN ÇALIŞMASI:
Kod bölümü, önce 2 numaralı pinden başlayarak 11 numaralı pine kadar sıralı bir şekilde ledler yanacak ve tekrar 11 numaralı pinden, 2 numaralı pine sıralı bir şekilde yanarak geri dönecek şekilde programlanmıştır. Delay içerisindeki değer değiştirilerek yanma ve sönme süresi ayarlanabilir.
DEVRE BAĞLANTI ŞEMASI
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
Breadboard
10 adet led diyot
10 adet 220 Ω direnç
11 adet iki ucu erkek jumper kablo
Breadboard üzerine 10 adet led diyot yerleştirilir. Led diyotların (uzun) artı bacaklarına seri olarak dirençler bağlanır. Dirençlerin uçları da board üzerinden Arduino’nun 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 numaralı pinlerine bağlanır. Led diyotların (-) bacakları , boardın alt kısmındaki yatay şerite birer kablo ile bağlanır. Board ın yatay şeridine tek bir kablo bağlanarak, kablonun diğer ucu Arduino’nun GND pinine bağlanıp devre tamamlanır.
KARA ŞİMŞEK – RASTGELE YANIP SÖNEN 8 LED
KOD BÖLÜMÜ: (8 LED)
//Rastgele Yanıp Sönen Kara Şimşek Devresi 8 Led
void blink(int LEDPin, int LEDOnTime, int LEDOffTime) // LED yakıp sönme fonksiyonu
{
digitalWrite(LEDPin, HIGH);
delay(LEDOnTime);
digitalWrite(LEDPin, LOW);
delay(LEDOffTime);
}
void setup()
{
//LED pinlerini ayarlıyoruz - Dijital 4-11 arası
for(int i=4; i<12; i++){ pinMode(i, OUTPUT);}
}
void loop()
{
birAtlat(1); // Parametreler kaç tekrar yapacağını gösteriyor
karisik(1);
azalanHizda(1);
}
void birAtlat(int tekrar){
for(int k=1; k<(tekrar+1); k++){
for(int i=4; i<13; i=i+2){
blink(i,200,20);
}
for(int i=11; i>3; i=i-2){
blink(i,200,20);
}
}
}
void karisik(int tekrar)
{
for(int k=1; k<(tekrar+1); k++){
for(int j=1; j<257; j=j+j){
int LEDCounter=1;
int LEDYak=1;
for(int ledPin=4; ledPin>3 && ledPin<14; ledPin=ledPin+LEDCounter)
{
if(LEDYak)
{
digitalWrite(ledPin, HIGH);
delay(j);
}
else
{
digitalWrite(ledPin, LOW);
delay(j);
}
if(ledPin>12)
{
LEDCounter*=-1;
LEDYak=0;
}
}
}
}
}
void azalanHizda(int tekrar)
{
for(int k=1; k<(tekrar+1); k++)
{
for(int j=1; j<257; j=j+j) // LED yanma süresini artırıyoruz
{
for(int i=4; i>3 && i<13; i++)
{
blink(i, j, 30); //LED leri sırasıyla yakıp söndürelim
}
}
}
}
DEVRENİN ÇALIŞMASI:
Kod bölümünde ledler, birer atlayarak yanma, karışık yanma, azalan hızda yanma şeklinde programlanmıştır.
DEVRE BAĞLANTI ŞEMASI: (8 LED)
DEVRE KURULUMU: (8 LED)
Malzemeler:
Arduino Uno
Breadboard
8 adet led diyot
8 adet 220 Ω direnç
9 adet iki ucu erkek jumper kablo
Breadboard üzerine 8 adet led diyot, eksi uçları boardın üst kısmındaki yatay şerite gelecek şekilde yerleştirilir. Led diyotların (uzun) artı bacaklara seri olarak dirençler bağlanır. Dirençlerin uçları da board üzerinden Arduino’nun 2, 3, 4, 5, 6, 7, 8, 9 numaralı pinine bağlanır. Led diyotların (-) bacaklarının bağlı olduğu board üzerine tek bir kablo bağlanarak, kablonun diğer ucu Arduino’nun GND pinine bağlanıp devre tamamlanır.
KARA ŞİMŞEK – RASTGELE YANIP SÖNEN 10 LED
KOD BÖLÜMÜ: (10 LED)
//Rastgele Yanıp Sönen Kara Şimşek Devresi 10 Led (2-11 Pinler)
void blink(int LEDPin, int LEDOnTime, int LEDOffTime) // LED yakıp sönme fonksiyonu
{
digitalWrite(LEDPin, HIGH);
delay(LEDOnTime);
digitalWrite(LEDPin, LOW);
delay(LEDOffTime);
}
void setup()
{
//LED pinlerini ayarlıyoruz - Dijital 2-11 arası
for(int i=2; i<12; i++){ pinMode(i, OUTPUT);}
}
void loop()
{
birAtlat(1); // Parametreler kaç tekrar yapacağını gösteriyor
karisik(1);
azalanHizda(1);
}
void birAtlat(int tekrar){
for(int k=1; k<(tekrar+1); k++){
for(int i=2; i<13; i=i+2){
blink(i,200,20);
}
for(int i=11; i>1; i=i-2){
blink(i,200,20);
}
}
}
void karisik(int tekrar)
{
for(int k=1; k<(tekrar+1); k++){
for(int j=1; j<257; j=j+j){
int LEDCounter=1;
int LEDYak=1;
for(int ledPin=2; ledPin>1 && ledPin<14; ledPin=ledPin+LEDCounter)
{
if(LEDYak)
{
digitalWrite(ledPin, HIGH);
delay(j);
}
else
{
digitalWrite(ledPin, LOW);
delay(j);
}
if(ledPin>12)
{
LEDCounter*=-1;
LEDYak=0;
}
}
}
}
}
void azalanHizda(int tekrar)
{
for(int k=1; k<(tekrar+1); k++)
{
for(int j=1; j<257; j=j+j) // LED yanma süresini artırıyoruz
{
for(int i=2; i>1 && i<13; i++)
{
blink(i, j, 30); //LED leri sırasıyla yakıp söndürelim
}
}
}
}
DEVRENİN ÇALIŞMASI:
Kod bölümünde ledler, birer atlayarak yanma, karışık yanma, azalan hızda yanma şeklinde programlanmıştır.
DEVRE BAĞLANTI ŞEMASI: (10 LED)
DEVRE KURULUMU: (10 LED)
Malzemeler:
Arduino Uno
Breadboard
10 adet led diyot
10 adet 220 Ω direnç
21 adet iki ucu erkek jumper kablo
Breadboard üzerine 10 adet led diyot yerleştirilir. Led diyotların (uzun) artı bacaklarına seri olarak dirençler bağlanır. Dirençlerin uçları da board üzerinden Arduino’nun 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 numaralı pinlerine bağlanır. Led diyotların (-) bacakları , boardın alt kısmındaki yatay şerite birer kablo ile bağlanır. Board ın yatay şeridine tek bir kablo bağlanarak, kablonun diğer ucu Arduino’nun GND pinine bağlanıp devre tamamlanır.
Arduino Kara Şimşek Uygulamaları
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap