INHOUDSOPGAWE:

E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 dobbelstene + D4, D5, D8, D10, D12, D20, D24 en D30: 6 stappe (met foto's)
E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 dobbelstene + D4, D5, D8, D10, D12, D20, D24 en D30: 6 stappe (met foto's)

Video: E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 dobbelstene + D4, D5, D8, D10, D12, D20, D24 en D30: 6 stappe (met foto's)

Video: E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 dobbelstene + D4, D5, D8, D10, D12, D20, D24 en D30: 6 stappe (met foto's)
Video: Как сделать электронные кости 2024, November
Anonim
Image
Image
E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 Dobbel + D4, D5, D8, D10, D12, D20, D24 en D30
E -dobbelsteen - Arduino Die/dobbelsteen 1 tot 6 Dobbel + D4, D5, D8, D10, D12, D20, D24 en D30

Dit is 'n eenvoudige arduino -projek om 'n elektroniese dobbelsteen te maak. Dit is moontlik om 1 tot 6 dobbelstene of 1 uit 8 spesiale dobbelstene te kies. U kan slegs kies deur 'n draaiknop te draai.

Dit is die kenmerke:

  • 1 sterf: met groot kolletjies
  • 2-6 dobbelstene: toon kolletjies sowel as totale waarde (afwisselend)
  • 4, 5, 8, 10, 12, 20, 24 en 30 gekonfronteer dobbelstene wat waarde en aanduiding vir gekose dobbelsteen toon
  • animasie om dobbelstene te rol wanneer u op die knoppie druk

Dit is moontlik om alles in 'n kubus van 7 cm by 7 cm te plaas, insluitend 'n battery. Maar dan moet jy alles soldeer. Ek het 'n broodbord en 'n paar draaddrade gebruik om alles aan te sluit, vandaar die groter boks daaronder.

Om die ewekansige getalle van die arduino te ontdek, het ek die uitlees van 'n los gekoppelde pen gebruik.

Opmerking: hierdie instruksies wys u elke stap om die e-dobbelsteen te laat werk. Ek sal 'n pdf met 'n basiese patroon vir die boks byvoeg, maar sonder verdere instruksies. Deur 'n laag papier oor die led -matriks te plaas, maak u getalle en resultate meer sigbaar.

Opmerking 4 weke later: ek het hierdie projek na 'n attiny85 -chip oorgedra, met behulp van 'n program en 'n spanningsverdeler om die reset -pen te omseil en dit as 'n knoppen te gebruik. Kontak my gerus vir meer inligting.

Voorrade

  • arduino (ek het 'n nano gebruik)
  • roterende encoder (of klik-encoder, maar ons gebruik nie die push-funksie nie)
  • druk knoppie
  • 8 x 8 led matriks met MAX7219 module (minder penne nodig! 3 in plaas van 8)
  • draadspringers

Stap 1: Stap 1: Koppel komponente aan

Stap 1: Sluit komponente aan
Stap 1: Sluit komponente aan
  • Koppel alle komponente aan sodat geen van die penne met mekaar verbind is nie. (Gat a tot e word per reëlnommer verbind, dieselfde vir gate f tot j)

    • Die arduino nano loop bo -op met penne aan weerskante van die sentrale pen.
    • Die (klik) encoder of roterende encoder gaan links
    • Die led -matriks aan die regterkant
    • Drukknoppie onderaan vir maklike toegang (bepaal watter kontakte oopgemaak word deur te druk)
  • Gebruik 'n stuk draad om die twee "+" lyne met mekaar te verbind
  • Doen dieselfde vir die twee "-" lyne (grond of gnd)

Stap 2: Stap 2: Koppel 8x8 Led Matrix aan op Arduino

Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino
Stap 2: Koppel 8x8 Led Matrix aan op Arduino

Ons gebruik 'n led -matriks met 'n MAX72XX -bestuurder. Ons kan 5 penne bespaar en hoef nie te multiplex nie.

Dit is moontlik om verskeie matrikse aan een MAX72xx -bestuurder te koppel. Hiervoor is daar 'n "OUT" en "IN" kant. Ons gebruik slegs die "IN" penne.

Hierdie penne word in die broodbord gedruk. U kan die penname net onder die led -matriks self sien. Almal moet verbind word:

  • VCC tot 5V ("+"-reël)
  • GND tot GND ("-"-reël)
  • DIN tot Arduino D12 (oranje trui)
  • CS tot Arduino D10 (groen trui)
  • CLK tot Arduino D11 (wit trui)

Stap 3: Stap 3: Koppel Rotary Encoder aan

Stap 3: Koppel Rotary Encoder aan
Stap 3: Koppel Rotary Encoder aan
Stap 3: Koppel Rotary Encoder aan
Stap 3: Koppel Rotary Encoder aan

Ek het 'n roterende klik -enkodeerder gebruik. Hierdie encoders het 'n ekstra drukfunksie (en ekstra pen) wat ons nie in hierdie projek gebruik nie. U kan doen met 'n gewone roterende encoder.

As u aan die knop draai, gee die encoder + of - seine in vergelyking met die oorspronklike posisie. U kan kerpe voel as u draai. In my geval het ek met Serial.print () uitgevind dat die encoder 4 stappe vir elke kerf gegee het. U moet dit aanpas as sommige van die dobbelsteen tipes oorgeslaan word. (Sien kode)

Koppel die encoder soos volg:

  • GND tot GND ("-"-lyn) (klein stukkie swart draad)
  • + tot 5V ("+"-lyn) (klein stukkie rooi draad)
  • SW tot niks (dit is die skakelaar wat ons nie gebruik nie.)
  • DT tot A1 (oranje trui)
  • CLK tot A0 (wit trui)

Stap 4: Stap 4: Knoppie en VCC

Stap 4: Knoppie en VCC
Stap 4: Knoppie en VCC

In my eerste weergawe het ek 'n knoppie met 'n ekstra weerstand gebruik. In die arduino IDE kan u egter die gebruik van 'n pull -up -weerstand instel. Hiermee het u geen ekstra weerstand nodig nie, maar u moet 'n bietjie omgekeerd in die kode doen deur hierdie knoppie te lees.

Verbind eenvoudig die een kant van die knoppie met GND ("-"-lyn) en die ander kant met D2 (blou trui).

Die laaste verbinding wat gemaak moet word: 'n draad van die Arduino 5V na die "+"-lyn vir die gebruik van die gereguleerde 5V van die arduino.

Na hierdie stappe word alle verbindings gemaak om 'n werkende weergawe te maak.

Opmerking: u kan 'n battery byvoeg. Koppel die battery met + aan VIN en-aan GND ("-"-lyn).

Stap 5: Stap 5: die kode

Maak die Arduino IDE oop.

U kan die zip -lêers aflaai vir die biblioteke wat nie beskikbaar is via die 'Library Management' in die IDE nie.

Maak seker dat u die volgende biblioteke byvoeg deur 'Biblioteekbestuur' of biblioteek handmatig in die IDE by te voeg:

LedControl deur Eberhard Fahle v1.0.6

  • TimerOne deur Jesse Tane, Jérôme Despastis, … (ek het weergawe r11 met die hand afgelaai en geïnstalleer vanaf:

    code.google.com/archive/p/arduino-timerone…

  • Encoder deur Peter Dannegger gevind op

Ek gebruik die Peter Danneggers -biblioteek omdat hy 'n funksie bygevoeg het om die versneller sensitiwiteit van die encoder te gee: vinniger draai laat die getalle vinniger styg.

Sodra die biblioteke geïnstalleer is, moet u die edice.ino -lêer kan oopmaak en saamstel.

Stap 6: Stap 6: Maak dit mooi …

Stap 6: Maak dit mooi …
Stap 6: Maak dit mooi …
Stap 6: Maak dit mooi …
Stap 6: Maak dit mooi …
Stap 6: Maak dit mooi …
Stap 6: Maak dit mooi …

Ek hou daarvan om my arduino's te hergebruik, sodat ek selde 'n projek soldeer of moeite doen om dit mooier te laat lyk. Ek hou van die nerdy styl van drade en springers …

Ek het egter hierdie klein sjabloon gemaak om alle komponente te bevat. As u die boks met die getalle 30 tot 4 op wit papier oor die matriks plaas, lei die afsonderlike led -omhulsels minder aandag af. As 'n bonus, sal die LED's in die boonste ry jou wys watter van die spesiale dobbelstene gekies is.

EDIT: Ek het 'n weergawe gemaak met 'n attiny85 digistump vonk, in 'n mooi laserknippie. Die knop word gebruik om die dobbelsteen sowel as 'n drukknop te kies.

Aanbeveel: