Isi kandungan:

E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30: 6 Langkah (dengan Gambar)
E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30: 6 Langkah (dengan Gambar)

Video: E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30: 6 Langkah (dengan Gambar)

Video: E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30: 6 Langkah (dengan Gambar)
Video: Пройдите обучение Proteus 8.15 Advanced Level 2024, November
Anonim
Image
Image
E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30
E-dice - Arduino Die / dadu 1 hingga 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30

Ini adalah projek arduino sederhana untuk membuat die elektronik. Anda boleh memilih 1 hingga 6 dadu atau 1 daripada 8 dadu khas. Pilihan dibuat dengan hanya memutar pengekod putar.

Ini adalah ciri-ciri:

  • 1 mati: menunjukkan titik besar
  • 2-6 dadu: menunjukkan titik serta jumlah nilai (bergantian)
  • Dadu bermuka 4, 5, 8, 10, 12, 20, 24 dan 30 menunjukkan nilai dan penunjuk untuk mati yang dipilih
  • animasi untuk menggulung dadu ketika menekan butang

Adalah mungkin untuk memasukkan semua benda dalam kubus 7cm hingga 7cm termasuk bateri. Tetapi anda harus menyelesaikan semuanya. Saya menggunakan papan roti dan beberapa kabel jumper untuk menyambungkan semuanya, oleh itu kotak yang lebih besar di bawahnya.

Untuk mendapatkan nombor rawak arduino, saya menggunakan pembacaan pin percuma yang tidak berkaitan.

Catatan: Petunjuk ini akan menunjukkan kepada anda setiap langkah untuk menjayakan e-dadu. Saya akan menambahkan pdf dengan corak asas untuk kotak, namun tanpa arahan lebih lanjut. Dengan meletakkan lapisan kertas di atas matriks yang dipimpin, anda menjadikan nombor dan hasilnya lebih kelihatan.

Catatan 4 minggu kemudian: Saya memindahkan projek ini ke cip attiny85, dengan menggunakan progmem dan pembahagi voltan untuk memotong pin set semula dan menggunakannya sebagai pin butang. Sila hubungi saya untuk maklumat lebih lanjut.

Bekalan

  • arduino (saya menggunakan nano)
  • pengekod putar (atau klik-pengekod tetapi kami tidak menggunakan fungsi tolak)
  • tekan butang
  • Matriks 8 x 8 led dengan Modul MAX7219 (pin lebih sedikit diperlukan! 3 bukannya 8)
  • pelompat wayar

Langkah 1: Langkah 1: Pasangkan Komponen

Langkah 1: Pasangkan Komponen
Langkah 1: Pasangkan Komponen
  • Pasangkan semua komponen sehingga tidak ada pin yang saling terhubung. (Lubang a hingga e dihubungkan setiap nombor baris, sama dengan lubang f hingga j)

    • Arduino nano berada di bahagian atas dengan pin di kedua-dua sisi pin tengah.
    • Pengekod (klik) atau pengekod putar ke kiri
    • Matriks dipimpin di sebelah kanan
    • Tekan butang di bahagian bawah untuk akses mudah (tentukan kenalan mana yang dibuka dengan menekan)
  • Gunakan sekeping wayar untuk menghubungkan dua garisan "+"
  • Lakukan perkara yang sama untuk dua baris "-" (tanah atau gnd)

Langkah 2: Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino

Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino
Langkah 2: Sambungkan 8x8 Led Matrix ke Arduino

Kami menggunakan matriks led dengan pemacu MAX72XX. Kami dapat menjimatkan 5 pin dan tidak perlu berganda.

Adalah mungkin untuk menghubungkan beberapa matriks ke satu pemacu MAX72xx. Untuk ini terdapat sisi "OUT" dan "IN". Kami hanya menggunakan pin "IN".

Pin ini ditolak ke tali roti. Anda dapat melihat nama pin di bawah matriks yang dipimpin itu sendiri. Semua mesti dihubungkan:

  • VCC hingga 5V ("+" - garisan)
  • GND ke GND ("-" - baris)
  • DIN ke Arduino D12 (pelompat oren)
  • CS ke Arduino D10 (pelompat hijau)
  • CLK ke Arduino D11 (pelompat putih)

Langkah 3: Langkah 3: Sambungkan Rotary Encoder

Langkah 3: Sambungkan Rotary Encoder
Langkah 3: Sambungkan Rotary Encoder
Langkah 3: Sambungkan Rotary Encoder
Langkah 3: Sambungkan Rotary Encoder

Saya menggunakan encoder klik berputar. Pengekod ini mempunyai fungsi tolak tambahan (dan pin tambahan) yang tidak kami gunakan dalam projek ini. Anda boleh lakukan dengan pengekod putar biasa.

Apabila anda menghidupkan kenop, pengekod akan memberikan isyarat + atau - berbanding dengan kedudukan asal. Anda boleh merasakan takik ketika berpusing. Dalam kes saya, saya mendapati dengan Serial.print () bahawa pengekod memberikan 4 langkah untuk setiap takik. Anda harus menyesuaikannya jika beberapa jenis dadu dilewatkan. (Lihat kod)

Sambungkan pengekod seperti berikut:

  • GND ke GND ("-" - garisan) (sekeping kecil dawai hitam)
  • + hingga 5V ("+" - garisan) (sekeping kecil wayar merah)
  • SW to kosong (ini adalah suis, yang tidak kita gunakan.)
  • DT hingga A1 (pelompat oren)
  • CLK ke A0 (pelompat putih)

Langkah 4: Langkah 4: Butang dan VCC

Langkah 4: Butang dan VCC
Langkah 4: Butang dan VCC

Pada versi pertama saya menggunakan butang dengan perintang tambahan. Namun dalam arduino IDE anda boleh menetapkan penggunaan resistor pull_up. Dengan ini, anda tidak memerlukan perintang tambahan, tetapi anda perlu melakukan sedikit pembalikan dalam kod, membaca butang ini.

Cukup sambungkan satu hujung butang dengan GND ("-" - garis) dan hujung yang lain dengan D2 (pelompat biru).

Sambungan terakhir yang akan dibuat: wayar dari Arduino 5V ke garisan "+" untuk menggunakan 5V arduino yang diatur.

Selepas langkah-langkah ini semua sambungan dibuat untuk membuat versi yang berfungsi.

Catatan: Anda boleh menambah bateri. Sambungkan bateri dengan + ke VIN dan - ke GND ("-" - talian).

Langkah 5: Langkah 5: Kod

Buka Arduino IDE.

Anda boleh memuat turun fail zip untuk perpustakaan yang tidak tersedia melalui "Pengurusan Perpustakaan" di IDE.

Pastikan anda menambah perpustakaan berikut melalui "Pengurusan perpustakaan" atau menambahkan perpustakaan secara manual di IDE:

LedControl oleh Eberhard Fahle v1.0.6

  • TimerOne oleh Jesse Tane, Jérôme Despastis,… (Saya memuat turun dan memasang versi r11 secara manual dari:

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

  • Encoder oleh Peter Dannegger dijumpai di

Saya menggunakan perpustakaan Peter Danneggers kerana dia menambahkan fungsi untuk memberikan kepekaan pecutan pengekod: Berputar lebih cepat menjadikan angka naik lebih cepat.

Setelah perpustakaan tersebut dipasang, anda seharusnya dapat membuka dan menyusun fail edice.ino.

Langkah 6: Langkah 6: Jadikannya Cantik …

Langkah 6: Jadikannya Cantik …
Langkah 6: Jadikannya Cantik …
Langkah 6: Jadikannya Cantik …
Langkah 6: Jadikannya Cantik …
Langkah 6: Jadikannya Cantik …
Langkah 6: Jadikannya Cantik …

Saya suka menggunakan semula arduino saya sehingga saya jarang menyelesaikan projek atau berusaha untuk menjadikannya lebih bagus. Saya suka gaya wayar dan jumper kutu buku…

Bagaimanapun saya membuat templat kecil ini untuk menyimpan semua komponen. Sekiranya anda meletakkan kotak dengan nombor 30 hingga 4 yang dicetak di atas kertas putih di atas matriks, casing led berasingan akan mengalihkan perhatian. Sebagai bonus, petunjuk di barisan atas akan menunjukkan kepada anda mana dari dadu istimewa yang dipilih.

EDIT: Saya membuat versi dengan percikan digistump attiny85, dalam kotak lasercut yang bagus. Tombol De digunakan untuk memilih die dan juga tombol tekan.

Disyorkan: