Sommario:

E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30: 6 passaggi (con immagini)
E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30: 6 passaggi (con immagini)

Video: E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30: 6 passaggi (con immagini)

Video: E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30: 6 passaggi (con immagini)
Video: OLEDiTREK showing OLEDiSTATS and OLEDiLOADER demo 2024, Dicembre
Anonim
Image
Image
E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30
E-dadi - Arduino Dadi/dadi da 1 a 6 dadi + D4, D5, D8, D10, D12, D20, D24 e D30

Questo è un semplice progetto Arduino per realizzare un dado elettronico. È possibile scegliere da 1 a 6 dadi o 1 da 8 dadi speciali. La scelta si effettua semplicemente ruotando un encoder rotativo.

Queste sono le caratteristiche:

  • 1 dado: mostrando grandi punti
  • 2-6 dadi: mostra i punti e il valore totale (alternato)
  • Dadi a 4, 5, 8, 10, 12, 20, 24 e 30 facce che mostrano il valore e l'indicatore del dado scelto
  • animazione per tirare i dadi quando si preme il pulsante

È possibile inserire tutto in un cubo da 7 cm per 7 cm inclusa una batteria. Ma poi dovresti saldare tutto. Ho usato una breadboard e alcuni ponticelli per collegare tutto, da qui la scatola più grande sotto.

Per seminare i numeri casuali di Arduino, ho usato la lettura di un pin libero non connesso.

Nota: questa istruzione ti mostrerà ogni passaggio per far funzionare l'e-dice. Aggiungerò un pdf con uno schema di base per la scatola, tuttavia senza ulteriori istruzioni. Mettendo uno strato di carta sopra la matrice led, rendi più visibili numeri e risultati.

Nota 4 settimane dopo: ho portato questo progetto su un chip attiny85, con l'uso di progmem e un divisore di tensione per bypassare il pin di ripristino e usarlo come pin del pulsante. Vi prego di contattarmi per ulteriori informazioni.

Forniture

  • arduino (ho usato un nano)
  • encoder rotativo (o click-encoder ma non utilizziamo la funzione push)
  • premi il bottone
  • Matrice 8 x 8 led con Modulo MAX7219 (sono necessari meno pin! 3 invece di 8)
  • ponticelli

Passaggio 1: Passaggio 1: collegare i componenti

Passaggio 1: collegare i componenti
Passaggio 1: collegare i componenti
  • Collegare tutti i componenti in modo che nessuno dei pin sia collegato tra loro. (I fori da a ad e sono collegati per numero di riga, lo stesso per i fori da f a j)

    • L'arduino nano va in alto con perni su entrambi i lati del perno centrale.
    • L'encoder (click) o l'encoder rotativo va a sinistra
    • La matrice led a destra
    • Pulsante in basso per un facile accesso (determinare quali contatti vengono aperti premendo)
  • Usa un pezzo di filo per collegare le due linee "+"
  • Fai lo stesso per le due linee "-" (terra o terra)

Passaggio 2: Passaggio 2: collegare la matrice di LED 8x8 ad Arduino

Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino
Passaggio 2: collega la matrice di LED 8x8 ad Arduino

Usiamo una matrice led con un driver MAX72XX. Possiamo salvare fino a 5 pin e non dobbiamo multiplexare.

È possibile collegare più matrici a un driver MAX72xx. Per questo c'è un lato "OUT" e "IN". Usiamo solo i pin "IN".

Questi pin vengono inseriti nella breadbord. Puoi vedere i nomi dei pin proprio sotto la matrice di led stessa. Tutti devono essere collegati:

  • VCC a 5V (linea "+")
  • GND a GND (linea "-")
  • DIN a Arduino D12 (ponticello arancione)
  • CS ad Arduino D10 (ponticello verde)
  • Da CLK ad Arduino D11 (ponticello bianco)

Passaggio 3: Passaggio 3: collegare l'encoder rotativo

Passaggio 3: collegare l'encoder rotativo
Passaggio 3: collegare l'encoder rotativo
Passaggio 3: collegare l'encoder rotativo
Passaggio 3: collegare l'encoder rotativo

Ho usato un codificatore di clic rotativo. Questi codificatori hanno una funzione di spinta extra (e un pin extra) che non usiamo in questo progetto. Potresti farlo con un normale encoder rotativo.

Quando si ruota la manopola, l'encoder darà segnali + o - rispetto alla posizione originale. Puoi sentire delle tacche quando giri. Nel mio caso ho scoperto con Serial.print() che l'encoder ha fornito 4 passaggi per ogni tacca. Devi regolare questo se alcuni tipi di dadi vengono saltati. (Vedi codice)

Collegare l'encoder come segue:

  • GND a GND ("-"-line) (piccolo pezzo di filo nero)
  • + a 5V (linea "+") (piccolo pezzo di filo rosso)
  • SW a niente (questo è l'interruttore, che non usiamo.)
  • DT a A1 (ponticello arancione)
  • CLK su A0 (maglione bianco)

Passaggio 4: Passaggio 4: Pulsante e VCC

Passaggio 4: pulsante e VCC
Passaggio 4: pulsante e VCC

Nella mia prima versione ho usato un pulsante con una resistenza extra. Tuttavia nell'IDE arduino è possibile impostare l'uso di un resistore pull_up. Con questo non hai bisogno di un resistore in più, ma devi fare un piccolo inverso nel codice, leggendo questo pulsante.

Basta collegare un'estremità del pulsante con GND (linea "-") e l'altra estremità con D2 (ponticello blu).

L'ultimo collegamento da effettuare: un filo dall'Arduino 5V alla linea "+" per utilizzare i 5V regolati dell'arduino.

Dopo questi passaggi vengono effettuati tutti i collegamenti per creare una versione funzionante.

Nota: potresti aggiungere una batteria. Collegare la batteria con + a VIN e - a GND (linea "-").

Passaggio 5: Passaggio 5: il codice

Apri l'IDE di Arduino.

È possibile scaricare i file zip per le librerie che non sono disponibili tramite "Gestione librerie" nell'IDE.

Assicurati di aggiungere le seguenti librerie tramite "Gestione librerie" o di aggiungere manualmente la libreria nell'IDE:

LedControl di Eberhard Fahle v1.0.6

  • TimerOne di Jesse Tane, Jérôme Despastis, … (Ho scaricato e installato manualmente la versione r11 da:

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

  • Encoder di Peter Dannegger trovato su

Uso la libreria di Peter Dannegger perché ha aggiunto una funzione per dare all'encoder la sensibilità all'accelerazione: girare più velocemente fa aumentare i numeri più velocemente.

Una volta installate queste librerie, dovresti essere in grado di aprire e compilare il file edice.ino.

Passaggio 6: Passaggio 6: Rendilo carino…

Passaggio 6: rendilo carino…
Passaggio 6: rendilo carino…
Passaggio 6: rendilo carino…
Passaggio 6: rendilo carino…
Passaggio 6: rendilo carino…
Passaggio 6: rendilo carino…

Mi piace riutilizzare il mio arduino, quindi raramente saldo un progetto o faccio uno sforzo per renderlo più bello. Mi piace lo stile nerd di fili e ponticelli…

Tuttavia ho realizzato questo piccolo modello per contenere tutti i componenti. Se si posiziona la casella con i numeri da 30 a 4 stampati su carta bianca sopra la matrice, le custodie dei led separate distraggono meno. Come bonus, i led nella riga superiore ti mostreranno quale di quei dadi speciali è stato scelto.

EDIT: ho realizzato una versione con una scintilla attiny85 digistump, in una bella scatola tagliata al laser. La manopola viene utilizzata per scegliere il dado e un pulsante.

Consigliato: