Innholdsfortegnelse:

Arduino terninger for brettspill: 4 trinn
Arduino terninger for brettspill: 4 trinn

Video: Arduino terninger for brettspill: 4 trinn

Video: Arduino terninger for brettspill: 4 trinn
Video: I Solved the World’s Smallest Rubiks Cube 2024, November
Anonim

Av RoboCircuits_comFølg Mer av forfatteren:

Elektroniske terninger med UTSOURCE
Elektroniske terninger med UTSOURCE
Elektroniske terninger med UTSOURCE
Elektroniske terninger med UTSOURCE
Vannstandsbryter ved bruk av D882
Vannstandsbryter ved bruk av D882
Vannstandsbryter ved bruk av D882
Vannstandsbryter ved bruk av D882
Ambient sanntidsklokke
Ambient sanntidsklokke
Ambient sanntidsklokke
Ambient sanntidsklokke

Om: YouTuber, Drone Manufaturer Mer om RoboCircuits_com »

Du har kanskje brukt disse terningene mens du spilte LUDO og andre brettspill. Men som elektronisk entusiast må jeg endre denne trenden.

Så jeg bestemte meg for å lage en elektronisk terning. Jeg brukte Arduino til mitt formål.

Trinn 1: DIY Arduino

Denne arduinoen er laget av meg ved hjelp av en atmega 328p mikrokontroller. Kretskortet for dette er bestilt fra "jlcpcb.com" fordi de gir best PCS i klassen til lave priser. Så loddet jeg alle delene og fikk endelig denne søte Arduino UNO.

Alle skjemaer og filer er angitt i artikkelen på min webiste -

Trinn 2: Prosjektering

greit!!!!

nok om Arduino. La oss nå lage prosjektet. For tilfeldige verdier brukte jeg tilfeldig funksjon i arduino ide for å få verdier fra 1 til 6 når jeg trykker på knappen. Så se denne hele videoen for å vite hvordan dette prosjektet er laget.

Trinn 3: Kode

/* Denne koden er designet av RoboCircuits

Abonner meg på youtube https://youtube.com/robocircuits eller besøk robocircuits.com Vi må alltid inkludere biblioteket*/

#inkludere "LedControl.h"

/* Nå trenger vi en LedControl å jobbe med. ***** Disse pin tallene vil sannsynligvis ikke fungere med maskinvaren din ***** pin 12 er koblet til DataIn pin 11 er koblet til CLK pin 10 er koblet til LOAD Vi har bare en enkelt MAX72XX. */

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

/ * vi venter alltid litt mellom oppdateringer av skjermen */ usignert lang forsinkelse = 500; byte seks [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; byte fem [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; byte fire [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byte tre [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; byte to [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; byte one [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

ugyldig oppsett () { / * MAX72XX er i strømsparingsmodus ved oppstart, vi må foreta en oppringning * / lc.stopp (0, usann); / * Still lysstyrken til middels verdier */ lc.setIntensity (0, 8); / * og tøm skjermen */ lc.clearDisplay (0); }

/* Denne metoden viser tegnene (du trenger minst 7 x 7 lysdioder for å se hele tegningene)* /void one1 () { /* her er dataene for tegnene* / /* vis dem nå en etter en med en liten forsinkelse */ 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]); forsinkelse (forsinkelse); } void two2 () { / * her er dataene for tegnene * / / * vis dem nå en etter en med en liten forsinkelse * / lc.setRow (0, 0, to [0]); lc.setRow (0, 1, to [1]); lc.setRow (0, 2, to [2]); lc.setRow (0, 3, to [3]); lc.setRow (0, 4, to [4]); lc.setRow (0, 5, to [5]); lc.setRow (0, 6, to [6]); lc.setRow (0, 7, to [7]); forsinkelse (forsinkelse); } void three3 () { / * her er dataene for tegnene * / / * vis dem nå en etter en med en liten forsinkelse * / lc.setRow (0, 0, three [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]); forsinkelse (forsinkelse); } void four4 () { / * her er dataene for tegnene * / / * vis dem nå fire og fire med en liten forsinkelse * / lc.setRow (0, 0, fire [0]); lc.setRow (0, 1, fire [1]); lc.setRow (0, 2, fire [2]); lc.setRow (0, 3, fire [3]); lc.setRow (0, 4, fire [4]); lc.setRow (0, 5, fire [5]); lc.setRow (0, 6, fire [6]); lc.setRow (0, 7, fire [7]); forsinkelse (forsinkelse); } void five5 () { / * her er dataene for tegnene * / / * vis dem nå fem for fem med en liten forsinkelse * / lc.setRow (0, 0, five [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]);

forsinkelse (forsinkelse); } void six6 () { / * her er dataene for tegnene * / / * vis dem nå seks for seks med en liten forsinkelse * / lc.setRow (0, 0, six [0]); lc.setRow (0, 1, seks [1]); lc.setRow (0, 2, seks [2]); lc.setRow (0, 3, seks [3]); lc.setRow (0, 4, seks [4]); lc.setRow (0, 5, seks [5]); lc.setRow (0, 6, seks [6]); lc.setRow (0, 7, seks [7]); forsinkelse (forsinkelse); }

void loop () {int x; hvis (analogLes (A4) == 1000) {x = tilfeldig (1, 6); } bytte (x) {case 1: one1 (); gå i stykker; sak 2: two2 (); gå i stykker; sak 3: three3 (); gå i stykker; sak 4: four4 (); gå i stykker; sak 5: fem5 (); gå i stykker; sak 6: six6 (); gå i stykker;} }

Trinn 4: Lik Del

Abonner oss på YouTube -

Lik oss på Facebook -

Besøk -

Anbefalt: