Arduino

Arduino İle Sayı Tahmin Oyunu

Merhaba arkadaşlar bu yazımda arduino ile binary sayı tahmin oyunu yapmayı göstereceğim. Sayı tahmin oyununun temel mantığı 6 tane 6 bitlik binary sayıdan hangisinin en büyük olduğunu dip switch yardımıyla bulmak.

abi öncelikle 6 adet desimal sayı üretiyoruz ( 6 bitlik sayı olacağı için 0,63 aralığında). Daha sonra bu sayıları binary sisteme çevireceğiz ve ledlerde bu sayıları göstereceğiz. Ardından kullanıcının sayıları tahmin etmesi için dip switchin anahtarlarından birini on durumuna getirmesini bekleyeceğiz. Eğer kullanıcı doğru tahmin etmiş ise yeşil led yanlış tahmin etmiş ise kırmızı led yanacak.

 

Arduino İle Binary Sayı Tahmin Oyunu

Ödev aşağıdaki şekilde isteniyor.

Bu projenizde aşağıda kuralları verilen oyunu gerçekleyecek bir Arduino programı (sketch) yazmanız beklenmektedir.

 

  • Oyun A1 pinine bağlı geçici anahtara (pushbutton) basılması durumunda başlayacaktır. (Analog pinler de mikrodenetleyiciye dijital giriş sağlamak için kullanılabilir.)

 

  • Oyun başlayınca mikrodenetleyici tarafından 6 adet 6 bitlik rastgele tam sayı üretilecektir.

 

Arduino programlarında rastgele sayı üretimi için kullanılabilecek 2 fonksiyon vardır. Bunlardan birincisinin adı randomSeed, ikincisinin adı ise random dır. randomSeed fonksiyonu kendisine parametre olarak aldığı çekirdek değer sayesinde random fonksiyonunun her çağrılışında farklı bir rastgele sayı üretimini mümkün kılmaktadır.

 

Genellikle randomSeed setup, random ise loop içerisinde yer alır.

 

randomSeed(analogRead(A0)); deyimi randomSeed fonksiyonunun tipik bir kullanım şeklidir.

 

random(x,y) ise x (dâhil) ile y (hariç) aralığında rastgele bir tam sayı üretimi için kullanılır.

 

  • Mikrodenetleyici daha sonra üretilen bu 6 bitlik sayıların her birinin ikili karşılığını bulacak ve bu sayılar 2-7 aralığındaki dijital pinlere bağlı led’lerle temsil Örneğin rastgele sayılardan biri 58 iken (111010) 2, 3, 4 ve 6 numaralı dijital pinlere bağlı led’ler yanıyorken, 5 ve 7 numaralı dijital pinlere bağlı led’ler sönüyor olmalıdır. Her bir sayıyı temsil eden led kombinasyonu 5 saniye süresince aktif olmalıdır. Sonrasında tüm led’ler 1 saniye süresince söndürülmelidir ve aynı işlem 6 sayının her biri için tekrar edilmelidir.

 

 

  • Kullanıcı da bu esnada led’lerle temsil edilen sayılardan hangisinin en büyük olduğunu belirlemeye çalışmalıdır.

 

  • Kullanıcı daha sonra 8-13 aralığındaki dijital pinlere bağlı kalıcı bir anahtar grubunun 6 pozisyonunu kullanarak takip ettiği sayılardan en büyüğünün sıra numarasını ilgili kalıcı anahtar üzerinden mikrodenetleyiciye Örneğin 6 sayıdan en büyüğünün 3. sayı olduğunu düşünüyorsa 10 numaralı kalıcı anahtarı ON konumuna almalıdır. (Oyun başlatılmadan önce tüm kalıcı anahtarların OFF durumunda olduğuna dikkat edilmelidir.)

 

  • Kullanıcının tahmini doğru ise A2 pinine bağlı yeşil led, doğru değilse A3 pinine bağlı kırmızı led bir saniye süresince yanmalıdır ve sönmelidir.

 

  • Oyun kullanıcı A1 pinine bağlı geçici anahtara bastığında yeni rastgele sayılarla tekrar başlamalıdır. Oyun başlamadan önce tüm led’ler sönük olmalıdır.

 

Sayı Tahmin Oyunu Kodlar

Ödevimiz bu kadardı arkadaşlar.

Takıldığınız yerlerde Sitemde bulunan telefon numaramdan ulaşabilirsiniz.

 

Yazar Hakkında

vehbiakdogan

Atatürk Üniversitesi Bilgisayar müh. Okuyan Ayrıca Web Programlama ve Mobil Programlama İle İlgilenen Sıradan Birisi