Turinys:

„Arduino“kauliukai stalo žaidimams: 4 žingsniai
„Arduino“kauliukai stalo žaidimams: 4 žingsniai

Video: „Arduino“kauliukai stalo žaidimams: 4 žingsniai

Video: „Arduino“kauliukai stalo žaidimams: 4 žingsniai
Video: Arduino LED zaidimu kauliukas 2024, Lapkritis
Anonim

Sekite daugiau autoriaus:

Elektroniniai kauliukai su UTSOURCE
Elektroniniai kauliukai su UTSOURCE
Elektroniniai kauliukai su UTSOURCE
Elektroniniai kauliukai su UTSOURCE
Vandens lygio jungiklis naudojant D882
Vandens lygio jungiklis naudojant D882
Vandens lygio jungiklis naudojant D882
Vandens lygio jungiklis naudojant D882
Aplinkos laikrodis realiuoju laiku
Aplinkos laikrodis realiuoju laiku
Aplinkos laikrodis realiuoju laiku
Aplinkos laikrodis realiuoju laiku

Apie: „YouTuber“, „Drone Manufaturer“Daugiau apie „RoboCircuits_com“»

Galbūt jūs panaudojote šiuos kauliukus žaisdami LUDO ir kitus stalo žaidimus. Tačiau būdamas elektronikos entuziastas turiu pakeisti šią tendenciją.

Taigi nusprendžiau padaryti elektroninį kauliuką. Aš naudoju „Arduino“savo tikslui.

1 žingsnis: pasidaryk pats „Arduino“

Šį „arduino“gaminu aš, naudodamas „atmega 328p“mikrovaldiklį. Tam skirtos PCB yra užsakomos iš „jlcpcb.com“, nes jos yra geriausios klasės plokštės už mažą kainą. Tada lituodavau visas dalis ir pagaliau gavau šią mielai atrodančią „Arduino UNO“.

Visos schemos ir failai pateikti mano „Webiste“straipsnyje -

2 žingsnis: projekto sudarymas

Gerai!!!!

Pakanka apie Arduino. Dabar padarykime projektą. Atsitiktinėms reikšmėms naudoju arduino ide atsitiktinę funkciją, kad kiekvieną kartą paspaudus mygtuką gautumėte reikšmes nuo 1 iki 6. Taigi žiūrėkite visą vaizdo įrašą, kad sužinotumėte, kaip šis projektas sukurtas.

3 žingsnis: kodas

/* Šį kodą sukūrė „RoboCircuits“

Užsisakykite mane „YouTube“https://youtube.com/robocircuits arba apsilankykite robocircuits.com Mes visada turime įtraukti biblioteką*/

#include "LedControl.h"

/* Dabar mums reikia „LedControl“, su kuriuo galime dirbti. ***** Šie PIN kodai tikriausiai neveiks su jūsų aparatine įranga ***** 12 kaištis prijungtas prie „DataIn“kaiščio 11 yra prijungtas prie CLK kaiščio 10 yra prijungtas prie „LOAD“. Turime tik vieną MAX72XX. */

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

/ * mes visada šiek tiek laukiame tarp ekrano atnaujinimų */ unsigned long delaytime = 500; šeštas baitas [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; penktas baitas [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; keturis baitai [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; trečias baitas [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; du baitai [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; vienas baitas [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * Įjungus „MAX72XX“veikia energijos taupymo režimas, turime atlikti pažadinimo skambutį * / lc.shutdown (0, false); / * Nustatykite vidutinio ryškumo šviesą */ lc.setIntensity (0, 8); / * ir išvalykite ekraną */ lc.clearDisplay (0); }

/* Taikant šį metodą bus rodomi simboliai (norint pamatyti visus simbolius, reikia mažiausiai 7x7 šviesos diodų)* /void one1 () { /* čia yra simbolių* / /* duomenys, dabar rodomi po vieną uždelsimas */ lc.setRow (0, 0, vienas [0]); lc.setRow (0, 1, vienas [1]); lc.setRow (0, 2, vienas [2]); lc.setRow (0, 3, vienas [3]); lc.setRow (0, 4, vienas [4]); lc.setRow (0, 5, vienas [5]); lc.setRow (0, 6, vienas [6]); lc.setRow (0, 7, vienas [7]); vėlavimas (vėlavimo laikas); } void two2 () { / * čia yra simbolių duomenys * / / * dabar rodomi po vieną su nedideliu vėlavimu * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, du [1]); lc.setRow (0, 2, du [2]); lc.setRow (0, 3, du [3]); lc.setRow (0, 4, du [4]); lc.setRow (0, 5, du [5]); lc.setRow (0, 6, du [6]); lc.setRow (0, 7, du [7]); vėlavimas (vėlavimo laikas); } void three3 () { / * čia yra simbolių duomenys * / / * dabar rodomi po vieną su nedideliu vėlavimu * / lc.setRow (0, 0, trys [0]); lc.setRow (0, 1, trys [1]); lc.setRow (0, 2, trys [2]); lc.setRow (0, 3, trys [3]); lc.setRow (0, 4, trys [4]); lc.setRow (0, 5, trys [5]); lc.setRow (0, 6, trys [6]); lc.setRow (0, 7, trys [7]); vėlavimas (vėlavimo laikas); } void four4 () { / * čia yra simbolių duomenys * / / * dabar rodomi keturi keturi su nedideliu vėlavimu * / lc.setRow (0, 0, four [0]); lc.setRow (0, 1, keturi [1]); lc.setRow (0, 2, keturi [2]); lc.setRow (0, 3, keturi [3]); lc.setRow (0, 4, keturi [4]); lc.setRow (0, 5, keturi [5]); lc.setRow (0, 6, keturi [6]); lc.setRow (0, 7, keturi [7]); vėlavimas (vėlavimo laikas); } void five5 () { / * čia yra simbolių duomenys * / / * dabar juos rodykite penkis po penkių su nedideliu vėlavimu * / lc.setRow (0, 0, five [0]); lc.setRow (0, 1, penki [1]); lc.setRow (0, 2, penki [2]); lc.setRow (0, 3, penki [3]); lc.setRow (0, 4, penki [4]); lc.setRow (0, 5, penki [5]); lc.setRow (0, 6, penki [6]); lc.setRow (0, 7, penki [7]);

vėlavimas (vėlavimo laikas); } void six6 () { / * čia yra simbolių duomenys * / / * dabar rodomi šeši po šešių su nedideliu vėlavimu * / lc.setRow (0, 0, six [0]); lc.setRow (0, 1, šeši [1]); lc.setRow (0, 2, šeši [2]); lc.setRow (0, 3, šeši [3]); lc.setRow (0, 4, šeši [4]); lc.setRow (0, 5, šeši [5]); lc.setRow (0, 6, šeši [6]); lc.setRow (0, 7, šeši [7]); vėlavimas (vėlavimo laikas); }

tuštumos kilpa () {int x; if (analogRead (A4) == 1000) {x = atsitiktinis (1, 6); } jungiklis (x) {atvejis 1: vienas1 (); pertrauka; 2 atvejis: du2 (); pertrauka; 3 atvejis: trys3 (); pertrauka; 4 atvejis: keturi4 (); pertrauka; 5 atvejis: penki5 (); pertrauka; 6 atvejis: šešis6 (); pertrauka;} }

4 žingsnis: patinka „Share“

Prenumeruokite mus „YouTube“-

Kaip ir mes „Facebook“-

Apsilankykite -

Rekomenduojamas: