Tartalomjegyzék:

Arduino Dice Társasjátékokhoz: 4 lépés
Arduino Dice Társasjátékokhoz: 4 lépés

Videó: Arduino Dice Társasjátékokhoz: 4 lépés

Videó: Arduino Dice Társasjátékokhoz: 4 lépés
Videó: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, November
Anonim

Kövesse a szerző további információit:

Elektronikus kocka UTSOURCE -val
Elektronikus kocka UTSOURCE -val
Elektronikus kocka UTSOURCE -val
Elektronikus kocka UTSOURCE -val
Vízszint kapcsoló a D882 használatával
Vízszint kapcsoló a D882 használatával
Vízszint kapcsoló a D882 használatával
Vízszint kapcsoló a D882 használatával
Környezeti valós idejű óra
Környezeti valós idejű óra
Környezeti valós idejű óra
Környezeti valós idejű óra

Névjegy: YouTuber, Drone Manufaturer További információ a RoboCircuits_com -ról »

Lehet, hogy ezeket a kockákat használta LUDO és más társasjátékok közben. Elektronikus rajongóként azonban meg kell változtatnom ezt a tendenciát.

Ezért úgy döntöttem, hogy készítek egy elektronikus kockát. A célra az Arduino -t használtam.

1. lépés: DIY Arduino

Ezt az arduino -t én készítettem egy atmega 328p mikrokontroller segítségével. A nyomtatott áramköri lapot a "jlcpcb.com" weboldalról rendelik meg, mert a legjobb kategóriájú NYÁK -okat kínálják alacsony áron. Aztán forrasztottam az összes alkatrészt, és végül megkaptam ezt az aranyos kinézetű Arduino UNO -t.

Minden séma és fájl a Webiste cikkében található -

2. lépés: A projekt elkészítése

oké!!!!

elég az Arduino -ról. Most készítsük el a projektet. Véletlen értékeknél az arduino ide véletlenszerű függvényét használtam, hogy a gomb megnyomásakor 1 és 6 közötti értékeket kapjak. Tehát nézze meg ezt a teljes videót, hogy megtudja, hogyan készül ez a projekt.

3. lépés: Kód

/* Ezt a kódot a RoboCircuits tervezte

Iratkozz fel a youtube -ra https://youtube.com/robocircuits vagy látogasd meg a robocircuits.com oldalt. Mindig be kell vennünk a könyvtárat*/

#include "LedControl.h"

/* Most szükségünk van egy LedControlra, amellyel dolgozhatunk. ***** Ezek a PIN -kódok valószínűleg nem fognak működni a hardverével ***** A 12 -es érintkező a DataIn -hez van csatlakoztatva a CLK -hez. A 10 -es csatlakozó a LOAD -hoz van. */

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

/ * mindig várunk egy kicsit a kijelző frissítései között */ unsigned long delaytime = 500; hat bájt [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; ötödik bájt [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; negyedik bájt [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; harmadik bájt [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; második bájt [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; egy bájt [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * A MAX72XX energiatakarékos üzemmódban van indításkor, ébresztést kell végeznünk * / lc.shutdown (0, false); / * Állítsa a fényerőt közepes értékekre */ lc.setIntensity (0, 8); / * és törölje a kijelzőt */ lc.clearDisplay (0); }

/* Ez a módszer megjeleníti a karaktereket (legalább 7x7 ledre van szüksége a teljes karakterek megtekintéséhez)* /void one1 () { /* itt vannak a* / /* karakterek adatai delay */ lc.setRow (0, 0, one [0]); lc.setRow (0, 1, egy [1]); lc.setRow (0, 2, egy [2]); lc.setRow (0, 3, egy [3]); lc.setRow (0, 4, egy [4]); lc.setRow (0, 5, egy [5]); lc.setRow (0, 6, egy [6]); lc.setRow (0, 7, egy [7]); késleltetés (késleltetési idő); } void two2 () { / * itt vannak a * / / * karakterek adatai, most egyenként jelenítse meg őket kis késéssel * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, two [1]); lc.setRow (0, 2, kettő [2]); lc.setRow (0, 3, kettő [3]); lc.setRow (0, 4, kettő [4]); lc.setRow (0, 5, kettő [5]); lc.setRow (0, 6, kettő [6]); lc.setRow (0, 7, two [7]); késleltetés (késleltetési idő); } void three3 () { / * itt vannak a * / / * karakterek adatai, most egyenként jelenítse meg őket kis késéssel * / lc.setRow (0, 0, three [0]); lc.setRow (0, 1, három [1]); lc.setRow (0, 2, három [2]); lc.setRow (0, 3, három [3]); lc.setRow (0, 4, három [4]); lc.setRow (0, 5, három [5]); lc.setRow (0, 6, három [6]); lc.setRow (0, 7, három [7]); késleltetés (késleltetési idő); } void four4 () { / * itt vannak a * / / * karakterek adatai, most négyszer négyszer jelenítse meg őket kis késéssel * / lc.setRow (0, 0, four [0]); lc.setRow (0, 1, négy [1]); lc.setRow (0, 2, négy [2]); lc.setRow (0, 3, négy [3]); lc.setRow (0, 4, négy [4]); lc.setRow (0, 5, négy [5]); lc.setRow (0, 6, négy [6]); lc.setRow (0, 7, négy [7]); késleltetés (késleltetési idő); } void five5 () { / * itt vannak a * / / * karakterek adatai, most jelenítse meg őket ötször öten kis késéssel * / lc.setRow (0, 0, öt [0]); lc.setRow (0, 1, öt [1]); lc.setRow (0, 2, öt [2]); lc.setRow (0, 3, öt [3]); lc.setRow (0, 4, öt [4]); lc.setRow (0, 5, öt [5]); lc.setRow (0, 6, öt [6]); lc.setRow (0, 7, öt [7]);

késleltetés (késleltetési idő); } void six6 () { / * itt vannak a * / / * karakterek adatai, most hatszor hatszor jelenítse meg őket kis késéssel * / lc.setRow (0, 0, hat [0]); lc.setRow (0, 1, hat [1]); lc.setRow (0, 2, hat [2]); lc.setRow (0, 3, hat [3]); lc.setRow (0, 4, hat [4]); lc.setRow (0, 5, hat [5]); lc.setRow (0, 6, hat [6]); lc.setRow (0, 7, hat [7]); késleltetés (késleltetési idő); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } kapcsoló (x) {1. eset: egy1 (); szünet; 2. eset: two2 (); szünet; 3. eset: three3 (); szünet; 4. eset: four4 (); szünet; 5. eset: öt5 (); szünet; 6. eset: hat6 (); szünet;} }

4. lépés: Like a megosztás

Iratkozz fel a YouTube -ra -

Mint mi a Facebookon -

Látogasson el -

Ajánlott: