Mündəricat:

Masa Oyunları üçün Arduino Zar: 4 addım
Masa Oyunları üçün Arduino Zar: 4 addım

Video: Masa Oyunları üçün Arduino Zar: 4 addım

Video: Masa Oyunları üçün Arduino Zar: 4 addım
Video: ZEKA OYUNU😂❤️ #keşfet #shorts 2024, Noyabr
Anonim

Müəllif tərəfindən daha çox izləyin:

UTSOURCE ilə Elektron Zar
UTSOURCE ilə Elektron Zar
UTSOURCE ilə Elektron Zar
UTSOURCE ilə Elektron Zar
D882 istifadə edərək su səviyyəsi açarı
D882 istifadə edərək su səviyyəsi açarı
D882 istifadə edərək su səviyyəsi açarı
D882 istifadə edərək su səviyyəsi açarı
Ətraf mühitin real vaxt saatı
Ətraf mühitin real vaxt saatı
Ətraf mühitin real vaxt saatı
Ətraf mühitin real vaxt saatı

Haqqında: YouTuber, Drone Manufaturer RoboCircuits_com haqqında daha çox »

LUDO və digər stolüstü oyunları oynayarkən bu zarlardan istifadə etmiş ola bilərsiniz. Ancaq bir elektron həvəskar olaraq bu tendensiyanı dəyişdirməliyəm.

Buna görə elektron bir Zar hazırlamaq qərarına gəldim. Arduinodan məqsədim üçün istifadə etdim.

Addım 1: DIY Arduino

Bu arduino mənim tərəfimdən bir atmega 328p mikro nəzarətçi istifadə edərək hazırlanmışdır. Bunun üçün PCB "jlcpcb.com" dan sifariş edilir, çünki aşağı qiymətlərlə ən yaxşı sinif pcb təmin edir. Sonra bütün hissələri lehimlədim və nəhayət bu sevimli görünüşlü Arduino UNO aldım.

Bütün Şemalar və Fayllar Webiste məqaləmdə verilmişdir -

Addım 2: Layihənin hazırlanması

tamam !!!!

Arduino haqqında kifayət qədər məlumat var. İndi gəlin layihəni hazırlayaq. Təsadüfi dəyərlər üçün düyməni hər basdığımda 1 -dən 6 -a qədər dəyərlər əldə etmək üçün arduino ide -də təsadüfi funksiyadan istifadə etdim. Bu layihənin necə edildiyini bilmək üçün bu tam videoya baxın.

Addım 3: Kod

/* Bu kod RoboCircuits tərəfindən hazırlanmışdır

Məni youtube -da https://youtube.com/robocircuits səhifəsinə yazın və ya robocircuits.com saytına daxil olun Həmişə kitabxananı daxil etməliyik*/

#"LedControl.h" daxil edin

/* İndi işləmək üçün bir LedControl lazımdır. ***** Bu pin nömrələri, ehtimal ki, aparatınızla işləməyəcək ***** pin 12 DataIn pininə bağlıdır CLK pininə bağlanmışdır 10 Yüklə bağlıdır Yalnız bir MAX72XX var. */

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

/ * ekranın yeniləmələri arasında hər zaman bir az gözləyərik */ işarəsiz uzun gecikmə müddəti = 500; bayt altı [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; beş bayt [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; bayt dörd [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; üç bayt [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; iki bayt [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; bayt bir [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX başlanğıcda enerji qənaət rejimindədir, oyanış çağırışı etməliyik * / lc.shutdown (0, yalan); / * Parlaqlığı orta dəyərlərə təyin edin */ lc.setIntensity (0, 8); / * və ekranı silin */ lc.clearDisplay (0); }

/* Bu üsul simvolları göstərəcək (bütün simvolları görmək üçün ən az 7x7 ledə ehtiyacınız var)* /void one1 () { /* burada* / /* simvollarına aid məlumatlar var gecikmə */ 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]); gecikmə (gecikmə vaxtı); } void iki 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]); gecikmə (gecikmə vaxtı); } void three3 () { / * burada * / / * simvollarına aid məlumatlar var * / lc.setRow (0, 0, üç [0]) kiçik bir gecikmə ilə onları bir -bir göstərin; 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]); gecikmə (gecikmə vaxtı); } void four4 () { / * burada * / / * simvollarına aid məlumatlar var, onları kiçik bir gecikmə ilə dörddən dördə göstərin * / lc.setRow (0, 0, four [0]); lc.setRow (0, 1, dörd [1]); lc.setRow (0, 2, dörd [2]); lc.setRow (0, 3, dörd [3]); lc.setRow (0, 4, dörd [4]); lc.setRow (0, 5, dörd [5]); lc.setRow (0, 6, dörd [6]); lc.setRow (0, 7, dörd [7]); gecikmə (gecikmə vaxtı); } void five5 () { / * burada * / / * simvollarına aid məlumatlar var * / lc.setRow (0, 0, beş [0]) kiçik bir gecikmə ilə onları beşdən beşə göstərin; 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]);

gecikmə (gecikmə vaxtı); } void six6 () { / * burada * / / * simvollarına aid məlumatlar var, onları kiçik bir gecikmə ilə altı ilə altıya göstərin * / lc.setRow (0, 0, six [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]); gecikmə (gecikmə vaxtı); }

boşluq döngəsi () {int x; əgər (analogRead (A4) == 1000) {x = təsadüfi (1, 6); } keçid (x) {hal 1: one1 (); fasilə; hal 2: two2 (); fasilə; iş 3: üç (3) (); fasilə; iş 4: four4 (); fasilə; dava 5: beş5 (); fasilə; iş 6: altı6 (); fasilə;} }

Addım 4: Paylaşımı bəyənin

YouTube -da bizə abunə olun -

Facebookda bizim kimi -

Ziyarət edin -

Tövsiyə: