İçeriğe Geç

Sihirli 8 Top Oyunu

01 Nov 2023
Magic8Ball Project

Sihirli 8 Top Oyunu

İçindekiler Tablosu

    Kendinizi kararsız hissediyor musunuz, yoksa sizi gece boyunca uyanık tutan bir soruya cevap mı arıyorsunuz? İşte eğlenceli bir çözüm: PicoBricks'in 0.96 inç 128×64 piksel I2C OLED ekranını kullanarak Sihirli 8 Top oyununu. Sihirli 8 Top, çeşitli sorulara genellikle "evet" veya "hayır" şeklinde cevaplar sunan eğlenceli bir oyundur. Bu sefer, Sihirli 8 Top oyunu, bu gizemli dünyayı hayata geçiren OLED ekranlar sayesinde her zamankinden daha havalı bir yapıda.

    OLED ekran, yapay bir ışık kaynağı olarak kullanılabilir. Bu, ekrandaki karakterleri büyütmenize ve onları istediğiniz herhangi bir düzleme yansıtmanıza olanak tanır. Sorularınıza anında cevaplar sunacak veya merakınızın heyecanını arttıracak yapı da bu teknolojinin arkasında gizli.


    Sihirli 8 Top'a Sor

    Detaylar ve Algoritma

    Bu Python kodu OLED ekranda sürekli olarak "Magic8PicoBricks" ifadesini gösterir ve butona basılmasını bekler. Butona basıldığında, önceden tanımlanmış bir listeden rastgele bir yanıt seçer ve LED aktivasyonu ile bir geri sayım gösterir. Seçilen yanıt, ekranı bir sonraki soru için temizlemeden önce 3 saniye boyunca görüntülenir. Bu kod, Sihirli 8 Top'un eğlencesini dijital bir formatta yeniden yaratır ve kullanıcı sorularına hızlı ve nostaljik cevaplar sunar. İşte kaderi gösteren oyunun yapım aşamaları :)

    Gerekli Malzemeler

    1x PicoBricks

    Kullanılacak Modüller


    PicoBricks IDE Kodları


    PicoBricks'in MicroBlock Kodları

    MicroPython Kodları

    from time import sleep
    from machine import Pin
    from machine import I2C
    from picobricks import SSD1306_I2C
    import machine
    import time
    i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000)
    oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
    pin_button = machine.Pin(10, machine.Pin.IN)
    import random
    pin_led = machine.Pin(7, machine.Pin.OUT)
    oled.fill(0)
    blank = " "
    situation = "It is certain. It is decidedly so. Without a doubt. Yes definitely. You may rely on it. As I see it, yes. Most likely. Outlook good. Yes. Signs point to yes. Reply hazy, try again. Ask again later. Better not tell you now. Cannot predict now. Concentrate and ask again. Don't count on it. My reply is no. My sources say no. Outlook not so good. Very doubtful.".split(".")
    sentence = " "
    while True:
        oled.text("{}".format("Magic8PicoBricks"), 0, 30)
        oled.show()
        if (pin_button.value()) == (1):
            sentence = situation[random.randint(0, (len(situation)) - (1))]        oled.fill(0)
            oled.show()
            pin_led.on()
            for i in range((4)):
                oled.fill(0)
                oled.text("{}".format((4) - i), 60, 30)
                oled.show()
                time.sleep((1))
            oled.fill(0)
            if (len(sentence)) >= (16):
                sentence_array = sentence.split(blank)
                for i in range((1) + (len(sentence_array))):
                    oled.text("{}".format(sentence_array[i - (1)]), 32, (10) * (i - (1)))
                    oled.show()
            else:
                oled.fill(0)
                oled.text("{}".format(sentence), 0, 25)
                oled.show()
            time.sleep((3))
            pin_led.off()
            oled.fill(0)
            oled.show()

    Arduino C Kodları

    
    //define the library
    #include 
    #include “ACROBOTIC_SSD1306.h”
    #define BUTTON_PIN 10
    #define DHTPIN 11
     
    const char* sentences[] = {
      “It is certain.”,
      “It is decidedly so.”,
      “Without a doubt.”,
      “Yes definitely.”,
      “You may rely on it.”,
      “As I see it, yes.”,
      “Most likely.”,
      “Outlook good.”,
      “Yes.”,
      “Signs point to yes.”,
      “Reply hazy, try again.”,
      “Ask again later.”,
      “Better not tell you now.”,
      “Cannot predict now.”,
      “Concentrate and ask again.”,
      “Don’t count on it.”,
      “My reply is no.”,
      “My sources say no.”,
      “Outlook not so good.”,
      “Very doubtful.”
    };
     
    const int numSentences = sizeof(sentences) / sizeof(sentences[0]);
     
    void setup() {
      //define dht sensor and Oled screen
      pinMode(BUTTON_PIN, INPUT);
      Wire.begin();
      oled.init();
      oled.clearDisplay();
      Serial.begin(9600);
    }
     
    void loop() {
      oled.setTextXY(3, 0);
      oled.putString(“Magic8PicoBricks”);
     
      if (digitalRead(BUTTON_PIN) == 1) {
        oled.clearDisplay();
        for (int i = 3; i > 0; i–) {
          oled.clearDisplay();
          oled.setTextXY(3, 7);
          oled.putString(String(i));
          delay(2000);
          oled.clearDisplay();
        }
     
        oled.clearDisplay();
        int randomIndex = random(0, numSentences);
        oled.setTextXY(0, 0);
        oled.putString(sentences[randomIndex]);
        delay(3000);
        oled.clearDisplay();
      }
    }
    Önceki Gönderi
    Sıradaki Gönderi

    Abone olduğun için teşekkürler!

    Bu e-posta kaydedildi!

    Görünümü satın alın
    Seçenekleri Seçin

    Seçeneği Düzenle

    Stok Bildirimi

    Karşılaştır

    Ürün Stok KoduDeğerlendirmeAçıklama Kategori Uygunluk Ürün Tipi Diğer Detaylar
    this is just a warning
    Giriş Yap
    Alışveriş Sepeti
    0 Ürünler
    Same Day Shipping No Extra Costs
    Easy Returns Guarantee Return with Ease
    Secure Checkout Secure Payment