Мазмуну:

Үстөл оюндары үчүн Arduino Dice: 4 кадам
Үстөл оюндары үчүн Arduino Dice: 4 кадам

Video: Үстөл оюндары үчүн Arduino Dice: 4 кадам

Video: Үстөл оюндары үчүн Arduino Dice: 4 кадам
Video: 12 Креативных Костюмов для Хэллоуина, Которые Вам Точно Понравятся 2024, Ноябрь
Anonim

By RoboCircuits_comFollow Дагы автордун:

UTSOURCE менен Электрондук Dice
UTSOURCE менен Электрондук Dice
UTSOURCE менен Электрондук Dice
UTSOURCE менен Электрондук Dice
Суу деңгээлин которуу D882
Суу деңгээлин которуу D882
Суу деңгээлин которуу D882
Суу деңгээлин которуу D882
Көшүү реалдуу убакыт сааты
Көшүү реалдуу убакыт сааты
Көшүү реалдуу убакыт сааты
Көшүү реалдуу убакыт сааты

Жөнүндө: YouTuber, Drone Manufaturer RoboCircuits_com жөнүндө көбүрөөк маалымат »

Сиз LUDO жана башка стол оюндарын ойноп жатып, бул чүкөлөрдү колдонсоңуз болот. Бирок электрондук энтузиаст болуп, мен бул трендди өзгөртүүгө туура келет.

Ошентип, электрондук Dice жасоону чечтим. Мен Arduino программасын өз максатыма колдондум.

1 -кадам: DIY Arduino

Бул ардуино мен тарабынан атмега 328p микроконтроллери аркылуу жасалган. Бул үчүн PCB "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, false); / * Жарыкты орто мааниге коюңуз */ lc.setIntensity (0, 8); / * жана дисплейди тазалоо */ lc.clearDisplay (0); }

/* Бул ыкма белгилерди көрсөтөт (тамгаларды толугу менен көрүү үчүн кеминде 7х7 лед керек)* /void one1 () { /* бул жерде* / /* символдорунун маалыматы бар, аларды кичине менен бирден көрсөтүү кечиктирүү */ lc.setRow (0, 0, бир [0]); lc.setRow (0, 1, бир [1]); lc.setRow (0, 2, one [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, two [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, four [0]); lc.setRow (0, 1, four [1]); lc.setRow (0, 2, four [2]); lc.setRow (0, 3, four [3]); lc.setRow (0, 4, four [4]); lc.setRow (0, 5, four [5]); lc.setRow (0, 6, four [6]); lc.setRow (0, 7, four [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, six [3]); lc.setRow (0, 4, six [4]); lc.setRow (0, 5, six [5]); lc.setRow (0, 6, six [6]); lc.setRow (0, 7, six [7]); кечигүү (кечигүү убактысы); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } switch (x) {case 1: one1 (); тыныгуу; case 2: two2 (); тыныгуу; Case 3: three3 (); тыныгуу; учурда 4: four4 (); тыныгуу; иш 5: five5 (); тыныгуу; иши 6: six6 (); тыныгуу;}}

4 -кадам: Бөлүшүү сыяктуу

Бизге YouTube аркылуу жазылыңыз -

Бизге окшош Фейсбукта -

Visit -

Сунушталууда: