Kazalo:

Kocke Arduino za družabne igre: 4 koraki
Kocke Arduino za družabne igre: 4 koraki

Video: Kocke Arduino za družabne igre: 4 koraki

Video: Kocke Arduino za družabne igre: 4 koraki
Video: Самодельная приборная панель на мотоцикл. CBR1100XX Dashboard Part2:Complectation. 2024, November
Anonim

Avtor RoboCircuits_comSledite Več avtorja:

Elektronske kocke z UTSOURCE
Elektronske kocke z UTSOURCE
Elektronske kocke z UTSOURCE
Elektronske kocke z UTSOURCE
Stikalo za nivo vode z uporabo D882
Stikalo za nivo vode z uporabo D882
Stikalo za nivo vode z uporabo D882
Stikalo za nivo vode z uporabo D882
Ambientna ura v realnem času
Ambientna ura v realnem času
Ambientna ura v realnem času
Ambientna ura v realnem času

Več o: YouTuber, izdelovalec dronov Več o RoboCircuits_com »

Morda ste te kocke uporabili med igranjem LUDO in drugih družabnih iger. Ker pa sem navdušen nad elektroniko, moram ta trend spremeniti.

Zato sem se odločil narediti elektronsko kocko. Za svoj namen sem uporabil Arduino.

1. korak: naredi Arduino sam

Ta arduino izdelam z uporabo mikrokrmilnika atmega 328p. PCB za to je naročen na "jlcpcb.com", ker zagotavljajo najboljše tiskalne plošče v svojem razredu po nizkih cenah. Potem sem spajkal vse dele in končno dobil ta srčkan Arduino UNO.

Vse sheme in datoteke so navedene v članku moje spletne strani -

2. korak: Izdelava projekta

v redu!!!!

dovolj o Arduinu. Zdaj pa naredimo projekt. Za naključne vrednosti sem uporabil naključno funkcijo v arduino ideju, da sem dobil vrednosti od 1 do 6, ko pritisnem gumb. Zato si oglejte ta celoten video, če želite izvedeti, kako je ta projekt nastal.

3. korak: Koda

/* To kodo je oblikoval RoboCircuits

Napišite me na youtube https://youtube.com/robocircuits ali obiščite robocircuits.com Knjižnico moramo vedno vključiti*/

#include "LedControl.h"

/* Zdaj potrebujemo LedControl za delo. ***** Te pin številke verjetno ne bodo delovale s vašo strojno opremo ***** pin 12 je priključen na DataIn pin 11 je priključen na CLK pin 10 je priključen na LOAD Imamo samo en MAX72XX. */

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

/ * vedno čakamo med posodobitvami zaslona */ brez podpisa dolga zakasnitev = 500; šest bajtov [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; pet bajtov [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; štiri bajt [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; bajt tri [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; drugi bajt [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; prvi bajt [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX je v načinu varčevanja z energijo ob zagonu, opraviti moramo bujenje * / lc.shutdown (0, false); / * Nastavite svetlost na srednje vrednosti */ lc.setIntensity (0, 8); / * in počistite zaslon */ lc.clearDisplay (0); }

/* Ta metoda bo prikazala znake (za ogled celotnih znakov potrebujete najmanj 7x7 LED)* /void one1 () { /* tukaj so podatki za znake* / /*, ki jih zdaj prikazujejo enega po enega z majhno zakasnitev */ lc.setRow (0, 0, ena [0]); lc.setRow (0, 1, ena [1]); lc.setRow (0, 2, ena [2]); lc.setRow (0, 3, ena [3]); lc.setRow (0, 4, ena [4]); lc.setRow (0, 5, ena [5]); lc.setRow (0, 6, ena [6]); lc.setRow (0, 7, ena [7]); zamuda (zamik); } void two2 () { / * tukaj so podatki za znake * / / *, ki jih zdaj prikazujejo enega po enega z majhno zamudo * / 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]); zamuda (zamik); } void three3 () { / * tukaj so podatki za znake * / / *, ki jih zdaj prikazujejo enega po enega z majhno zamudo * / 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]); zamuda (zamik); } void four4 () { / * tukaj so podatki za znake * / / *, ki jih zdaj prikazujejo štiri po štiri z majhno zamudo * / lc.setRow (0, 0, štiri [0]); lc.setRow (0, 1, štiri [1]); lc.setRow (0, 2, štiri [2]); lc.setRow (0, 3, štiri [3]); lc.setRow (0, 4, štiri [4]); lc.setRow (0, 5, štiri [5]); lc.setRow (0, 6, štiri [6]); lc.setRow (0, 7, štiri [7]); zamuda (zamik); } void five5 () { / * tukaj so podatki za znake * / / *, ki jih zdaj prikazujejo pet do pet z majhno zamudo * / lc.setRow (0, 0, pet [0]); lc.setRow (0, 1, pet [1]); lc.setRow (0, 2, pet [2]); lc.setRow (0, 3, pet [3]); lc.setRow (0, 4, pet [4]); lc.setRow (0, 5, pet [5]); lc.setRow (0, 6, pet [6]); lc.setRow (0, 7, pet [7]);

zamuda (zamik); } void six6 () { / * tukaj so podatki za znake * / / *, ki jih zdaj prikazujejo šest do šest z majhno zamudo * / lc.setRow (0, 0, šest [0]); lc.setRow (0, 1, šest [1]); lc.setRow (0, 2, šest [2]); lc.setRow (0, 3, šest [3]); lc.setRow (0, 4, šest [4]); lc.setRow (0, 5, šest [5]); lc.setRow (0, 6, šest [6]); lc.setRow (0, 7, šest [7]); zamuda (zamik); }

void loop () {int x; if (analogRead (A4) == 1000) {x = naključno (1, 6); } stikalo (x) {primer 1: eno1 (); zlom; primer 2: two2 (); zlom; primer 3: tri3 (); zlom; primer 4: four4 (); zlom; primer 5: pet5 (); zlom; primer 6: six6 (); prelom;}}

4. korak: Všečkajte Share

Naročite se na nas na YouTubu -

Všečkajte nas na Facebooku -

Obiščite -

Priporočena: