Мазмұны:

Үстел ойындарына арналған Arduino Dice: 4 қадам
Үстел ойындарына арналған Arduino Dice: 4 қадам

Бейне: Үстел ойындарына арналған Arduino Dice: 4 қадам

Бейне: Үстел ойындарына арналған Arduino Dice: 4 қадам
Бейне: Үстел ойындары 2024, Қараша
Anonim

RoboCircuits_com авторы Толығырақ:

UTSOURCE көмегімен электронды сүйектер
UTSOURCE көмегімен электронды сүйектер
UTSOURCE көмегімен электронды сүйектер
UTSOURCE көмегімен электронды сүйектер
D882 көмегімен су деңгейін өзгерту
D882 көмегімен су деңгейін өзгерту
D882 көмегімен су деңгейін өзгерту
D882 көмегімен су деңгейін өзгерту
Қоршаған ортадағы нақты уақыт сағаты
Қоршаған ортадағы нақты уақыт сағаты
Қоршаған ортадағы нақты уақыт сағаты
Қоршаған ортадағы нақты уақыт сағаты

Туралы: YouTuber, Drone Manufaturer RoboCircuits_com туралы толығырақ »

Сіз бұл сүйектерді LUDO және басқа үстел ойындары кезінде қолданған боларсыз. Бірақ электронды энтузиаст ретінде мен бұл үрдісті өзгертуім керек.

Сондықтан мен электронды сүйек жасауды шештім. Мен Arduino -ды өз мақсатым үшін қолдандым.

1 -қадам: DIY Arduino

Бұл arduino менде атмега 328p микроконтроллері арқылы жасалған. Бұл үшін ПХД «jlcpcb.com» сайтынан тапсырыс берілген, себебі олар төмен бағамен компьютерлерді жоғары сапалы ұсынады. Содан кейін мен барлық бөлшектерді дәнекерлеп, ақырында осы сүйкімді көрінетін Arduino UNO алдым.

Барлық схемалар мен файлдар менің Webiste мақаласында берілген -

2 -қадам: Жобаны құру

Жақсы!!!!

Arduino туралы жеткілікті. Енді жобаны жасайық. Кездейсоқ мәндер үшін мен түймені басқан сайын 1 -ден 6 -ға дейінгі мәндерді алу үшін arduino ide -де кездейсоқ функцияны қолдандым. Бұл жобаның қалай жасалғанын білу үшін осы толық бейнені қараңыз.

3 -қадам: код

/* Бұл кодты RoboCircuits жасаған

Мені youtube -те жазыңыз https://youtube.com/robocircuits немесе robocircuits.com сайтына кіріңіз. Біз әрқашан кітапхананы қосуға тиіспіз*/

#«LedControl.h» қосыңыз

/* Енді жұмыс істеу үшін бізге LedControl қажет. ***** Бұл түйреуіш сандар сіздің аппараттық құралдарыңызбен жұмыс істемеуі мүмкін ***** 12 -түйін DataIn -ге қосылады, CLK -пин -10 -ға қосылады, LOAD -қа қосылады Бізде тек MAX72XX бар. */

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

/ * біз әрқашан дисплейдің жаңартулары арасында біраз күтеміз */ белгісіз ұзақ кідіріс уақыты = 500; алты байт [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; бес байт [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; төрт байт [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; үш байт [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; екі байт [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; байт бір [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX іске қосылған кезде қуатты үнемдеу режимінде, біз ояту қоңырауын шалуымыз керек * / lc.shutdown (0, жалған); / * Жарықтықты орташа мәнге қойыңыз */ lc.setIntensity (0, 8); / * және дисплейді тазарту */ lc.clearDisplay (0); }

/* Бұл әдіс таңбаларды көрсетеді (таңбаларды толық көру үшін сізге кемінде 7x7 жарық диодтары қажет)* /void one1 () { /* мұнда* / /* таңбаларының деректері берілген кешіктіру */ lc.setRow (0, 0, бір [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]); кешігу (кідіріс уақыты); } void two2 () { / * - бұл * / / * таңбаларының деректері енді оларды бірте -бірте кішігірім кідіріспен көрсетеді * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, екі [1]); lc.setRow (0, 2, two [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]); кешігу (кідіріс уақыты); } void three3 () { / * - бұл * / / * таңбаларына арналған деректер, оларды * / lc.setRow (0, 0, үш [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]); кешігу (кідіріс уақыты); } void four4 () { / * - бұл * / / * таңбаларының деректері, оларды * / lc.setRow (0, 0, төрт [0]) кішігірім кідіріспен төрт -төрт көрсетеді; lc.setRow (0, 1, төрт [1]); lc.setRow (0, 2, four [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]); кешігу (кідіріс уақыты); } void five5 () { / * - бұл * / / * таңбаларына арналған деректер, оларды * / lc.setRow (0, 0, бес [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]);

кешігу (кідіріс уақыты); } void six6 () { / * - бұл * / / * таңбаларына арналған деректер, оларды аздап кешіктіріп * / lc.setRow (0, 0, six [0]) алтыдан алтыға дейін көрсетеді; lc.setRow (0, 1, six [1]); lc.setRow (0, 2, six [2]); lc.setRow (0, 3, алты [3]); lc.setRow (0, 4, six [4]); lc.setRow (0, 5, алты [5]); lc.setRow (0, 6, алты [6]); lc.setRow (0, 7, алты [7]); кешігу (кідіріс уақыты); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } қосқыш (x) {1 -жағдай: бір1 (); үзіліс; 2 -жағдай: two2 (); үзіліс; 3 жағдай: үш (3) (); үзіліс; 4 -жағдай: four4 (); үзіліс; 5 -жағдай: бес (5) (); үзіліс; 6 -жағдай: алты6 (); үзіліс;}}

4 -қадам: Бөлісуді ұнатыңыз

Бізге YouTube -те жазылыңыз -

Біз сияқты Facebook -те -

Келіңіз -

Ұсынылған: