Cuprins:

Arduino Dice pentru jocuri de societate: 4 pași
Arduino Dice pentru jocuri de societate: 4 pași

Video: Arduino Dice pentru jocuri de societate: 4 pași

Video: Arduino Dice pentru jocuri de societate: 4 pași
Video: Cum scrii când începi un caiet nou 2024, Iulie
Anonim

De RoboCircuits_com Urmăriți mai multe de la autor:

Zaruri electronice cu UTSOURCE
Zaruri electronice cu UTSOURCE
Zaruri electronice cu UTSOURCE
Zaruri electronice cu UTSOURCE
Comutator nivel apă folosind D882
Comutator nivel apă folosind D882
Comutator nivel apă folosind D882
Comutator nivel apă folosind D882
Ceas în timp real ambient
Ceas în timp real ambient
Ceas în timp real ambient
Ceas în timp real ambient

Despre: YouTuber, Drone Manufaturer Mai multe despre RoboCircuits_com »

Este posibil să fi folosit aceste zaruri în timp ce jucați LUDO și alte jocuri de societate. Dar fiind un entuziast electronic, trebuie să schimb această tendință.

Așa că am decis să fac un zar electronic. Am folosit Arduino pentru scopul meu.

Pasul 1: DIY Arduino

Acest arduino este realizat de mine folosind un microcontroler atmega 328p. PCB-ul pentru acest lucru este comandat de la "jlcpcb.com", deoarece oferă cele mai bune plăci de memorie din clasă la prețuri mici. Apoi am lipit toate piesele și în cele din urmă am primit acest Arduino UNO drăguț.

Toate schemele și fișierele sunt date în articolul site-ului meu web -

Pasul 2: Realizarea proiectului

Bine!!!!

suficient despre Arduino. Acum, să facem proiectul. Pentru valori aleatorii am folosit funcția aleatorie în ideul arduino pentru a obține valori de la 1 la 6 ori de câte ori apăs butonul. Așadar, urmăriți acest videoclip complet pentru a afla cum este realizat acest proiect.

Pasul 3: Cod

/ * Acest cod este proiectat de RoboCircuits

Abonează-mă pe YouTube https://youtube.com/robocircuits sau accesează robocircuits.com Întotdeauna trebuie să includem biblioteca * /

#include „LedControl.h”

/ * Acum avem nevoie de un LedControl pentru a lucra. ***** Aceste numere de pin nu vor funcționa probabil cu hardware-ul dvs. ***** pinul 12 este conectat la DataIn pinul 11 este conectat la CLK pinul 10 este conectat la LOAD Avem doar un singur MAX72XX. * /

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

/ * așteptăm întotdeauna puțin între actualizările afișajului * / întârziere nesemnificată = 500; octet șase [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; octet cinci [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; octet patru [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; octet trei [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; octet doi [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; octet unu [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

configurare nulă () {/ * MAX72XX este în modul de economisire a energiei la pornire, trebuie să facem un apel de trezire * / lc.shutdown (0, fals); / * Setați luminozitatea la valori medii * / lc.setIntensity (0, 8); / * și ștergeți afișajul * / lc.clearDisplay (0); }

/ * Această metodă va afișa caracterele (aveți nevoie de cel puțin 7x7 leduri pentru a vedea caractere întregi) * / void one1 () {/ * iată datele pentru caracterele * / / * acum afișați-le unul câte unul cu un mic delay * / lc.setRow (0, 0, one [0]); lc.setRow (0, 1, unu [1]); lc.setRow (0, 2, unu [2]); lc.setRow (0, 3, unu [3]); lc.setRow (0, 4, one [4]); lc.setRow (0, 5, unu [5]); lc.setRow (0, 6, unu [6]); lc.setRow (0, 7, unu [7]); întârziere (întârziere); } void two2 () {/ * aici sunt datele pentru caracterele * / / * acum afișează-le unul câte unul cu o mică întârziere * / lc.setRow (0, 0, două [0]); lc.setRow (0, 1, two [1]); lc.setRow (0, 2, two [2]); lc.setRow (0, 3, doi [3]); lc.setRow (0, 4, two [4]); lc.setRow (0, 5, doi [5]); lc.setRow (0, 6, two [6]); lc.setRow (0, 7, doi [7]); întârziere (întârziere); } void three3 () {/ * aici sunt datele pentru caracterele * / / * acum afișează-le unul câte unul cu o mică întârziere * / lc.setRow (0, 0, three [0]); lc.setRow (0, 1, three [1]); lc.setRow (0, 2, three [2]); lc.setRow (0, 3, three [3]); lc.setRow (0, 4, three [4]); lc.setRow (0, 5, three [5]); lc.setRow (0, 6, three [6]); lc.setRow (0, 7, three [7]); întârziere (întârziere); } void four4 () {/ * aici sunt datele pentru caracterele * / / * acum afișează-le patru câte patru cu o mică întârziere * / lc.setRow (0, 0, patru [0]); lc.setRow (0, 1, patru [1]); lc.setRow (0, 2, patru [2]); lc.setRow (0, 3, patru [3]); lc.setRow (0, 4, four [4]); lc.setRow (0, 5, patru [5]); lc.setRow (0, 6, patru [6]); lc.setRow (0, 7, patru [7]); întârziere (întârziere); } void five5 () {/ * aici sunt datele pentru caracterele * / / * acum afișează-le cinci câte cinci cu o mică întârziere * / lc.setRow (0, 0, cinci [0]); lc.setRow (0, 1, cinci [1]); lc.setRow (0, 2, five [2]); lc.setRow (0, 3, five [3]); lc.setRow (0, 4, five [4]); lc.setRow (0, 5, cinci [5]); lc.setRow (0, 6, cinci [6]); lc.setRow (0, 7, cinci [7]);

întârziere (întârziere); } void six6 () {/ * aici sunt datele pentru caracterele * / / * acum afișează-le șase la șase cu o mică întârziere * / lc.setRow (0, 0, șase [0]); lc.setRow (0, 1, șase [1]); lc.setRow (0, 2, șase [2]); lc.setRow (0, 3, șase [3]); lc.setRow (0, 4, six [4]); lc.setRow (0, 5, șase [5]); lc.setRow (0, 6, șase [6]); lc.setRow (0, 7, șase [7]); întârziere (întârziere); }

void loop () {int x; if (analogRead (A4) == 1000) {x = random (1, 6); } switch (x) {case 1: one1 (); pauză; cazul 2: two2 (); pauză; caz 3: three3 (); pauză; cazul 4: four4 (); pauză; cazul 5: five5 (); pauză; cazul 6: six6 (); pauză;} }

Pasul 4: Îmi place Distribuiți

Abonați-ne pe YouTube -

Ca noi pe Facebook -

Vizitați -

Recomandat: