Obsah:

Kocky Arduino pre stolné hry: 4 kroky
Kocky Arduino pre stolné hry: 4 kroky

Video: Kocky Arduino pre stolné hry: 4 kroky

Video: Kocky Arduino pre stolné hry: 4 kroky
Video: 4 Kavky_Jak se hází malajské drápky 2024, Júl
Anonim

Od RoboCircuits_comSledovať viac od autora:

Elektronické kocky s UTSOURCE
Elektronické kocky s UTSOURCE
Elektronické kocky s UTSOURCE
Elektronické kocky s UTSOURCE
Spínač hladiny vody pomocou D882
Spínač hladiny vody pomocou D882
Spínač hladiny vody pomocou D882
Spínač hladiny vody pomocou D882
Ambientné hodiny v reálnom čase
Ambientné hodiny v reálnom čase
Ambientné hodiny v reálnom čase
Ambientné hodiny v reálnom čase

O nás: YouTuber, Drone Manufaturer Viac o RoboCircuits_com »

Tieto kocky ste mohli použiť pri hraní hry LUDO a iných stolných hier. Ale keďže som elektronický nadšenec, musím tento trend zmeniť.

Rozhodol som sa teda urobiť elektronickú kocku. Na svoj účel som použil Arduino.

Krok 1: DIY Arduino

Toto arduino som vyrobil pomocou mikrokontroléra atmega 328p. Doska plošných spojov je objednaná na „jlcpcb.com“, pretože poskytuje najlepšie dosky plošných spojov za nízke ceny. Potom som spájkoval všetky diely a nakoniec som dostal toto roztomilé vyzerajúce Arduino UNO.

Všetky schémy a súbory sú uvedené v článku môjho Webiste -

Krok 2: Vytvorenie projektu

dobre !!!!

dosť o Arduine. Teraz urobme projekt. Pre náhodné hodnoty som použil náhodnú funkciu v arduino ide, aby som pri každom stlačení tlačidla získal hodnoty od 1 do 6. Pozrite sa teda na toto úplné video a zistite, ako tento projekt vzniká.

Krok 3: Kód

/* Tento kód bol navrhnutý spoločnosťou RoboCircuits

Prihláste sa na odber youtube https://youtube.com/robocircuits alebo navštívte robocircuits.com Vždy musíme zahrnúť knižnicu*/

#include "LedControl.h"

/* Teraz potrebujeme LedControl, s ktorým budeme pracovať. ***** Tieto čísla pinov pravdepodobne nebudú fungovať s vašim hardvérom ***** pin 12 je pripojený k DataIn pin 11 je pripojený k CLK pin 10 je pripojený k LOAD Máme iba jeden MAX72XX. */

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

/ * medzi aktualizáciami displeja vždy chvíľu počkáme */ nepodpísaný dlhý čas zdržania = 500; bajt šesť [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; bajt päť [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; štvrtý bajt [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byt tri [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; dva bajty [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; bajt jeden [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

neplatné nastavenie () { / * MAX72XX je pri spustení v úspornom režime, musíme zobudiť budík * / lc.shutdown (0, false); / * Nastavte jas na stredné hodnoty */ lc.setIntensity (0, 8); / * a vymažte displej */ lc.clearDisplay (0); }

/* Táto metóda zobrazí znaky (na zobrazenie celých znakov potrebujete aspoň 7x7 LED)* /void one1 () { /* tu sú údaje pre znaky* / /* teraz ich zobrazujte jeden po druhom s malým oneskorenie */ lc.setRow (0, 0, jedna [0]); lc.setRow (0, 1, jeden [1]); lc.setRow (0, 2, jeden [2]); lc.setRow (0, 3, jeden [3]); lc.setRow (0, 4, jeden [4]); lc.setRow (0, 5, jeden [5]); lc.setRow (0, 6, jeden [6]); lc.setRow (0, 7, jeden [7]); oneskorenie (čas oneskorenia); } void two2 () { / * tu sú údaje pre znaky * / / * teraz ich zobrazujú po jednom s malým oneskorením * / lc.setRow (0, 0, dva [0]); lc.setRow (0, 1, dva [1]); lc.setRow (0, 2, dva [2]); lc.setRow (0, 3, dva [3]); lc.setRow (0, 4, dva [4]); lc.setRow (0, 5, dva [5]); lc.setRow (0, 6, dva [6]); lc.setRow (0, 7, dva [7]); oneskorenie (čas oneskorenia); } void three3 () { / * tu sú údaje pre znaky * / / * teraz ich zobrazujú po jednom s malým oneskorením * / lc.setRow (0, 0, tri [0]); lc.setRow (0, 1, tri [1]); lc.setRow (0, 2, tri [2]); lc.setRow (0, 3, tri [3]); lc.setRow (0, 4, tri [4]); lc.setRow (0, 5, tri [5]); lc.setRow (0, 6, tri [6]); lc.setRow (0, 7, tri [7]); oneskorenie (čas oneskorenia); } void four4 () { / * tu sú údaje pre znaky * / / * teraz ich zobrazujú štyri po štyroch s malým oneskorením * / lc.setRow (0, 0, štyri [0]); lc.setRow (0, 1, štyri [1]); lc.setRow (0, 2, štyri [2]); lc.setRow (0, 3, štyri [3]); lc.setRow (0, 4, štyri [4]); lc.setRow (0, 5, štyri [5]); lc.setRow (0, 6, štyri [6]); lc.setRow (0, 7, štyri [7]); oneskorenie (čas oneskorenia); } void Five5 () { / * tu sú údaje pre znaky * / / * teraz ich zobrazuje päť na päť s malým oneskorením * / lc.setRow (0, 0, päť [0]); lc.setRow (0, 1, päť [1]); lc.setRow (0, 2, päť [2]); lc.setRow (0, 3, päť [3]); lc.setRow (0, 4, päť [4]); lc.setRow (0, 5, päť [5]); lc.setRow (0, 6, päť [6]); lc.setRow (0, 7, päť [7]);

oneskorenie (čas oneskorenia); } void six6 () { / * tu sú údaje pre znaky * / / * teraz ich zobrazuje šesť po šiestich s malým oneskorením * / lc.setRow (0, 0, šesť [0]); lc.setRow (0, 1, šesť [1]); lc.setRow (0, 2, šesť [2]); lc.setRow (0, 3, šesť [3]); lc.setRow (0, 4, šesť [4]); lc.setRow (0, 5, šesť [5]); lc.setRow (0, 6, šesť [6]); lc.setRow (0, 7, šesť [7]); oneskorenie (čas oneskorenia); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } prepínač (x) {prípad 1: one1 (); prestávka; prípad 2: two2 (); prestávka; prípad 3: three3 (); prestávka; prípad 4: four4 (); prestávka; prípad 5: päť5 (); prestávka; prípad 6: six6 (); prestávka;} }

Krok 4: Páči sa mi to zdieľať

Prihláste sa na náš odber na YouTube -

Rovnako ako my na Facebooku -

Navštívte -

Odporúča: