Talaan ng mga Nilalaman:

Arduino Dice para sa Mga Laro sa Lupon: 4 na Hakbang
Arduino Dice para sa Mga Laro sa Lupon: 4 na Hakbang

Video: Arduino Dice para sa Mga Laro sa Lupon: 4 na Hakbang

Video: Arduino Dice para sa Mga Laro sa Lupon: 4 na Hakbang
Video: Paano Gumawa ng isang Paper Fortune Teller | Madaling Origami | Sa labas ng Papel | DIY 2024, Nobyembre
Anonim

Sa pamamagitan ng RoboCircuits_comMasunod Dagdag ng may-akda:

Electronic Dice Sa UTSOURCE
Electronic Dice Sa UTSOURCE
Electronic Dice Sa UTSOURCE
Electronic Dice Sa UTSOURCE
Paglipat ng Antas ng Tubig Gamit ang D882
Paglipat ng Antas ng Tubig Gamit ang D882
Paglipat ng Antas ng Tubig Gamit ang D882
Paglipat ng Antas ng Tubig Gamit ang D882
Ambient Real Time Clock
Ambient Real Time Clock
Ambient Real Time Clock
Ambient Real Time Clock

Tungkol sa: YouTuber, Drone Manufaturer Higit Pa Tungkol sa RoboCircuits_com »

Maaaring ginamit mo ang dice na ito habang naglalaro ng LUDO at iba pang mga board game. Ngunit sa pagiging isang elektronikong mahilig kailangan kong baguhin ang kalakaran na ito.

Kaya't nagpasya akong gumawa ng isang elektronikong Dice. Ginamit ko ang Arduino para sa aking hangarin.

Hakbang 1: DIY Arduino

Ang arduino na ito ay ginawa ko gamit ang isang atmega 328p microcontroller. Ang PCB para sa mga ito ay iniutos mula sa "jlcpcb.com" sapagkat nagbibigay sila ng pinakamahusay sa mga pcbs sa klase para sa mababang presyo. Pagkatapos ay hinihinang ko ang lahat ng mga bahagi at sa wakas nakuha ko ang cute na hitsura na Arduino UNO na ito.

Ang lahat ng Mga Skema at File ay ibinibigay sa Artikulo ng aking Webiste -

Hakbang 2: Paggawa ng Proyekto

Sige!!!!

sapat na tungkol sa Arduino. Hinahayaan na ngayong gawin ang proyekto. Para sa mga random na halaga ginamit ko ang random na pag-andar sa arduino id upang makakuha ng mga halaga mula 1 hanggang 6 tuwing pinindot ko ang pindutan. Kaya't panoorin ang buong video na ito upang malaman kung paano ginawa ang proyektong ito.

Hakbang 3: Code

/ * Ang code na ito ay dinisenyo ng RoboCircuits

Suvbscribe ako sa youtube https://youtube.com/robocircuits o bisitahin ang robocircuits.com Palagi naming isasama ang library * /

# isama ang "LedControl.h"

/ * Ngayon kailangan namin ng isang LedControl upang gumana. ***** Ang mga pin na numero ay malamang na hindi gagana sa iyong hardware ***** pin 12 ay konektado sa DataIn pin 11 ay konektado sa CLK pin 10 ay konektado sa LOAD Mayroon lamang kaming isang MAX72XX. * /

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

/ * Palagi kaming naghihintay ng kaunti sa pagitan ng mga pag-update ng display * / unsigned mahabang pagkaantala = 500; byte anim [8] = {B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; byte five [8] = {B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; byte apat [8] = {B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byte three [8] = {B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; byte two [8] = {B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; byte one [8] = {B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup () {/ * Ang MAX72XX ay nasa mode na nagse-save ng kuryente sa pagsisimula, kailangan naming gumawa ng isang tawag sa paggising * / lc.shutdown (0, mali); / * Itakda ang ningning sa isang katamtamang halaga * / lc.setIntensity (0, 8); / * at i-clear ang display * / lc.clearDisplay (0); }

/ * Ipapakita ng pamamaraang ito ang mga character (kailangan mo ng hindi bababa sa 7x7 leds upang makita ang buong chars) * / void one1 () {/ * narito ang data para sa mga character * / / * isa-isang ipakita ang mga ito na may maliit antala * / lc.setRow (0, 0, isa [0]); lc.setRow (0, 1, isa [1]); lc.setRow (0, 2, isa [2]); lc.setRow (0, 3, isa [3]); lc.setRow (0, 4, isa [4]); lc.setRow (0, 5, isa [5]); lc.setRow (0, 6, isa [6]); lc.setRow (0, 7, isa [7]); antala (pagkaantala ng oras); } void two2 () {/ * narito ang data para sa mga character * / / * na isa-isang ipakita ang mga ito sa isang maliit na pagkaantala * / lc.setRow (0, 0, dalawa [0]); lc.setRow (0, 1, dalawa [1]); lc.setRow (0, 2, dalawa [2]); lc.setRow (0, 3, dalawa [3]); lc.setRow (0, 4, dalawa [4]); lc.setRow (0, 5, dalawa [5]); lc.setRow (0, 6, dalawa [6]); lc.setRow (0, 7, dalawa [7]); antala (pagkaantala ng oras); } void three3 () {/ * narito ang data para sa mga character * / / * na isa-isang ipakita ang mga ito sa isang maliit na pagkaantala * / lc.setRow (0, 0, tatlo [0]); lc.setRow (0, 1, tatlo [1]); lc.setRow (0, 2, tatlo [2]); lc.setRow (0, 3, tatlo [3]); lc.setRow (0, 4, tatlo [4]); lc.setRow (0, 5, tatlo [5]); lc.setRow (0, 6, tatlo [6]); lc.setRow (0, 7, tatlo [7]); antala (pagkaantala ng oras); } void four4 () {/ * narito ang data para sa mga character * / / * na ipinapakita sa kanila apat hanggang apat na may isang maliit na pagkaantala * / lc.setRow (0, 0, apat [0]); lc.setRow (0, 1, apat [1]); lc.setRow (0, 2, apat [2]); lc.setRow (0, 3, apat [3]); lc.setRow (0, 4, apat [4]); lc.setRow (0, 5, apat [5]); lc.setRow (0, 6, apat [6]); lc.setRow (0, 7, apat [7]); antala (pagkaantala ng oras); } void five5 () {/ * narito ang data para sa mga character * / / * na ipinapakita sa kanila ngayon ng lima at lima na may isang maliit na pagkaantala * / lc.setRow (0, 0, limang [0]); lc.setRow (0, 1, limang [1]); lc.setRow (0, 2, lima [2]); lc.setRow (0, 3, five [3]); lc.setRow (0, 4, five [4]); lc.setRow (0, 5, lima [5]); lc.setRow (0, 6, five [6]); lc.setRow (0, 7, lima [7]);

antala (pagkaantala ng oras); } void anim6 () {/ * narito ang data para sa mga character * / / * na ipakita sa kanila ngayon anim hanggang anim na may isang maliit na pagkaantala * / lc.setRow (0, 0, anim [0]); lc.setRow (0, 1, anim [1]); lc.setRow (0, 2, anim [2]); lc.setRow (0, 3, anim [3]); lc.setRow (0, 4, anim [4]); lc.setRow (0, 5, anim [5]); lc.setRow (0, 6, anim [6]); lc.setRow (0, 7, anim [7]); antala (pagkaantala ng oras); }

void loop () {int x; kung (analogRead (A4) == 1000) {x = random (1, 6); } lumipat (x) {kaso 1: one1 (); pahinga; kaso 2: dalawa2 (); pahinga; kaso 3: three3 (); pahinga; kaso 4: apat4 (); pahinga; kaso 5: five5 (); pahinga; kaso 6: anim6 (); pahinga;} }

Hakbang 4: Tulad ng Ibahagi

Mag-subscribe sa amin sa YouTube -

Tulad sa amin sa Facebook -

Bisitahin -

Inirerekumendang: