Innehållsförteckning:

Arduino -tärningar för brädspel: 4 steg
Arduino -tärningar för brädspel: 4 steg

Video: Arduino -tärningar för brädspel: 4 steg

Video: Arduino -tärningar för brädspel: 4 steg
Video: Don't Do This At Home 2024, Juli
Anonim

Av RoboCircuits_comFölj mer av författaren:

Elektroniska tärningar med UTSOURCE
Elektroniska tärningar med UTSOURCE
Elektroniska tärningar med UTSOURCE
Elektroniska tärningar med UTSOURCE
Vattennivåbrytare med D882
Vattennivåbrytare med D882
Vattennivåbrytare med D882
Vattennivåbrytare med D882
Ambient realtidsklocka
Ambient realtidsklocka
Ambient realtidsklocka
Ambient realtidsklocka

Om: YouTuber, Drone Manufaturer Mer om RoboCircuits_com »

Du kanske har använt dessa tärningar när du spelade LUDO och andra brädspel. Men som elektronisk entusiast måste jag ändra denna trend.

Så jag bestämde mig för att göra en elektronisk tärning. Jag använde Arduino för mitt ändamål.

Steg 1: DIY Arduino

Denna arduino är gjord av mig med en atmega 328p mikrokontroller. Kretskortet för detta är beställt från "jlcpcb.com" eftersom de ger bästa kretskort i klassen till låga priser. Sedan lödde jag alla delar och fick äntligen den här söta Arduino UNO.

Alla scheman och filer finns i artikeln på min webbsida -

Steg 2: Tillverkning av projekt

Okej!!!!

nog om Arduino. Nu kan vi göra projektet. För slumpmässiga värden använde jag slumpmässig funktion i arduino ide för att få värden från 1 till 6 när jag trycker på knappen. Så titta på den här hela videon för att veta hur detta projekt är gjort.

Steg 3: Kod

/* Denna kod är designad av RoboCircuits

Prenumerera på mig på youtube https://youtube.com/robocircuits eller besök robocircuits.com Vi måste alltid inkludera biblioteket*/

#inkludera "LedControl.h"

/* Nu behöver vi en LedControl att arbeta med. ***** Dessa pin -nummer fungerar förmodligen inte med din maskinvara ***** pin 12 är ansluten till DataIn pin 11 är ansluten till CLK pin 10 är ansluten till LOAD Vi har bara en enda MAX72XX. */

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

/ * vi väntar alltid lite mellan uppdateringar av displayen */ osignerad lång fördröjning = 500; byte sex [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; byte fem [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; byte fyra [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byte tre [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; byte två [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; byte one [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX är i energisparläge vid start, vi måste göra ett väckningssamtal * / lc.stängning (0, falskt); / * Ställ in ljusstyrkan till ett medelvärde */ lc.setIntensity (0, 8); / * och rensa displayen */ lc.clearDisplay (0); }

/* Denna metod visar tecknen (du behöver minst 7x7 lysdioder för att se hela tecknen)* /void one1 () { /* här är data för tecknen* / /* visa dem nu en efter en med en liten fördröjning */ lc.setRow (0, 0, en [0]); lc.setRow (0, 1, en [1]); lc.setRow (0, 2, en [2]); lc.setRow (0, 3, en [3]); lc.setRow (0, 4, en [4]); lc.setRow (0, 5, en [5]); lc.setRow (0, 6, en [6]); lc.setRow (0, 7, en [7]); fördröjning (fördröjningstid); } void two2 () { / * här är data för tecknen * / / * visa dem nu en efter en med en liten fördröjning * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, två [1]); lc.setRow (0, 2, två [2]); lc.setRow (0, 3, två [3]); lc.setRow (0, 4, två [4]); lc.setRow (0, 5, två [5]); lc.setRow (0, 6, två [6]); lc.setRow (0, 7, två [7]); fördröjning (fördröjningstid); } void three3 () { / * här är data för tecknen * / / * visa dem nu en efter en med en liten fördröjning * / lc.setRow (0, 0, tre [0]); lc.setRow (0, 1, tre [1]); lc.setRow (0, 2, tre [2]); lc.setRow (0, 3, tre [3]); lc.setRow (0, 4, tre [4]); lc.setRow (0, 5, tre [5]); lc.setRow (0, 6, tre [6]); lc.setRow (0, 7, tre [7]); fördröjning (fördröjningstid); } void four4 () { / * här är data för tecknen * / / * visa dem nu fyra för fyra med en liten fördröjning * / lc.setRow (0, 0, four [0]); lc.setRow (0, 1, fyra [1]); lc.setRow (0, 2, fyra [2]); lc.setRow (0, 3, fyra [3]); lc.setRow (0, 4, fyra [4]); lc.setRow (0, 5, fyra [5]); lc.setRow (0, 6, fyra [6]); lc.setRow (0, 7, fyra [7]); fördröjning (fördröjningstid); } void five5 () { / * här är data för tecknen * / / * visa dem nu fem om fem med en liten fördröjning * / lc.setRow (0, 0, fem [0]); lc.setRow (0, 1, fem [1]); lc.setRow (0, 2, fem [2]); lc.setRow (0, 3, fem [3]); lc.setRow (0, 4, fem [4]); lc.setRow (0, 5, fem [5]); lc.setRow (0, 6, fem [6]); lc.setRow (0, 7, fem [7]);

fördröjning (fördröjningstid); } void six6 () { / * här är data för tecknen * / / * visa dem nu sex för sex med en liten fördröjning * / lc.setRow (0, 0, sex [0]); lc.setRow (0, 1, sex [1]); lc.setRow (0, 2, sex [2]); lc.setRow (0, 3, sex [3]); lc.setRow (0, 4, sex [4]); lc.setRow (0, 5, sex [5]); lc.setRow (0, 6, sex [6]); lc.setRow (0, 7, sex [7]); fördröjning (fördröjningstid); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } switch (x) {case 1: one1 (); ha sönder; fall 2: two2 (); ha sönder; fall 3: three3 (); ha sönder; fall 4: four4 (); ha sönder; fall 5: five5 (); ha sönder; fall 6: six6 (); ha sönder;} }

Steg 4: Gilla Dela

Prenumerera på oss på YouTube -

Gilla oss på Facebook -

Besök -

Rekommenderad: