Sisällysluettelo:

Arduino noppaa lautapeleille: 4 vaihetta
Arduino noppaa lautapeleille: 4 vaihetta

Video: Arduino noppaa lautapeleille: 4 vaihetta

Video: Arduino noppaa lautapeleille: 4 vaihetta
Video: Lesson 22: Using Seven Segment Display with Arduino and Electronic Dice | SunFounder Robojax 2024, Heinäkuu
Anonim

Lisää kirjoittajalta:

Elektroniset nopat UTSOURCElla
Elektroniset nopat UTSOURCElla
Elektroniset nopat UTSOURCElla
Elektroniset nopat UTSOURCElla
Vedenkorokytkin D882: n avulla
Vedenkorokytkin D882: n avulla
Vedenkorokytkin D882: n avulla
Vedenkorokytkin D882: n avulla
Ympäristön reaaliaikainen kello
Ympäristön reaaliaikainen kello
Ympäristön reaaliaikainen kello
Ympäristön reaaliaikainen kello

Tietoja: YouTuber, Drone Manufaturer Lisätietoja RoboCircuits_comista »

Olet ehkä käyttänyt näitä noppaa pelatessasi LUDOa ja muita lautapelejä. Mutta koska olen elektroninen harrastaja, minun on muutettava tätä suuntausta.

Joten päätin tehdä sähköisen nopan. Käytin Arduinoa tarkoitukseeni.

Vaihe 1: DIY Arduino

Tämä arduino on minun tekemäni atmega 328p -kontrollerilla. PCB tätä varten on tilattu osoitteesta "jlcpcb.com", koska ne tarjoavat luokkansa parhaita piirilevyjä edulliseen hintaan. Sitten juotin kaikki osat ja sain lopulta tämän söpön näköisen Arduino UNO: n.

Kaikki kaaviot ja tiedostot on annettu Webisteni artikkelissa -

Vaihe 2: Projektin tekeminen

Okei!!!!

riittää Arduinosta. Tehdään nyt projekti. Satunnaisarvoille käytin arduino ideissa satunnaisfunktiota saadakseni arvot 1-6 aina, kun painan painiketta. Joten katso tämä koko video tietääksesi kuinka tämä projekti tehdään.

Vaihe 3: Koodi

/* Tämän koodin on suunnitellut RoboCircuits

Tilaa minut youtubesta https://youtube.com/robocircuits tai käy osoitteessa robocircuits.com Meidän on aina sisällytettävä kirjasto*/

#include "LedControl.h"

/* Nyt tarvitsemme LedControlin toimimaan. ***** Nämä nastanumerot eivät todennäköisesti toimi laitteistosi kanssa ***** nasta 12 on kytketty DataIniin nasta 11 on kytketty CLK -nastaan 10 on kytketty LOADiin Meillä on vain yksi MAX72XX. */

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

/ * odotamme aina jonkin aikaa näytön päivitysten välillä */ unsigned long delaytime = 500; kuusi tavua [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; tavu viisi [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; neljä tavua [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; tavu kolme [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; tavu kaksi [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; yksi tavu [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX on virransäästötilassa käynnistettäessä, meidän on tehtävä herätys * / lc.shutdown (0, false); / * Aseta kirkkaus keskiarvoon */ lc.setIntensity (0, 8); / * ja tyhjennä näyttö */ lc.clearDisplay (0); }

/* Tämä menetelmä näyttää merkit (tarvitset vähintään 7 x 7 lediä nähdäksesi kaikki merkit)* /void one1 () { /* tässä on merkkien tiedot* / /* näytä ne nyt yksitellen pienellä delay */ lc.setRow (0, 0, yksi [0]); lc.setRow (0, 1, yksi [1]); lc.setRow (0, 2, yksi [2]); lc.setRow (0, 3, yksi [3]); lc.setRow (0, 4, yksi [4]); lc.setRow (0, 5, yksi [5]); lc.setRow (0, 6, yksi [6]); lc.setRow (0, 7, yksi [7]); viive (viive) } void two2 () { / * tässä on merkkien tiedot * / / * näytä ne nyt yksitellen pienellä viiveellä * / lc.setRow (0, 0, two [0]); lc.setRow (0, 1, kaksi [1]); lc.setRow (0, 2, kaksi [2]); lc.setRow (0, 3, kaksi [3]); lc.setRow (0, 4, kaksi [4]); lc.setRow (0, 5, kaksi [5]); lc.setRow (0, 6, kaksi [6]); lc.setRow (0, 7, kaksi [7]); viive (viive) } void three3 () { / * tässä on merkkien tiedot * / / * näytä ne nyt yksitellen pienellä viiveellä * / lc.setRow (0, 0, kolme [0]); lc.setRow (0, 1, kolme [1]); lc.setRow (0, 2, kolme [2]); lc.setRow (0, 3, kolme [3]); lc.setRow (0, 4, kolme [4]); lc.setRow (0, 5, kolme [5]); lc.setRow (0, 6, kolme [6]); lc.setRow (0, 7, kolme [7]); viive (viive) } void four4 () { / * tässä ovat merkkien tiedot * / / * näytä ne nyt neljä neljällä pienellä viiveellä * / lc.setRow (0, 0, neljä [0]); lc.setRow (0, 1, neljä [1]); lc.setRow (0, 2, neljä [2]); lc.setRow (0, 3, neljä [3]); lc.setRow (0, 4, neljä [4]); lc.setRow (0, 5, neljä [5]); lc.setRow (0, 6, neljä [6]); lc.setRow (0, 7, neljä [7]); viive (viive) } void five5 () { / * tässä on merkkien tiedot * / / * näytä ne nyt viisi kerrallaan pienellä viiveellä * / lc.setRow (0, 0, viisi [0]); lc.setRow (0, 1, viisi [1]); lc.setRow (0, 2, viisi [2]); lc.setRow (0, 3, viisi [3]); lc.setRow (0, 4, viisi [4]); lc.setRow (0, 5, viisi [5]); lc.setRow (0, 6, viisi [6]); lc.setRow (0, 7, viisi [7]);

viive (viive) } void six6 () { / * tässä on merkkien tiedot * / / * näytä ne nyt kuusi kuusi pienellä viiveellä * / lc.setRow (0, 0, six [0]); lc.setRow (0, 1, kuusi [1]); lc.setRow (0, 2, kuusi [2]); lc.setRow (0, 3, kuusi [3]); lc.setRow (0, 4, kuusi [4]); lc.setRow (0, 5, kuusi [5]); lc.setRow (0, 6, kuusi [6]); lc.setRow (0, 7, kuusi [7]); viive (viive) }

void loop () {int x; if (analoginenluku (A4) == 1000) {x = satunnainen (1, 6); } kytkin (x) {tapaus 1: yksi1 (); tauko; tapaus 2: kaksi2 (); tauko; tapaus 3: kolme3 (); tauko; tapaus 4: four4 (); tauko; tapaus 5: viisi5 (); tauko; tapaus 6: six6 (); tauko;} }

Vaihe 4: Tykkää Jaa

Tilaa meidät YouTubesta -

Tykkää meistä Facebookissa -

Käy -

Suositeltava: