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, Novembar
Anonim

Od RoboCircuits_comFollow Više od autora:

Elektronske kockice s UTSOURCE -om
Elektronske kockice s UTSOURCE -om
Elektronske kockice s UTSOURCE -om
Elektronske 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 realnom vremenu
Ambijentalni sat u realnom vremenu
Ambijentalni sat u realnom vremenu
Ambijentalni sat u realnom vremenu

O: YouTuberu, proizvođaču bespilotnih letelica 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 atmega 328p mikrokontroler. PCB za ovo naručuje se s "jlcpcb.com" jer 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 date su u članku moje web stranice -

Korak 2: Izrada projekta

U redu!!!!

dosta o Arduinu. Sada napravimo projekat. Za slučajne vrijednosti koristio sam slučajnu funkciju u arduino ideu da dobijem vrijednosti od 1 do 6 kad god pritisnem dugme. Zato pogledajte ovaj cijeli video da biste saznali kako je nastao ovaj projekt.

Korak 3: Kodirajte

/* Ovaj kod je dizajniran od strane 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 brojevi pinova 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 ekrana */ 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}; bajt četiri [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}; bajt jedan [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 obrišite ekran */ lc.clearDisplay (0); }

/* Ova metoda će prikazati znakove (trebate najmanje 7x7 LED dioda da vidite cijele znakove)* /void one1 () { /* evo podataka za znakove* / /* sada ih prikazuje 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]); kašnjenje (vrijeme kašnjenja); } void two2 () { / * evo podataka za znakove * / / * koji ih sada prikazuju jedan po jedan sa 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]); kašnjenje (vrijeme kašnjenja); } void three3 () { / * evo podataka za znakove * / / * koji ih sada prikazuju jedan po jedan sa 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]); kašnjenje (vrijeme kašnjenja); } void four4 () { / * evo podataka za znakove * / / * sada ih prikazuje četiri po četiri sa 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]); kašnjenje (vrijeme kašnjenja); } void five5 () { / * evo podataka za znakove * / / * sada ih prikazuje pet puta pet sa 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]);

kašnjenje (vrijeme kašnjenja); } void six6 () { / * evo podataka za znakove * / / * sada ih prikazuje šest puta šest sa 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]); kašnjenje (vrijeme kašnjenja); }

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

Korak 4: Lajkujte Podijeli

Pretplatite nas na YouTube -

Lajkujte nas na Facebooku -

Posjetite -

Preporučuje se: