Talaan ng mga Nilalaman:

E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30: 6 Mga Hakbang (na may Mga Larawan)
E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30: 6 Mga Hakbang (na may Mga Larawan)

Video: E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30: 6 Mga Hakbang (na may Mga Larawan)

Video: E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30: 6 Mga Hakbang (na may Mga Larawan)
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Nobyembre
Anonim
Image
Image
E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30
E-dice - Arduino Die / dice 1 hanggang 6 Dice + D4, D5, D8, D10, D12, D20, D24 at D30

Ito ay isang simpleng proyekto ng arduino upang makagawa ng isang electronic die. Posibleng pumili para sa 1 hanggang 6 dice o 1 mula sa 8 espesyal na dice. Ginagawa ang pagpipilian sa pamamagitan lamang ng pag-on ng isang rotary encoder.

Ito ang mga tampok:

  • 1 mamatay: nagpapakita ng malalaking tuldok
  • 2-6 dice: nagpapakita ng mga tuldok pati na rin ang kabuuang halaga (alternating)
  • Ang 4, 5, 8, 10, 12, 20, 24 at 30 ay nahaharap sa dice na nagpapakita ng halaga at tagapagpahiwatig para sa napiling mamatay
  • animation para sa rolling dice kapag pinindot ang pindutan

Posibleng magkasya ang lahat sa isang 7cm ng 7cm na kubo kasama ang isang baterya. Ngunit dapat mong paghihinang ang lahat. Gumamit ako ng isang breadboard at ilang mga wire ng jumper upang ikonekta ang lahat, samakatuwid ang mas malaking kahon sa ilalim.

Upang ma-seed ang mga arduino na random na numero, ginamit ko ang readout ng isang hindi nakakonektang libreng pin.

Puna: Ang itinuturo na ito ay magpapakita sa iyo ng bawat hakbang upang gumana ang e-dice. Magdaragdag ako ng isang pdf na may pangunahing pattern para sa kahon, gayunpaman nang walang karagdagang mga tagubilin. Sa pamamagitan ng paglalagay ng isang layer ng papel sa humantong matrix, ginagawa mong mas nakikita ang mga numero at resulta.

Pangunahin 4 na linggo mamaya: In-port ko ang proyektong ito sa isang attiny85 chip, na may paggamit ng progmem at isang voltage divider upang i-bypass ang reset pin at gamitin ito bilang isang pindutan ng pindutan. Mangyaring makipag-ugnay sa akin para sa karagdagang impormasyon.

Mga gamit

  • arduino (gumamit ako ng nano)
  • rotary encoder (o click-encoder ngunit hindi namin ginagamit ang push function)
  • pindutan
  • 8 x 8 led matrix na may MAX7219 Module (mas kaunting mga pin ang kinakailangan! 3 sa halip na 8)
  • jumpers ng kawad

Hakbang 1: Hakbang 1: I-plug ang Mga Component

Hakbang 1: I-plug in ang Mga Sangkap
Hakbang 1: I-plug in ang Mga Sangkap
  • I-plug ang lahat ng mga bahagi kaya wala sa mga pin ang nakakonekta sa bawat isa. (Ang mga butas a to e ay konektado bawat numero ng linya, pareho para sa mga butas f to j)

    • Ang arduino nano ay napupunta sa tuktok na may mga pin sa magkabilang panig ng gitnang pin.
    • Ang (click) encoder o rotary encoder ay umalis sa kaliwa
    • Ang led matrix sa kanan
    • Pindutin ang pindutan sa ibaba para sa madaling pag-access (tukuyin kung aling mga contact ang bubuksan sa pamamagitan ng pagtulak)
  • Gumamit ng isang piraso ng kawad upang ikonekta ang dalawang linya na "+"
  • Gawin ang pareho para sa dalawang linya na "-" (ground o gnd)

Hakbang 2: Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino

Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino
Hakbang 2: Ikonekta ang 8x8 Led Matrix sa Arduino

Gumagamit kami ng isang led matrix na may driver na MAX72XX. Maaari kaming makatipid ng 5 mga pin at hindi kailangang mag-multiplex.

Posibleng ikonekta ang maraming mga matrice sa isang driver ng MAX72xx. Para dito mayroong isang "LABAS" at "IN" na panig. Gumagamit lang kami ng mga "IN" na mga pin.

Ang mga pin na ito ay itinulak sa breadbord. Maaari mong makita ang mga pangalan ng pin sa ilalim lamang ng led matrix mismo. Lahat ay dapat na konektado:

  • VCC hanggang 5V ("+" - linya)
  • GND hanggang GND ("-" - linya)
  • DIN kay Arduino D12 (orange jumper)
  • CS to Arduino D10 (green jumper)
  • CLK sa Arduino D11 (puting jumper)

Hakbang 3: Hakbang 3: Ikonekta ang Rotary Encoder

Hakbang 3: Ikonekta ang Rotary Encoder
Hakbang 3: Ikonekta ang Rotary Encoder
Hakbang 3: Ikonekta ang Rotary Encoder
Hakbang 3: Ikonekta ang Rotary Encoder

Gumamit ako ng isang rotary click encoder. Ang mga encoder na ito ay may labis na function ng push (at sobrang pin) na hindi namin ginagamit sa proyektong ito. Maaari mong gawin sa isang ordinaryong rotary encoder.

Kapag pinihit mo ang knob, ang encoder ay magbibigay ng + o - mga signal kumpara sa orihinal na posisyon. Maaari kang makaramdam ng mga notch kapag lumiliko. Sa aking kaso nalaman ko sa Serial.print () na ang encoder ay nagbigay ng 4 na mga hakbang para sa bawat bingaw. Kailangan mong ayusin ito kung ang ilan sa mga uri ng dice ay nilaktawan. (Tingnan ang code)

Ikonekta ang encoder tulad ng sinusundan:

  • GND hanggang GND ("-" - linya) (maliit na piraso ng itim na kawad)
  • + hanggang 5V ("+" - linya) (maliit na piraso ng pulang kawad)
  • SW sa wala (ito ang switch, na hindi namin ginagamit.)
  • DT hanggang A1 (orange jumper)
  • CLK to A0 (puting jumper)

Hakbang 4: Hakbang 4: Button at VCC

Hakbang 4: Button at VCC
Hakbang 4: Button at VCC

Sa aking unang bersyon gumamit ako ng isang pindutan na may isang labis na risistor. Gayunpaman sa arduino IDE maaari mong itakda ang paggamit ng isang resist_up resistor. Sa pamamagitan nito hindi mo na kailangan ng sobrang resistor, ngunit kailangan mong gumawa ng kaunting kabaligtaran sa code, na binabasa ang pindutan na ito.

Ikonekta lamang ang isang dulo ng pindutan gamit ang GND ("-" - linya) at ang kabilang dulo sa D2 (asul na lumulukso).

Ang huling koneksyon na gagawin: isang kawad mula sa Arduino 5V sa "+" - linya para sa paggamit ng kinokontrol na 5V ng arduino.

Matapos ang mga hakbang na ito ang lahat ng mga koneksyon ay ginawa upang makagawa ng isang gumaganang bersyon.

Puna: Maaari kang magdagdag ng isang baterya. Ikonekta ang baterya gamit ang + sa VIN at - sa GND ("-" - linya).

Hakbang 5: Hakbang 5: ang Code

Buksan ang Arduino IDE.

Maaari mong i-download ang mga zip file para sa mga aklatan na hindi magagamit sa pamamagitan ng Pamamahala ng Library 'sa IDE.

Tiyaking idaragdag mo ang mga sumusunod na aklatan sa pamamagitan ng "Pamamahala ng library" o manu-manong idagdag ang library sa IDE:

LedControl ni Eberhard Fahle v1.0.6

  • TimerOne ni Jesse Tane, Jérôme Despastis,… (Na-download at na-install kong manu-manong bersyon r11 mula sa:

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

  • Ang Encoder ni Peter Dannegger ay natagpuan sa

Gumagamit ako ng library ng Peter Danneggers sapagkat nagdagdag siya ng isang pagpapaandar upang maibigay ang pagkasensitibo ng pagpabilis ng encoder: Ang pag-ikot nang mas mabilis ay ginagawang mas mabilis ang mga numero.

Kapag na-install na ang mga silid aklatan na iyon, dapat mong buksan at maipon ang file na edice.ino.

Hakbang 6: Hakbang 6: Gawing maganda …

Hakbang 6: Gawin itong Medyo…
Hakbang 6: Gawin itong Medyo…
Hakbang 6: Gawin itong Medyo…
Hakbang 6: Gawin itong Medyo…
Hakbang 6: Gawin itong Medyo…
Hakbang 6: Gawin itong Medyo…

Gusto kong muling gamitin ang aking arduino kaya bihira akong maghinang ng isang proyekto o gumawa ng pagsisikap upang gawin itong mas maganda. Gusto ko ang nerdy style ng mga wire at jumper…

Gayunpaman ginawa ko ang maliit na template na ito upang hawakan ang lahat ng mga bahagi. Kung inilalagay mo ang kahon na may mga bilang na 30 hanggang 4 na nakalimbag sa puting papel sa ibabaw ng matrix, ang magkakahiwalay na led encasings ay mas nakakaabala. Bilang isang bonus, ipapakita sa iyo ng mga leds sa tuktok na hilera kung alin sa mga espesyal na dice ang napili.

EDIT: Gumawa ako ng isang bersyon na may isang attiny85 digistump spark, sa isang magandang kahon ng lasercut. Ginagamit ang De knob upang piliin ang mamatay pati na rin ang isang pushbutton.

Inirerekumendang: