فهرست مطالب:

Arduino Dice برای بازی های رومیزی: 4 مرحله
Arduino Dice برای بازی های رومیزی: 4 مرحله

تصویری: Arduino Dice برای بازی های رومیزی: 4 مرحله

تصویری: Arduino Dice برای بازی های رومیزی: 4 مرحله
تصویری: اموزش بازی کردن تاس رومیزی🎲 در بازیassassincreed valhalla 2024, جولای
Anonim

توسط RoboCircuits_com بیشتر توسط نویسنده دنبال کنید:

تاس های الکترونیکی با UTSOURCE
تاس های الکترونیکی با UTSOURCE
تاس های الکترونیکی با UTSOURCE
تاس های الکترونیکی با UTSOURCE
سوئیچ سطح آب با استفاده از D882
سوئیچ سطح آب با استفاده از D882
سوئیچ سطح آب با استفاده از D882
سوئیچ سطح آب با استفاده از D882
ساعت محیط واقعی زمان
ساعت محیط واقعی زمان
ساعت محیط واقعی زمان
ساعت محیط واقعی زمان

درباره: YouTuber ، Drone Manufaturer بیشتر درباره RoboCircuits_com »

ممکن است هنگام بازی LUDO و دیگر بازی های رومیزی از این تاس استفاده کرده باشید. اما به عنوان یک علاقه مند به الکترونیک ، باید این روند را تغییر دهم.

بنابراین تصمیم گرفتم یک تاس الکترونیکی بسازم. من از آردوینو برای هدفم استفاده کردم.

مرحله 1: DIY Arduino

این آردوینو توسط من با استفاده از میکروکنترلر atmega 328p ساخته شده است. PCB برای این کار از "jlcpcb.com" سفارش داده شده است زیرا بهترین قیمت را در قیمت پایین ارائه می دهد. سپس تمام قطعات را لحیم کردم و در نهایت این آردوینو UNO زیبا به نظر رسید.

همه طرحواره ها و فایلها در مقاله Webiste من - https://robocircuits.com آمده است

مرحله 2: ساخت پروژه

باشه!!!!

در مورد آردوینو به اندازه کافی حالا اجازه دهید پروژه را بسازیم. برای مقادیر تصادفی از تابع تصادفی در arduino ide استفاده کردم تا هر زمان که دکمه را فشار می دهم مقادیر 1 تا 6 را بدست آورم. بنابراین این ویدیوی کامل را ببینید تا بدانید این پروژه چگونه ساخته شده است.

مرحله 3: کد

/* این کد توسط RoboCircuits طراحی شده است

من را در یوتیوب مشترک کنید https://youtube.com/robocircuits یا از robocircuits.com دیدن کنید ما همیشه باید کتابخانه را درج کنیم*/

#شامل "LedControl.h"

/* اکنون برای کار با ما به یک LedControl نیاز داریم. ***** این شماره های پین احتمالاً با سخت افزار شما کار نمی کنند ***** پین 12 به DataIn وصل شده است 11 پین به 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 ، false) ؛ / * روشنایی را روی مقادیر متوسط */ lc.setIntensity (0 ، 8) تنظیم کنید ؛ / * و صفحه را پاک کنید */ lc.clearDisplay (0) ؛ }

/* این روش کاراکترها را نشان می دهد (برای مشاهده کل کاراکترها به حداقل 7x7 led نیاز دارید)* /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 ، دو [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 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 ، چهار [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 ، شش [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]) ؛ تاخیر (زمان تاخیر) ؛ }

حلقه خالی () {int x؛ if (analogRead (A4) == 1000) {x = تصادفی (1 ، 6) ؛ } switch (x) {case 1: one1 ()؛ زنگ تفريح؛ مورد 2: two2 ()؛ زنگ تفريح؛ مورد 3: three3 ()؛ زنگ تفريح؛ مورد 4: Four4 ()؛ زنگ تفريح؛ مورد 5: Five5 ()؛ زنگ تفريح؛ مورد 6: six6 ()؛ زنگ تفريح؛} }

مرحله 4: اشتراک گذاری را دوست داشته باشید

ما را در YouTube مشترک کنید -

مانند ما در فیس بوک -

مراجعه کنید -

توصیه شده: