İçindekiler:

Masa Oyunları için Arduino Zar: 4 Adım
Masa Oyunları için Arduino Zar: 4 Adım

Video: Masa Oyunları için Arduino Zar: 4 Adım

Video: Masa Oyunları için Arduino Zar: 4 Adım
Video: Adım at para kazan hîlesi ( Arapların taktiği 😅 ) 2024, Kasım
Anonim

Yazar RoboCircuits_comYazarın daha fazlasını izleyin:

UTSOURCE ile Elektronik Zar
UTSOURCE ile Elektronik Zar
UTSOURCE ile Elektronik Zar
UTSOURCE ile Elektronik Zar
D882 Kullanan Su Seviye Anahtarı
D882 Kullanan Su Seviye Anahtarı
D882 Kullanan Su Seviye Anahtarı
D882 Kullanan Su Seviye Anahtarı
Ortam Gerçek Zamanlı Saat
Ortam Gerçek Zamanlı Saat
Ortam Gerçek Zamanlı Saat
Ortam Gerçek Zamanlı Saat

Hakkında: YouTuber, Drone Manufaturer RoboCircuits_com Hakkında Daha Fazla Bilgi »

LUDO ve diğer masa oyunları oynarken bu zarları kullanmış olabilirsiniz. Ancak bir elektronik meraklısı olarak bu trendi değiştirmem gerekiyor.

Bu yüzden elektronik bir Zar yapmaya karar verdim. Arduino'yu amacım için kullandım.

Adım 1: Arduino'yu Kendin Yap

Bu arduino benim tarafımdan bir atmega 328p mikrodenetleyici kullanılarak yapılmıştır. Bunun için PCB, "jlcpcb.com" adresinden sipariş edilir, çünkü bunlar düşük fiyatlara sınıfının en iyisi pcb'leri sağlar. Sonra tüm parçaları lehimledim ve sonunda bu sevimli görünen Arduino UNO'yu aldım.

Tüm Şemalar ve Dosyalar Web Sitemin Makalesinde verilmiştir -

Adım 2: Proje Yapımı

Tamam!!!!

Arduino hakkında yeterli. Şimdi projeyi yapalım. Rastgele değerler için, düğmeye her bastığımda 1'den 6'ya kadar değerler almak için arduino ide'de rastgele işlevi kullandım. Bu projenin nasıl yapıldığını öğrenmek için bu videoyu tam olarak izleyin.

3. Adım: Kodlayın

/* Bu kod RoboCircuits tarafından tasarlanmıştır

Bana youtube https://youtube.com/robocircuits adresinden abone olun veya robocircuits.com adresini ziyaret edin Her zaman kütüphaneyi dahil etmek zorundayız*/

#include "LedControl.h"

/* Şimdi çalışmak için bir LedControl'e ihtiyacımız var. ***** Bu pin numaraları muhtemelen donanımınızla çalışmayacaktır ***** Pin 12 DataIn'e bağlı pin 11 CLK'ye pin 10'a bağlı pin 10 LOAD'a bağlı Elimizde tek bir MAX72XX var. */

LedControl lc=LedControl(12, 11, 10, 1);

/* ekran güncellemeleri arasında her zaman biraz bekleriz */ unsigned long delaytime=500; bayt altı[8]={B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; bayt beş[8]={B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; bayt dört[8]={B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; bayt üç[8]={B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; bayt iki[8]={B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; bayt bir[8]={B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup() { /* MAX72XX başlangıçta güç tasarrufu modunda, bir uyandırma çağrısı yapmamız gerekiyor */ lc.shutdown(0, false); /* Parlaklığı orta değerlere ayarlayın */ lc.setIntensity(0, 8); /* ve ekranı temizle */ lc.clearDisplay(0); }

/* Bu metod karakterleri gösterecektir (tüm karakterleri görebilmek için en az 7x7 led gerekir) */ void one1() { /* karakterlerin verisi burada */ /* şimdi küçük harflerle tek tek göster gecikme */ lc.setRow(0, 0, bir[0]); lc.setRow(0, 1, bir[1]); lc.setRow(0, 2, bir[2]); lc.setRow(0, 3, bir[3]); lc.setRow(0, 4, bir[4]); lc.setRow(0, 5, bir[5]); lc.setRow(0, 6, bir[6]); lc.setRow(0, 7, bir[7]); gecikme (gecikme süresi); } void iki2() { /* karakterlerin verileri burada */ /* şimdi onları küçük bir gecikmeyle tek tek görüntüler */ lc.setRow(0, 0, iki[0]); lc.setRow(0, 1, iki[1]); lc.setRow(0, 2, iki[2]); lc.setRow(0, 3, iki[3]); lc.setRow(0, 4, iki[4]); lc.setRow(0, 5, iki[5]); lc.setRow(0, 6, iki[6]); lc.setRow(0, 7, iki[7]); gecikme (gecikme süresi); } void three3() { /* karakterlerin verileri burada */ /* şimdi onları küçük bir gecikmeyle birer birer gösteriyor */ lc.setRow(0, 0, Three[0]); lc.setRow(0, 1, üç[1]); lc.setRow(0, 2, üç[2]); lc.setRow(0, 3, üç[3]); lc.setRow(0, 4, üç[4]); lc.setRow(0, 5, üç[5]); lc.setRow(0, 6, üç[6]); lc.setRow(0, 7, üç[7]); gecikme (gecikme süresi); } void four4() { /* karakterlerin verileri burada */ /* şimdi onları küçük bir gecikmeyle dörde dörde görüntüler */ lc.setRow(0, 0, four[0]); lc.setRow(0, 1, dört[1]); lc.setRow(0, 2, dört[2]); lc.setRow(0, 3, dört[3]); lc.setRow(0, 4, dört[4]); lc.setRow(0, 5, dört[5]); lc.setRow(0, 6, dört[6]); lc.setRow(0, 7, dört[7]); gecikme (gecikme süresi); } void beş5() { /* karakterlerin verileri burada */ /* şimdi onları küçük bir gecikmeyle beşer beşer gösteriyor */ lc.setRow(0, 0, beş[0]); lc.setRow(0, 1, beş[1]); lc.setRow(0, 2, beş[2]); lc.setRow(0, 3, beş[3]); lc.setRow(0, 4, beş[4]); lc.setRow(0, 5, beş[5]); lc.setRow(0, 6, beş[6]); lc.setRow(0, 7, beş[7]);

gecikme (gecikme süresi); } void six6() { /* karakterlerin verileri burada */ /* şimdi onları küçük bir gecikmeyle altıya altı gösteriyor */ lc.setRow(0, 0, altı[0]); lc.setRow(0, 1, altı[1]); lc.setRow(0, 2, altı[2]); lc.setRow(0, 3, altı[3]); lc.setRow(0, 4, altı[4]); lc.setRow(0, 5, altı[5]); lc.setRow(0, 6, altı[6]); lc.setRow(0, 7, altı[7]); gecikme (gecikme süresi); }

geçersiz döngü() { int x; if(analogRead(A4)==1000) { x = rastgele(1, 6); } switch(x){ durum 1: one1(); kırmak; durum 2: iki2(); kırmak; durum 3: üç3(); kırmak; durum 4: four4(); kırmak; durum 5: beş5(); kırmak; durum 6: altı6(); kırmak;} }

4. Adım: Beğen Paylaş

YouTube'da bize abone olun -

Facebook'ta bizi beğenin -

Ziyaret edin -

Önerilen: