Inhoudsopgave:

Arduino dobbelstenen voor bordspellen - Ajarnpa
Arduino dobbelstenen voor bordspellen - Ajarnpa

Video: Arduino dobbelstenen voor bordspellen - Ajarnpa

Video: Arduino dobbelstenen voor bordspellen - Ajarnpa
Video: Electronic Dice: The Latest Device Trending! #shorts #trending #viral 2024, November
Anonim

Door RoboCircuits_comVolg meer door de auteur:

Elektronische dobbelstenen met UTSOURCE
Elektronische dobbelstenen met UTSOURCE
Elektronische dobbelstenen met UTSOURCE
Elektronische dobbelstenen met UTSOURCE
Waterniveauschakelaar met D882
Waterniveauschakelaar met D882
Waterniveauschakelaar met D882
Waterniveauschakelaar met D882
Ambient realtime klok
Ambient realtime klok
Ambient realtime klok
Ambient realtime klok

Over: YouTuber, dronefabrikant Meer over RoboCircuits_com »

Je hebt deze dobbelstenen misschien gebruikt tijdens het spelen van LUDO en andere bordspellen. Maar als elektronische liefhebber moet ik deze trend veranderen.

Dus besloot ik een elektronische dobbelsteen te maken. Ik gebruikte Arduino voor mijn doel.

Stap 1: DIY Arduino

Deze arduino is gemaakt door mij met behulp van een atmega 328p microcontroller. De PCB hiervoor wordt besteld bij "jlcpcb.com" omdat ze best-in-class pcb's leveren voor lage prijzen. Toen heb ik alle onderdelen gesoldeerd en kreeg ik eindelijk deze schattig uitziende Arduino UNO.

Alle schema's en bestanden worden gegeven in het artikel van mijn website -

Stap 2: Project maken

Oke!!!!

genoeg over de Arduino. Laten we nu het project maken. Voor willekeurige waarden heb ik de willekeurige functie in arduino ide gebruikt om waarden van 1 tot 6 te krijgen wanneer ik op de knop druk. Dus bekijk deze volledige video om te zien hoe dit project wordt gemaakt.

Stap 3: Coderen

/* Deze code is ontworpen door RoboCircuits

Schrijf me in op youtube https://youtube.com/robocircuits of bezoek robocircuits.com We moeten altijd de bibliotheek opnemen*/

#include "LedControl.h"

/* Nu hebben we een LedControl nodig om mee te werken. ***** Deze pinnummers werken waarschijnlijk niet met uw hardware ***** pin 12 is verbonden met de DataIn pin 11 is verbonden met de CLK pin 10 is verbonden met LOAD We hebben maar een enkele MAX72XX. */

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

/* we wachten altijd een beetje tussen updates van het display */ unsigned long delaytime=500; zes byte[8]={B00000000, B11011011, B11011011, B00000000, B00000000, B11011011, B11011011, B00000000}; vijf byte[8]={B00000000, B01100110, B01100110, B00011000, B00011000, B01100110, B01100110, B00000000}; vier byte[8]={B00000000, B01100110, B01100110, B00000000, B00000000, B01100110, B01100110, B00000000}; byte drie[8]={B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011}; byte twee[8]={B00000000, B00000000, B00000000, B01100110, B01100110, B00000000, B00000000, B00000000}; byte één[8]={B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};

void setup() { /* De MAX72XX staat in de energiebesparende modus bij het opstarten, we moeten een wake-up call doen */ lc.shutdown(0, false); /* Stel de helderheid in op gemiddelde waarden */ lc.setIntensity(0, 8); /* en wis het scherm */ lc.clearDisplay(0); }

/* Deze methode geeft de karakters weer (je hebt minimaal 7x7 leds nodig om de hele karakters te zien) */ void one1() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu één voor één weer met een kleine vertraging */ lc.setRow(0, 0, one[0]); lc.setRow(0, 1, één[1]); lc.setRow(0, 2, één[2]); lc.setRow(0, 3, één[3]); lc.setRow(0, 4, één[4]); lc.setRow(0, 5, één[5]); lc.setRow(0, 6, één[6]); lc.setRow(0, 7, één[7]); vertraging (vertragingstijd); } void two2() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu één voor één weer met een kleine vertraging */ lc.setRow(0, 0, two[0]); lc.setRow(0, 1, twee[1]); lc.setRow(0, 2, twee[2]); lc.setRow(0, 3, twee[3]); lc.setRow(0, 4, twee[4]); lc.setRow(0, 5, twee[5]); lc.setRow(0, 6, twee[6]); lc.setRow(0, 7, twee[7]); vertraging (vertragingstijd); } void three3() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu één voor één weer met een kleine vertraging */ lc.setRow(0, 0, three[0]); lc.setRow(0, 1, drie[1]); lc.setRow(0, 2, drie[2]); lc.setRow(0, 3, drie[3]); lc.setRow(0, 4, drie[4]); lc.setRow(0, 5, drie[5]); lc.setRow(0, 6, drie[6]); lc.setRow(0, 7, drie[7]); vertraging (vertragingstijd); } void four4() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu vier aan vier weer met een kleine vertraging */ lc.setRow(0, 0, four[0]); lc.setRow(0, 1, vier[1]); lc.setRow(0, 2, vier[2]); lc.setRow(0, 3, vier[3]); lc.setRow(0, 4, vier[4]); lc.setRow(0, 5, vier[5]); lc.setRow(0, 6, vier[6]); lc.setRow(0, 7, vier[7]); vertraging (vertragingstijd); } void five5() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu vijf bij vijf weer met een kleine vertraging */ lc.setRow(0, 0, five[0]); lc.setRow(0, 1, vijf[1]); lc.setRow(0, 2, vijf[2]); lc.setRow(0, 3, vijf[3]); lc.setRow(0, 4, vijf[4]); lc.setRow(0, 5, vijf[5]); lc.setRow(0, 6, vijf[6]); lc.setRow(0, 7, vijf[7]);

vertraging (vertragingstijd); } void six6() { /* hier zijn de gegevens voor de karakters */ /* geef ze nu zes bij zes weer met een kleine vertraging */ lc.setRow(0, 0, six[0]); lc.setRow(0, 1, zes[1]); lc.setRow(0, 2, zes[2]); lc.setRow(0, 3, zes[3]); lc.setRow(0, 4, zes[4]); lc.setRow(0, 5, zes[5]); lc.setRow(0, 6, zes[6]); lc.setRow(0, 7, zes[7]); vertraging (vertragingstijd); }

void loop() { int x; if(analogRead(A4)==1000) { x = willekeurig (1, 6); } switch(x){ geval 1: one1(); pauze; geval 2: twee2(); pauze; geval 3: drie3(); pauze; geval 4: four4(); pauze; geval 5: vijf5(); pauze; geval 6: six6(); pauze;} }

Stap 4: Like Share

Abonneer ons op YouTube -

Vind ons leuk op Facebook -

Bezoek -

Aanbevolen: