Sadržaj:

Arduino kockice za društvene igre: 4 koraka
Arduino kockice za društvene igre: 4 koraka

Video: Arduino kockice za društvene igre: 4 koraka

Video: Arduino kockice za društvene igre: 4 koraka
Video: Škole za 21. vek: Napravite kockice za jamb pomoću mikrobita 2024, Studeni
Anonim

Napisao RoboCircuits_comFollow Više od autora:

Elektroničke kockice s UTSOURCE -om
Elektroničke kockice s UTSOURCE -om
Elektroničke kockice s UTSOURCE -om
Elektroničke kockice s UTSOURCE -om
Prekidač razine vode pomoću D882
Prekidač razine vode pomoću D882
Prekidač razine vode pomoću D882
Prekidač razine vode pomoću D882
Ambijentalni sat u stvarnom vremenu
Ambijentalni sat u stvarnom vremenu
Ambijentalni sat u stvarnom vremenu
Ambijentalni sat u stvarnom vremenu

O: YouTuber, proizvođač dronova Više o RoboCircuits_com »

Možda ste ove kockice koristili igrajući LUDO i druge društvene igre. Ali pošto sam ljubitelj elektronike, moram promijeniti ovaj trend.

Pa sam odlučio napraviti elektroničku kocku. Koristio sam Arduino za svoju svrhu.

Korak 1: Uradi sam Arduino

Ovaj arduino sam napravio koristeći mikrokontroler atmega 328p. PCB za to naručuje se s "jlcpcb.com" jer oni pružaju najbolje tiskane ploče u klasi po niskim cijenama. Zatim sam lemio sve dijelove i konačno dobio ovaj Arduino UNO simpatičnog izgleda.

Sve sheme i datoteke navedene su u članku moje web stranice -

Korak 2: Izrada projekta

u redu!!!!

dosta o Arduinu. Sada napravimo projekt. Za slučajne vrijednosti koristio sam slučajnu funkciju u arduinu ide da dobijem vrijednosti od 1 do 6 kad god pritisnem gumb. Stoga pogledajte ovaj cijeli video da biste saznali kako je nastao ovaj projekt.

Korak 3: Kodirajte

/* Ovaj kod dizajnirali su RoboCircuits

Pretplatite me na youtube https://youtube.com/robocircuits ili posjetite robocircuits.com Uvijek moramo uključiti biblioteku*/

#include "LedControl.h"

/* Sada nam je potreban LedControl za rad. ***** Ovi pin brojevi vjerojatno neće raditi s vašim hardverom ***** pin 12 je spojen na DataIn pin 11 je spojen na CLK pin 10 je spojen na LOAD Imamo samo jedan MAX72XX. */

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

/ * uvijek čekamo malo između ažuriranja zaslona */ nepotpisano dugo kašnjenje = 500; bajt šest [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; pet bajtova [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; četiri bajta [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; bajt tri [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; bajt dva [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; jedan bajt [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () { / * MAX72XX je u načinu rada za uštedu energije pri pokretanju, moramo obaviti poziv za buđenje * / lc.shutdown (0, false); / * Postavite svjetlinu na srednje vrijednosti */ lc.setIntensity (0, 8); / * i očistite zaslon */ lc.clearDisplay (0); }

/* Ova metoda prikazuje znakove (trebate najmanje 7x7 LED dioda da vidite cijele znakove)* /void one1 () { /* evo podataka za znakove* / /* sada ih prikazujte jedan po jedan s malim kašnjenje */ lc.setRow (0, 0, jedan [0]); lc.setRow (0, 1, jedan [1]); lc.setRow (0, 2, jedan [2]); lc.setRow (0, 3, jedan [3]); lc.setRow (0, 4, jedan [4]); lc.setRow (0, 5, jedan [5]); lc.setRow (0, 6, jedan [6]); lc.setRow (0, 7, jedan [7]); odgoda (vrijeme odgode); } void two2 () { / * evo podataka za znakove * / / * koji ih sada prikazuju jedan po jedan s malim kašnjenjem * / 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]); odgoda (vrijeme odgode); } void three3 () { / * ovdje su podaci za znakove * / / * sada ih prikazuju jedan po jedan s malim kašnjenjem * / 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]); odgoda (vrijeme odgode); } void four4 () { / * evo podataka za znakove * / / * sada ih prikazuje četiri po četiri s malim kašnjenjem * / lc.setRow (0, 0, četiri [0]); lc.setRow (0, 1, četiri [1]); lc.setRow (0, 2, četiri [2]); lc.setRow (0, 3, četiri [3]); lc.setRow (0, 4, četiri [4]); lc.setRow (0, 5, četiri [5]); lc.setRow (0, 6, četiri [6]); lc.setRow (0, 7, četiri [7]); odgoda (vrijeme odgode); } void five5 () { / * evo podataka za znakove * / / * sada ih prikazuje pet puta pet s malim kašnjenjem * / 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]);

odgoda (vrijeme odgode); } void six6 () { / * ovdje su podaci za znakove * / / * sada ih prikazuju šest puta šest s malim kašnjenjem * / 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]); odgoda (vrijeme odgode); }

void loop () {int x; if (analogRead (A4) == 1000) {x = slučajno (1, 6); } switch (x) {slučaj 1: one1 (); pauza; slučaj 2: two2 (); pauza; slučaj 3: tri3 (); pauza; slučaj 4: four4 (); pauza; slučaj 5: five5 (); pauza; slučaj 6: six6 (); pauza;} }

Korak 4: Lajkujte Podijeli

Pretplatite nas na YouTube -

Lajkujte nas na Facebooku -

Posjetite -

Preporučeni: