Isi kandungan:

Rainbow Dice: 6 Langkah (dengan Gambar)
Rainbow Dice: 6 Langkah (dengan Gambar)

Video: Rainbow Dice: 6 Langkah (dengan Gambar)

Video: Rainbow Dice: 6 Langkah (dengan Gambar)
Video: Smartest Speed Cuber in Ohio 2024, Julai
Anonim
Dadu Pelangi
Dadu Pelangi

Ini menjadikan kotak permainan dadu dengan 5 die terdiri dari LED smd dalam 5 warna. Perisian yang mendorongnya memungkinkan untuk mod permainan yang berbeza dengan beberapa dadu yang terlibat.

Satu suis utama membolehkan pemilihan permainan dan dadu bergulir. Suis individu di sebelah setiap die membolehkan pemilihan atau kawalan mengikut jenis permainan.

Kos pembinaan sangat sederhana tetapi memerlukan banyak masa pembinaan, besi pemateri yang baik, dan tangan yang stabil.

Elektroniknya dibuat berdasarkan modul ESP8266 (ESP-12F) yang menjalankan pelayan web yang membolehkan kemas kini firmware yang mudah dan kemungkinan pemantauan / pengembangan permainan.

Kotak ini dikuasakan dengan bateri dengan bateri yang boleh dicas semula dan kerana penggunaan semasa cukup sederhana, ia akan berjalan selama berjam-jam dengan satu pengisian.

Langkah 1: Bahagian dan Alat

Bahagian dan Alat
Bahagian dan Alat
Bahagian dan Alat
Bahagian dan Alat
Bahagian dan Alat
Bahagian dan Alat

Komponen

Komponen berikut diperlukan. Semuanya boleh didapati di eBay

  1. Modul pemprosesan wifi ESP-12F ESP8266. (£ 1.50)
  2. Bateri dan pemegang 18650 (£ 3.00)
  3. SMD LED x7 berwarna merah, biru, hijau, kuning, putih (bungkusan 20 setiap warna £ 0.99)
  4. Butang tekan 6mm suis x6 (£ 0.12)
  5. Slaid hidup / mati suis mini 8x4mm (£ 0.10)
  6. Modul pengecas bateri USB LIPO (£ 0.20)
  7. n saluran MOSFETS - AO3400 x6 (£ 0,20)
  8. 3.3V Pengatur penurunan rendah - XC6203E (£ 0.20)
  9. Elektrolit 220uF (£ 0.15)
  10. 220R perintang x5 (£ 0,05)
  11. Perintang 4K7 x 6 (0.06)
  12. Papan prototaip terpasang lubang sisi ganda (£ 0.50)
  13. Kawat cangkuk fleksibel
  14. Kawat tembaga berlapis 32
  15. Pin header 40 helai pin x3 (£ 0,30)

Sebagai tambahan, sebuah kandang diperlukan. Saya merancang kotak bercetak 3D untuk menahan segalanya dan membolehkan LED bersinar. Ini boleh didapati di Thingiverse.

Alat

  1. Besi pematerian titik halus
  2. Pinset Halus
  3. Pemotong wayar
  4. Gergaji besi junior
  5. Fail jarum berguna
  6. Gam Resin
  7. Akses ke pencetak 3D jika menggunakan reka bentuk kotak disertakan.

Langkah 2: Penerangan Litar

Huraian Litar
Huraian Litar

Skema menunjukkan modul ESP-12F menggerakkan 5 susunan LED yang membentuk dadu.

Setiap dadu terbuat dari 7 LED yang disusun 3 pasang (2 pepenjuru dan tengah) ditambah satu LED pusat. Ini memerlukan 4 pin GPIO untuk memilih LEDS yang akan dipaparkan. Perintang 220R digunakan untuk menentukan arus dan 2 digunakan secara bersiri untuk LED tengah supaya arus sama.

5 dadu dilipatgandakan oleh 5 garisan GPIO yang menggerakkan suis MOSFET. Hanya satu suis diaktifkan pada satu masa. Perisian ini membolehkan 1mSec per mati sehingga tempoh penyegaran keseluruhan adalah 200Hz dan tidak ada kerlipan.

5 suis dikaitkan dengan setiap mati. Oleh kerana GPIO terhad ini dibaca dengan menggunakan baris yang sama dengan yang digunakan untuk melipatgandakan die. Semasa urutan multiplex garis kawalan ini ditetapkan sebagai input dengan pull up dan keadaan suis dibaca. Mereka kemudian dikembalikan ke output untuk sisa urutan multipleks.

Suis ke-6 untuk kawalan keseluruhan dibaca oleh garis GPIO16. Ini hanya boleh ditarik sehingga suis disambungkan ke 3.3V. Ini rendah apabila suis terbuka dan tinggi ketika ditutup.

Langkah 3: Pembinaan DIe

Pembinaan DIe
Pembinaan DIe
Pembinaan DIe
Pembinaan DIe

Ini adalah bahagian pekerjaan yang paling memakan masa dan memerlukan penjagaan.

Setiap die dibina pada sekeping papan prototaip persegi 6 lubang x 6 lubang. Langkah pertama adalah memotong 5 dari satu papan dengan menggunakan gergaji mini. Cuba tinggalkan sedikit sempadan di luar lubang mungkin.

Tahap seterusnya adalah dengan menambahkan 2 header pin 6 di setiap sisi, dan 2 set 3 pin terpencil di sebelahnya, dan kemudian pasangan lebih jauh di tengah. Inilah yang akan menahan LED SMD. Saya merasa baik untuk melepaskan 2 pin yang tidak digunakan dari setiap lajur luar. Bahagian atas papan di mana LEDS akan dipasang harus dipotong pin header sehingga hanya 1mm menonjol. Cuba menjaga mereka semua tahap. Ini membolehkan LED menonjol di atas permukaan papan.

7 LED SMD kini disolder di atas setiap pasangan pin. Ini adalah bahagian paling sukar dari keseluruhan pembinaan tetapi tidak memerlukan masa yang lama setelah menjalani latihan. Teknik yang saya gunakan adalah mengemas bahagian atas setengah pin sehingga sudah ada beberapa solder. Kemudian pegang LED di pinset, cairkan lagi pateri dan masukkan LED ke dalamnya. Jangan terlalu bimbang tentang kualiti sendi pada tahap ini. Yang lebih penting ialah mendapatkan penjajaran LED sebaik mungkin, melintang dan melintasi pin. Setelah LED dipasang maka ia dapat disolder dengan betul di hujung yang lain ke pinnya dan kemudian sendi pertama yang dilekatkan jika diperlukan.

Kutuban diod mesti betul. Saya mengatur semua pin header luar untuk disambungkan ke anod. LED tengah saya membuat orientasi yang sama dengan lajur sebelah kiri (dilihat dari muka dan dengan baris ganti di bahagian bawah. Dioda mempunyai tanda samar pada katod, tetapi juga bagus untuk diperiksa dengan meter. Dioda akan sebenarnya menyala ketika menggunakan julat rintangan (katakan 2K) dan plumbum merah pada anod dan hitam pada katod. Mereka tetap tidak menyala sebaliknya. Ini juga kaedah yang baik untuk memeriksa warna jika bercampur.

Setelah LED dipasang maka papan selebihnya dapat dilengkapkan.

Di bahagian bawah papan.

  1. Kabelkan semua katod bersama-sama menggunakan dawai helai tunggal nipis tanpa bertebat.
  2. Selesaikan mosfet dengan pin saliran yang disambungkan ke tali katod
  3. Kabelkan sumber mosfet ke pin headernya yang akhirnya akan menjadi 0V
  4. Kawat pintu melalui perintang 4K7 ke pin pengepala. Adalah baik untuk membakarnya melalui lubang bawah yang lain seperti yang ditunjukkan di sinilah suis akan bersambung.

Di bahagian depan papan salib sambungkan 3 pasang anod.

  1. Gunakan wayar enamel yang boleh dipateri untuk memastikan profilnya rendah.
  2. Pra timah satu hujung setiap wayar
  3. Pateri ke satu anod.
  4. Lalukan dan potong panjang.
  5. Pra-timah dan pateri padanya sepadan dengan pasangan anod.

Pada tahap ini adalah baik untuk melakukan ujian awal setiap die dengan menggunakan multimeter. Dengan plumbum hitam pada katod biasa (saliran Mosfet), plumbum merah dapat dipindahkan ke 3 pasangan anod dan anod tunggal. LED yang sesuai harus menyala.

Langkah 4: Pembinaan Kotak

Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak
Pembinaan Kotak

Ini menganggap versi kotak cetak 3D sedang digunakan. Kotak mempunyai inden untuk setiap mati dan setiap LED. Lapisan bawah di bawah setiap LED sangat nipis (0.24mm) sehingga dengan plastik putih ia membolehkan cahaya bersinar dengan sangat baik dan bertindak sebagai penyebar. Terdapat potongan untuk semua suis, dan titik pengecasan. Bateri mempunyai ruang sendiri.

Pasang pertama 6 suis butang tekan dan suis slaid di tempatnya. Pastikan mereka rata dengan bahagian luar. Suis butang tekan mempunyai dua pasang kenalan yang disambungkan secara selari. Arahkan mereka supaya kenalan beralih berdekatan dengan die mereka. Gunakan beberapa resin penetapan cepat untuk terkunci pada tempatnya.

Sekarang pasangkan bateri dan kotaknya di tempat yang disediakan. Ia harus cukup sesuai tetapi gunakan sedikit gam jika diperlukan.

Lekatkan pengecas LIPO di dinding dengan USB mikro yang dapat diakses melalui lubang.

Lengkapkan pendawaian kuasa asas dengan melingkar bumi bateri melalui semua suis butang tekan dan sambungan LIPO B- dan meninggalkan ekor babi untuk disambungkan ke elektronik. Bateri + harus menggunakan B + pada pengecas LIPO dan ke suis slaid. Bahagian lain suis slaid harus beralih suis keenam dan ekor babi untuk elektronik. Pastikan suis slaid berada dalam kedudukan mati dan melindungi ekor babi buat sementara waktu. Anda tidak mahu kekurangan bateri!

Solder pada dua ekor babi yang tidak bertebat pendek pada setiap 5 suis mati. Ini perlu sedikit fleksibel.

Letakkan dan selamatkan setiap die pada posisinya dengan menyolder kedua kuncir suis ke papan mati memastikan 0V suis disambungkan ke sumber mosfet / titik 0V dan bahagian langsung suis melalui gerbang 4K7 / mosfet. LED di papan mestilah pas di casing dan wayar suis harus cukup untuk menahan mati pada kedudukannya.

Seterusnya sambungkan semua anoda biasa dari 5 dadu. Ini dipermudah kerana sambungan pasangan dioda terdapat di kedua-dua sisi die, tetapi ingat bahawa ini disilangkan pada pepenjuru. Jangan bingung dengan wayar merah dalam gambar yang nampaknya akan mati. Ini hanya kuncir dan tidak berkaitan dengan apa-apa pada tahap ini.

Solekan ESP-12F

Perhatikan bahawa anda mungkin ingin memprogram modul ESP-12F sebelum memasang. Setelah di-flash maka semua kemas kini lain dapat dilakukan dengan menggunakan wifi OTA.

Buat pengawal selia 3.3V pada kad protype yang tersisa. Ini hanya mempunyai pengatur LDO di atasnya dan kapasitor pemutusan. Walaupun pelesapan kuasa sangat rendah, saya menyatukan beberapa kenalan bersama untuk bertindak sebagai pendingin untuk peranti. Dua wayar boleh menonjol keluar dan membuat sambungan langsung ke 3.3V / 0V ESP-12F.

Pateri pada wayar ke pin GPIO untuk 5 garis multiplex dan suis 6. Garis pemacu anod 4 LED memerlukan perintang siri 220R / 440R sejajar. Seseorang boleh menggunakan perintang lubang kecil melalui ESP-12F untuk ini atau saya melakukannya dengan SMD yang hanya ditumpuk ke lubang yang cukup kuat juga.

Akhirnya pasangkan jalur multiplex ke pin header die individu dan garis pemacu anod ke rantai daisy yang sesuai.

Langkah 5: Perisian

Perisian untuk ini berdasarkan persekitaran ESP8266 Arduino. Ia boleh didapati di github.

Kod ada di sini

Terdapat perpustakaan diceDriver yang menyediakan fungsi tahap rendah yang digunakan untuk melipatgandakan LED dan membaca suis. Ini didorong oleh gangguan sehingga apabila nilai dadu ditetapkan maka ia dapat dipelihara sendiri.

Jangka masa keseluruhan dibahagikan kepada selang 1 mSec setiap mati. Tempoh dalam 1 mSec ini yang menyala LED boleh ditetapkan untuk setiap mati secara bebas. Ini membolehkan pencahayaan seimbang di antara berbagai warna dan juga memungkinkan redup dan berkelip sebagai sebahagian daripada kawalan permainan.

Perpustakaan juga membaca peralihan dadu sebagai bagian dari multiplex dan mempunyai rutin untuk 'menggulung' satu atau lebih dadu secara selari.

Sketsa menggunakan perpustakaan untuk menyediakan pilihan mod permainan dadu dan menjalankan permainan ini. Ia juga menyediakan fungsi penyelenggaraan untuk mengatur wifi pada mulanya, untuk memuat turun firmware baru OTA dan menyediakan beberapa fungsi web asas untuk menguji dan memeriksa status peranti.

Perisian disusun dalam Arduino IDE. Serta ino ia menggunakan perpustakaan BaseSupport untuk menyediakan fungsi asas. Ini dikonfigurasikan dalam fail BaseConfig.h tempatan. Kata laluan lalai 'kata laluan' digunakan untuk menyambung ke penyediaan wifi-nya. Anda mungkin mahu menukarnya kepada yang lain. Anda juga boleh mengkonfigurasinya dengan kelayakan wifi yang tetap jika anda tidak mahu menggunakan penyediaan bawaan. Begitu juga terdapat kata laluan lalai yang sama untuk proses kemas kini firmware OTA yang mungkin anda mahu ubah. Kali pertama firmware mesti dimuat melalui sambungan bersiri ke Arduino IDE. Ini mesti mematuhi peraturan berkelip normal dengan GPIO0 ditarik rendah semasa menetapkan semula untuk memasukkannya ke mod siri kilat. Ini lebih senang dilakukan sebelum modul akhirnya disambung tetapi boleh dilakukan secara in situ sekiranya klip dilekatkan pada pin yang berkaitan.

Apabila firmware dijalankan untuk pertama kalinya, ia akan gagal menyambung ke wifi tempatan dan secara automatik akan memasuki mod penyiapan dengan membuat rangkaian akses sendiri. Anda boleh menyambungnya dari peranti wifi (mis. Telefon) dan kemudian melayari ke 192.168.4.1 yang membolehkan memilih wifi tempatan yang sebenar dan memasukkan kata laluannya. Sekiranya ini OK, maka akan reboot dan menggunakan rangkaian ini.

OTA dilakukan dengan mengeksport binari di Arduino IDE dan kemudian melayari ke ip / firmware di mana ip adalah ip kotak ketika disambungkan. Ini akan meminta / mencari binari baru.

Fungsi web lain adalah

  • setpower - menetapkan kuasa untuk mati (ip / setpower? dice = 3 & power = 50)
  • setflash - set flash untuk dadu (ip / setflash? mask = 7 & selang = 300)
  • setdice - menetapkan satu nilai mati (ip / setdice? dice = 3 & nilai = 2)
  • parameter - menetapkan parameter roll (ip / parameter? mask = 7 & time = 4000 & interval = 200)
  • status - mengembalikan nilai dadu dan menukar status

Langkah 6: Permainan

Perisian ini membolehkan pemilihan permainan dan permainan berjalan dikendalikan oleh suis utama.

Pada mulanya sistem ini berada dalam mod pengaturan permainan dengan hanya mati pertama yang menunjukkan '1'. Anda melangkah sekitar 12 mod permainan yang berbeza dengan menekan pendek butang ini. Mati pertama berlaku 1 - 6, dan kemudian kekal pada 6 manakala die kedua menunjukkan 1-6.

Untuk memilih permainan tertentu, tekan lama butang (> 1 saat) dan ini menjadikannya dalam mod permainan.

Dalam permainan, gulungan biasanya dimulakan dengan tekan pendek suis ini. Untuk kembali ke mod pilih permainan dari mod larian, kemudian tekan lama suis ini dan kemudian akan memaparkan nombor permainan seperti sebelumnya dan membenarkan pemilihan lebih lanjut.

9 mod permainan ditentukan pada masa ini dengan 3 ganti.

Permainan 1 hingga 5 adalah sebilangan besar dadu. Setiap gulung hanya menggulung semua dadu. Peralihan dadu tidak berpengaruh dalam Sukan ini.

Game 6 adalah sebilangan besar dadu. Tekan salah satu suis mati untuk memilih bilangan dadu dan kemudian suis utama untuk menggulung dadu. Bilangan dadu boleh diubah sebelum setiap gulungan.

Game 7 adalah gulungan multi lemparan. Semua 5 dadu terlibat. Tekan suis utama menggulung semua dadu. Menekan setiap suis mati menjadikannya berkelip. Apabila suis utama ditekan maka hanya flashing die yang akan bergulir kecuali jika tidak ada yang berkelip maka semua akan bergulir. Ini seperti dadu poker atau Yahtzee. Perhatikan bahawa tidak ada penguatkuasaan terhadap jumlah lontaran yang dibenarkan. Itu bergantung kepada integriti pemain.

Game 8 adalah seperti Game 7 kecuali redup digunakan untuk menunjukkan mati terpilih tidak berkelip.

Game 9 menggunakan suis mati untuk menentukan gulungan. Sekiranya salah satu daripada 3 teratas dipilih maka ini akan menentukan bilangan dadu untuk digulung 1, 2 atau 3). Kemudian jika salah satu suis bawah 2 ditekan maka baris atas disimpan dan ini memilih jumlah dadu untuk digulung di baris bawah (1 atau 2). Ini digunakan dalam permainan seperti Risiko.

Disyorkan: