Daftar Isi:

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

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

Video: E-dice - Arduino Die/dadu 1 sampai 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-dadu - Arduino Die/dadu 1 sampai 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30
E-dadu - Arduino Die/dadu 1 sampai 6 Dadu + D4, D5, D8, D10, D12, D20, D24 dan D30

Ini adalah proyek arduino sederhana untuk membuat die elektronik. Dimungkinkan untuk memilih 1 hingga 6 dadu atau 1 dari 8 dadu khusus. Pilihan dibuat hanya dengan memutar rotary encoder.

Ini adalah fitur-fiturnya:

  • 1 mati: menunjukkan titik-titik besar
  • 2-6 dadu: menunjukkan titik serta nilai total (bergantian)
  • 4, 5, 8, 10, 12, 20, 24 dan 30 dadu berwajah yang menunjukkan nilai dan indikator untuk dadu yang dipilih
  • animasi untuk melempar dadu saat menekan tombol

Dimungkinkan untuk memasukkan semuanya ke dalam kubus berukuran 7cm kali 7cm termasuk baterai. Tapi kemudian Anda harus menyolder semuanya. Saya menggunakan papan tempat memotong roti dan beberapa kabel jumper untuk menghubungkan semuanya, maka kotak yang lebih besar di bawahnya.

Untuk menyemai nomor acak arduino, saya menggunakan pembacaan pin bebas yang tidak terhubung.

Catatan: Instruksi ini akan menunjukkan kepada Anda setiap langkah untuk membuat e-dadu berfungsi. Saya akan menambahkan pdf dengan pola dasar untuk kotak, namun tanpa instruksi lebih lanjut. Dengan meletakkan lapisan kertas di atas matriks yang dipimpin, Anda membuat angka dan hasil lebih terlihat.

Catatan 4 minggu kemudian: Saya mem-porting proyek ini ke chip attiny85, dengan menggunakan progmem dan pembagi tegangan untuk mem-bypass pin reset dan menggunakannya sebagai pin tombol. Silahkan hubungi saya untuk informasi lebih lanjut.

Perlengkapan

  • arduino (saya menggunakan nano)
  • rotary encoder (atau click-encoder tetapi kami tidak menggunakan fungsi push)
  • tekan tombol
  • 8 x 8 led matrix dengan MAX7219 Module (lebih sedikit pin yang dibutuhkan! 3 bukannya 8)
  • jumper kawat

Langkah 1: Langkah 1: Pasang Komponen

Langkah 1: Pasang Komponen
Langkah 1: Pasang Komponen
  • Colokkan semua komponen sehingga tidak ada pin yang terhubung satu sama lain. (Lubang a ke e terhubung per nomor baris, sama untuk lubang f ke j)

    • Arduino nano berada di bagian atas dengan pin di kedua sisi pin tengah.
    • Encoder (klik) atau encoder putar ke kiri
    • Matriks yang dipimpin di sebelah kanan
    • Tekan tombol di bagian bawah untuk memudahkan akses (menentukan kontak mana yang dibuka dengan menekan)
  • Gunakan seutas kawat untuk menghubungkan dua garis "+"
  • Lakukan hal yang sama untuk dua garis "-" (ground atau gnd)

Langkah 2: Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino

Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino
Langkah 2: Hubungkan Matriks Led 8x8 ke Arduino

Kami menggunakan matriks led dengan driver MAX72XX. Kita bisa menghemat 5 pin dan tidak perlu multipleks.

Dimungkinkan untuk menghubungkan beberapa matriks ke satu driver MAX72xx. Untuk ini ada sisi "OUT" dan "IN". Kami hanya menggunakan pin "IN".

Pin ini didorong ke breadbord. Anda dapat melihat nama pin tepat di bawah matriks led itu sendiri. Semua harus terhubung:

  • VCC ke 5V ("+"-baris)
  • GND ke GND ("-"-baris)
  • DIN ke Arduino D12 (jumper oranye)
  • CS ke Arduino D10 (jumper hijau)
  • CLK ke Arduino D11 (jumper putih)

Langkah 3: Langkah 3: Hubungkan Rotary Encoder

Langkah 3: Hubungkan Rotary Encoder
Langkah 3: Hubungkan Rotary Encoder
Langkah 3: Hubungkan Rotary Encoder
Langkah 3: Hubungkan Rotary Encoder

Saya menggunakan encoder klik putar. Encoder ini memiliki fungsi push ekstra (dan pin ekstra) yang tidak kami gunakan dalam proyek ini. Anda bisa melakukannya dengan rotary encoder biasa.

Saat Anda memutar kenop, encoder akan memberikan sinyal + atau - dibandingkan dengan posisi semula. Anda bisa merasakan takik saat berputar. Dalam kasus saya, saya menemukan dengan Serial.print() bahwa pembuat enkode memberikan 4 langkah untuk setiap takik. Anda harus menyesuaikan ini jika beberapa jenis dadu dilewati. (Lihat kode)

Hubungkan encoder sebagai berikut:

  • GND ke GND ("-"-line) (sepotong kecil kabel hitam)
  • + ke 5V ("+"-line) (sepotong kecil kabel merah)
  • SW ke nol (ini adalah sakelar, yang tidak kami gunakan.)
  • DT ke A1 (jumper oranye)
  • CLK ke A0 (jumper putih)

Langkah 4: Langkah 4: Tombol dan VCC

Langkah 4: Tombol dan VCC
Langkah 4: Tombol dan VCC

Dalam versi pertama saya, saya menggunakan tombol dengan resistor tambahan. Namun di arduino IDE Anda dapat mengatur penggunaan resistor pull_up. Dengan ini Anda tidak memerlukan resistor tambahan, tetapi Anda harus melakukan sedikit kebalikan dalam kode, membaca tombol ini.

Cukup sambungkan salah satu ujung tombol dengan GND ("-"-line) dan ujung lainnya dengan D2 (jumper biru).

Sambungan terakhir yang harus dibuat: kabel dari Arduino 5V ke jalur "+" untuk menggunakan 5V arduino yang diatur.

Setelah langkah-langkah ini, semua koneksi dibuat untuk membuat versi yang berfungsi.

Catatan: Anda bisa menambahkan baterai. Hubungkan baterai dengan + ke VIN dan - ke GND ("-"-line).

Langkah 5: Langkah 5: Kode

Buka Arduino IDE-nya.

Anda dapat mengunduh file zip untuk perpustakaan yang tidak tersedia melalui "Manajemen Perpustakaan" di IDE.

Pastikan Anda menambahkan perpustakaan berikut melalui "Manajemen perpustakaan" atau menambahkan perpustakaan secara manual di IDE:

LedControl oleh Eberhard Fahle v1.0.6

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

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

  • Encoder oleh Peter Dannegger ditemukan di

Saya menggunakan perpustakaan Peter Danneggers karena dia menambahkan fungsi untuk memberikan sensitivitas akselerasi encoder: Berputar lebih cepat membuat angka naik lebih cepat.

Setelah library tersebut terinstal, Anda seharusnya dapat membuka dan mengkompilasi file edice.ino.

Langkah 6: Langkah 6: Jadikan Cantik…

Langkah 6: Jadikan Cantik…
Langkah 6: Jadikan Cantik…
Langkah 6: Jadikan Cantik…
Langkah 6: Jadikan Cantik…
Langkah 6: Jadikan Cantik…
Langkah 6: Jadikan Cantik…

Saya suka menggunakan kembali arduino saya jadi saya jarang menyolder proyek atau berusaha membuatnya terlihat lebih bagus. Saya suka gaya kabel dan jumper kutu buku…

Namun saya membuat template kecil ini untuk menampung semua komponen. Jika Anda menempatkan kotak dengan nomor 30 hingga 4 yang dicetak di atas kertas putih di atas matriks, selubung led yang terpisah kurang mengalihkan perhatian. Sebagai bonus, led di baris atas akan menunjukkan kepada Anda dadu spesial mana yang dipilih.

EDIT: Saya membuat versi dengan percikan digistump attiny85, dalam kotak potong laser yang bagus. Kenop De digunakan untuk memilih die serta tombol tekan.

Direkomendasikan: