Monday, June 8, 2015

Arduino ile Elektronik Zar Yapımı

Merhaba arkadaşlar. Bugün size arduino ile yapabileceğiniz başka bir proje göstermek istiyorum. Elektronik zar.Yalnız ne yazık ki önceden yaptığım için elimde fotoğraf yoktu fakat önceden çektiğim video elimdeydi :D



Videoda gördüğünüz üzere şanssız biriyim :(
O zaman parçaları toplayalım
-Arduino Uno
-Breadboard
-7xLed 
-7x470 Ohm Direnç
-1x10k Direnç
-Momentary Button
-Jumper Kablosu
Ledlerin dizilimi ve pin sıralaması bu şekilde olacak.

Ve diagramımız burada


Devreyi hazırladıktan sonra bu kodu atıyoruz arduinoya.


Arduino Kodumuz
---------------------------


const int ledPins[] = { 2 ,3, 4, 5, 6, 7, 8};
const int ButtonPin = 9;
void setup() {
 pinMode(ledPins[0], OUTPUT);
 pinMode(ledPins[1], OUTPUT);
 pinMode(ledPins[2], OUTPUT);
 pinMode(ledPins[3], OUTPUT);
 pinMode(ledPins[4], OUTPUT);
 pinMode(ledPins[5], OUTPUT);
 pinMode(ledPins[6], OUTPUT);
 pinMode(ButtonPin,INPUT);
}

void loop() {
  if(ReadButton(ButtonPin) == true)
  {
    RollDice();
    }
    delay(1);
}

void ShowDice(int number)
{
  int i;
  for(i = 0; i<7; i++)
  {
    digitalWrite(ledPins[i],LOW);
    }
    switch(number)
    {
      case 1:
       digitalWrite(ledPins[6],HIGH);
       break;
      case 2:
       digitalWrite(ledPins[1],HIGH);        
       digitalWrite(ledPins[4],HIGH);
       break;
      case 3:
       digitalWrite(ledPins[1],HIGH);
       digitalWrite(ledPins[6],HIGH);
       digitalWrite(ledPins[4],HIGH);
       break;
      case 4:
       digitalWrite(ledPins[0],HIGH);
       digitalWrite(ledPins[2],HIGH);
       digitalWrite(ledPins[3],HIGH);
       digitalWrite(ledPins[5],HIGH);
       break; 
      case 5:
       digitalWrite(ledPins[2],HIGH);
       digitalWrite(ledPins[3],HIGH);
       digitalWrite(ledPins[5],HIGH);
       digitalWrite(ledPins[6],HIGH);
       digitalWrite(ledPins[0],HIGH);
       break; 
      case 6: 
       digitalWrite(ledPins[0],HIGH);
       digitalWrite(ledPins[1],HIGH);
       digitalWrite(ledPins[2],HIGH);
       digitalWrite(ledPins[3],HIGH);
       digitalWrite(ledPins[4],HIGH);
       digitalWrite(ledPins[5],HIGH);
       break; 
       }
      }
      void RollDice()
      {
        int dice;
        int i;
        randomSeed(analogRead(0));
        dice = random(1,7);
     for(i=0; i<250; i=i+50)
     {
       ShowDice(1);
       delay(i);
       ShowDice(2);
       delay(i);
       ShowDice(3);
       delay(i);
       ShowDice(4);
       delay(i);
       ShowDice(5);
       delay(i);
       ShowDice(6);
       delay(i);
       }
       ShowDice(dice);
       }
      boolean ReadButton(int ButtonPin)
      {
        int okunan = digitalRead(ButtonPin);
        delay(25);
        if ( okunan == digitalRead(ButtonPin))
        {
          return okunan;
          }
          else
          {
            return false;
            }
            }


---------Kod Burada Bitiyor---------


Evet işte bu kadar. Artık elektronik zarınızı tavla oynarken güvenmediğiniz arkadaşlarınıza karşı kullanabilirsiniz veya bizim gibi Risk oynayın ve arkadaş kaybedin :( . Bu arada lütfen projeler ve blog hakkında yorum yazın.Dersleri ve bloğumu görüşleriniz doğrultusunda geliştirmek beni mutlu eder. :)



















No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...