Menü
Kapat
Giriş Yap Kayıt Ol
Şifremi Unuttum
Kapat
Sepetim
11.08.2023

Elektronik Zar Yapımı | Arduino ve Led Kullanarak Zar Yap

Bu yazıda sizlere herkesin kolaylıkla yapabileceği, başlangıç seviyesi bir Arduino projesi olan, Elektronik Zar Yapımı projesinden bahsedeceğiz. Çok düşük bir maliyetle hayata geçirebileceğiniz bu projenin malzemeleri de oldukça az. Arduino konusunda kendinizi geliştirmeye çalışırken hep aynı projeleri görmekten sıkıldıysanız, bu sıra dışı proje tam size göre. :)
 
Led yakıp söndürmekle ilgili pek çok proje var. Ancak bunların çoğunun temelde bir amacı yok.. Biz bu projede ledlerin yanıp sönmesine bir anlam kattık. Projemizde; breadboard üzerine dizili olan 6 adet led bit buton yardımıyla yakılıyor. Rastgele 1-6 arasındaki led aynı anda yanıyor ve böylece zar atma işlemini dijital hale getirmiş oluyoruz. Gelin çok uzatmadan malzeme listesine ve projenin yapılışına geçelim.
 

Malzeme Listesi

•6ad. 5mm Led
 
İşte malzeme listemiz sadece bu kadar. Bahsi geçen ürünlerin satın alma sayfalarına ulaşmak için isimlerine tıklamanız yeterlidir. Malzemeleri kendinize göre düzenlemeniz mümkün. Kırmızı yerine başka bir renk led kullanabilirsiniz, farklı renklerde ledleri bir arada tercih edebilirsiniz. 
 
Şimdi bu malzemeleri nasıl birbirine bağlayacağız ona bakalım.
 

Elektronik Zar Yapımı Bağlantı Şeması

Yukarıda yer alan bağlantı şemasına sağdık kalarak bağlantımızı yapacağız. Aşağıda yer alan Arduino kodları bu bağlantı şeması ile uyumlu olduğundan dolayı buradaki pinleri kullanarak bağlantı yapmamız önemli. Aksi takdirde bu kodlar çalışmayacaktır.
 

Arduino Kodları

#define DEBUG 0

 

// 6 consecutive digital pins for the LEDs

intfirst=2;

intsecond=3;

intthird=4;

intfourth=5;

intfifth=6;

intsixth=7;

 

// pin for the button switch

intbutton=12;

// value to check state of button switch

intpressed=0;

 

voidsetup(){

// set all LED pins to OUTPUT

for(inti=first;i<=sixth;i++){

pinMode(i,OUTPUT);

}

// set buttin pin to INPUT

pinMode(button,INPUT);

 

// initialize random seed by noise from analog pin 0 (should be unconnected)

randomSeed(analogRead(0));

 

// if we're debugging, connect to serial

#ifdef DEBUG

Serial.begin(9600);

#endif

 

}

 

voidbuildUpTension(){

// light LEDs from left to right and back to build up tension

// while waiting for the dice to be thrown

// left to right

for(inti=first;i<=sixth;i++){

if(i!=first){

digitalWrite(i-1,LOW);

}

digitalWrite(i,HIGH);

delay(100);

}

// right to left

for(inti=sixth;i>=first;i--){

if(i!=sixth){

digitalWrite(i+1,LOW);

}

digitalWrite(i,HIGH);

delay(100);

}

}

 

voidshowNumber(intnumber){

digitalWrite(first,HIGH);

if(number>=2){

digitalWrite(second,HIGH);

}

if(number>=3){

digitalWrite(third,HIGH);

}

if(number>=4){

digitalWrite(fourth,HIGH);

}

if(number>=5){

digitalWrite(fifth,HIGH);

}

if(number==6){

digitalWrite(sixth,HIGH);

}

}

 

intthrowDice(){

// get a random number in the range [1,6]

intrandNumber=random(1,7);

 

#ifdef DEBUG

Serial.println(randNumber);

#endif

 

returnrandNumber;

}

 

voidsetAllLEDs(intvalue){

for(inti=first;i<=sixth;i++){

digitalWrite(i,value);

}

}

 

voidloop(){

// if button is pressed - throw the dice

pressed=digitalRead(button);

 

if(pressed==HIGH){

// remove previous number

setAllLEDs(LOW);

 

buildUpTension();

intthrownNumber=throwDice();

showNumber(thrownNumber);

}

 

 
Buradaki kodun temel mantığını anlamaya çalışarak Arduino kodlarının çalışma mantığını da daha sağlıklı kavrayabilirsiniz. Rastgele alınan bir sayı neticesinde if döngüsü ile formülize edilen bu projede, if(eğer) kullanılarak elde edilen sayı neticesinde şu kadar ledi yak denmiştir. Yani böylece elektronik bir zara sahip olmuş oluyoruz. Butona basıldığı anda 1 – 6 arasında led yakarak bize zarın sonucunu veriyor.
 
Elektronik Zar Yapımı projemizin sonuna geldik. Bu ve benzeri yenilikçi projeleri herkesten önce keşfetmek için Motorobit'i takipte kalın!