İçindekiler:
- Adım 1: Devre
- 2. Adım: Rulet Resmini Döndür
- 3. Adım: Bip sesi
- Adım 4: Düğmeye Basıldığında Başlatın
- Adım 5: Program
Video: Obniz ile Grafik Rulet: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bir grafik rulet yaptım. Düğmeye basarsanız rulet dönmeye başlar. Tekrar basarsanız, rulet dönmeyi durdurur ve bip sesi çıkarır!
Adım 1: Devre
Yalnızca kablolu bir hoparlör ve bir düğme kullanıyoruz.
Kabloluların pin numaraları program üzerinde yazılıdır.
buton = obniz.wired("Düğme", {sinyal:6, gnd:7 });hoparlör = obniz.wired("Hoparlör", {sinyal:0, gnd: 1});
2. Adım: Rulet Resmini Döndür
HTML'de "CSS dönüşümü" kullanabilirsiniz. Örneğin, bu, görüntüyü 90 derece döndürmenin kodudur.
document.getElementById("rulet").style = "dönüştür:döndür(90deg);";
Yavaş döndürmeyi başlatmak ve durdurmak için kare başına döndürme derecesi için bir var hızı ekleyin.
hız = 0 olsun; derece = 0 olsun; fonksiyon döndürme(){ derece += hız; document.getElementById("rulet").style = "dönüştür:döndür("+derece+"derece);";
}
setInterval(döndür, 10);
3. Adım: Bip sesi
Rulette değişiklik olmaması için bip sesi çıkarmak ister misiniz? Bununla, 440Hz 10ms'de bip sesi verebilirsiniz.
hoparlör.oynat(440); bekle obniz.wait(10); hoparlör.durdur();
Bu, rulet no değişikliğini nasıl öğreneceğinizdir.
if(Math.floor((derece + hız) / (360/7.0)) - Math.floor(derece / (360/7.0)) >= 1){ onRouletteChange(); }
Yani, bu döndürme ve bip sesi kodudur.
hız = 0 olsun; derece = 0 olsun; fonksiyon döndürme(){ //değişken değer if(Math.floor((derece + hız) / (360/7.0)) - Math.floor(derece / (360/7.0)) >= 1){ onRouletteChange(); } derece += hız; document.getElementById("rulet").style = "dönüştür:döndür("+derece+"derece);";
}
setInterval(döndür, 10);
async işlevi onRouletteChange(){
if(!speaker){return;}speaker.play(440); bekle obniz.wait(10); hoparlör.durdur(); }
Adım 4: Düğmeye Basıldığında Başlatın
Düğme durumunu bilmek için var buttonState ekleyin ve mevcut düğme durumunun değerini ayarlayın.
button.onchange = fonksiyon(basıldı){ buttonState = basıldı; };
Ayrıca mevcut rulet durumu için var fazı ekleyin. Faz da bunlardan biri olarak ayarlanır.
const PHASE_WAIT_FOR_START = 0; const PHASE_ROTATE = 1; const PHASE_STOPPING = 2; const PHASE_STOPPED = 3;
Örneğin, aşama PHASE_WAIT_FOR_START olduğunda ve bir sonraki aşamaya geçmek istediğinizde.
if(faz == PHASE_WAIT_FOR_START){ hız = 0; if(buttonState){ faz = PHASE_ROTATE; } }
Kuralı hızlandırmak için var speed öğesini değiştirin.
if(faz == PHASE_ROTATE){ hız = hız+0.5; }
Kuralı hızlandırmak için var speed öğesini değiştirin.
:
if(faz == FAZ_DURDURMA){ hız = hız-0.2; }
Bunlar ruletin bileşenleridir. Hadi yapalım!
Adım 5: Program
Program için lütfen buraya bakın
Önerilen:
DIY 37 Ledli Arduino Rulet Oyunu: 3 Adım (Resimli)
DIY 37 Led Arduino Rulet Oyunu: Rulet, adını Fransızca küçük tekerlek anlamına gelen kelimeden alan bir kumarhane oyunudur
CircuitPython ile Çift Renkli Çubuk Grafik: 5 Adım (Resimlerle)
CircuitPython ile Çift Renkli Çubuk Grafiği: Bu LED çubuk grafiğini Pimoroni sitesinde gördüm ve covid-19 karantinası uygularken bunun ucuz ve eğlenceli bir proje olabileceğini düşündüm. Her birinde kırmızı ve yeşil olmak üzere 24 LED içerir. 12 segment, yani teoride r'yi gösterebilmelisiniz
Hava Durumu İstasyonu: ESP8266, Derin Uyku, SQL, Flask&Plotly ile Grafik Oluşturma: 3 Adım
Hava Durumu İstasyonu: ESP8266 Derin Uyku, SQL, Flask&Plotly ile Grafik Oluşturma: Balkonunuzdaki sıcaklık, nem veya ışık yoğunluğunu bilmek eğlenceli olur mu? Yapacağımı biliyorum. Bu tür verileri toplamak için basit bir hava durumu istasyonu yaptım. Aşağıdaki bölümler, bir tane oluşturmak için attığım adımlardır. Haydi başlayalım
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
ESP32 ile PWM - Arduino IDE ile ESP 32'de PWM ile LED Karartma: 6 Adım
ESP32 ile PWM | Arduino IDE ile ESP 32'de PWM ile LED Karartma: Bu talimatta Arduino IDE & PWM temel olarak herhangi bir MCU'dan analog çıkış üretmek için kullanılır ve bu analog çıkış 0V ile 3.3V (esp32 durumunda) arasında herhangi bir şey olabilir & itibaren