Daftar Isi:

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, Juli
Anonim
dadu pelangi
dadu pelangi

Ini membuat kotak permainan dadu dengan 5 dadu yang terbuat dari LED smd dalam 5 warna. Perangkat lunak yang mengemudikannya memungkinkan untuk mode permainan yang berbeda dengan banyak dadu yang terlibat.

Satu sakelar utama memungkinkan pemilihan permainan dan pengguliran dadu. Sakelar individu di sebelah setiap dadu memungkinkan pemilihan atau kontrol sesuai dengan jenis permainan.

Biaya konstruksi sangat sederhana tetapi membutuhkan waktu konstruksi yang cukup lama, besi solder yang baik, dan tangan yang stabil.

Elektronik berbasis di sekitar modul ESP8266 (ESP-12F) yang menjalankan server web yang memungkinkan pembaruan firmware yang mudah dan kemungkinan pemantauan / ekspansi game.

Kotak ini bertenaga baterai dengan baterai yang dapat diisi ulang dan karena konsumsi arusnya cukup sederhana, ia akan berjalan selama berjam-jam dengan sekali pengisian daya.

Langkah 1: Suku Cadang dan Alat

Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat
Bagian dan Alat

Komponen

Komponen berikut diperlukan. Semuanya tersedia di eBay

  1. ESP-12F ESP8266 modul pemrosesan wifi. (£1,50)
  2. Baterai dan dudukan 18650 (£3,00)
  3. SMD LED x7 merah, biru, hijau, kuning, putih (paket 20 masing-masing warna £ 0,99)
  4. Tombol tekan 6mm sakelar x6 (£ 0,12)
  5. Geser sakelar hidup/mati mini 8x4mm (£ 0,10)
  6. Modul pengisi daya baterai LIPO USB (£ 0,20)
  7. n saluran MOSFET - AO3400 x6 (£0,20)
  8. 3.3V Regulator putus rendah - XC6203E (£ 0,20)
  9. 220uF elektrolit (£ 0,15)
  10. 220R resistor x5 (£ 0,05)
  11. Resistor 4K7 x 6 (0,06)
  12. Papan prototipe terisolasi lubang sisi ganda (£ 0,50)
  13. Kawat pengait fleksibel
  14. Kawat tembaga berenamel 32
  15. Pin header 40 pin strip x3 (£0,30)

Selain itu diperlukan kandang. Saya merancang kotak cetak 3D untuk menampung semuanya dan memungkinkan LED bersinar. Ini tersedia di Thingiverse.

Peralatan

  1. Besi solder titik halus
  2. Pinset Halus
  3. Pemotong kawat
  4. gergaji retas junior
  5. File jarum berguna
  6. lem resin
  7. Akses ke printer 3D jika menggunakan desain kotak yang disertakan.

Langkah 2: Deskripsi Sirkuit

Deskripsi Sirkuit
Deskripsi Sirkuit

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

Setiap dadu terbuat dari 7 LED yang disusun 3 pasang (2 diagonal dan tengah) ditambah satu LED pusat. Ini membutuhkan 4 pin GPIO untuk memilih LED yang akan ditampilkan. Resistor 220R digunakan untuk menentukan arus dan 2 digunakan secara seri untuk LED tengah agar arusnya sama.

5 dadu digandakan oleh 5 garis GPIO yang menggerakkan sakelar MOSFET. Hanya satu sakelar yang diaktifkan pada satu waktu. Perangkat lunak ini memungkinkan 1mSec per die sehingga periode refresh keseluruhan adalah 200Hz dan tidak ada kedipan.

5 sakelar dikaitkan dengan setiap dadu. Karena GPIO terbatas, ini dibaca dengan menggunakan baris yang sama seperti yang digunakan untuk menggandakan dadu. Selama urutan multipleks, garis kontrol ini ditetapkan sebagai input dengan pull up dan status sakelar terbaca. Mereka kemudian dikembalikan ke output untuk sisa urutan multipleks.

Sakelar ke-6 untuk kontrol keseluruhan dibaca oleh saluran GPIO16. Ini hanya dapat memiliki tarik ke bawah sehingga sakelar dihubungkan ke 3.3V. Ini membaca rendah ketika saklar terbuka dan tinggi ketika ditutup.

Langkah 3: Konstruksi DIe

Konstruksi DIe
Konstruksi DIe
Konstruksi DIe
Konstruksi DIe

Ini adalah bagian pekerjaan yang paling memakan waktu dan membutuhkan perawatan.

Setiap cetakan dibangun di atas papan prototipe persegi 6 lubang x 6 lubang. Langkah pertama adalah memotong 5 ini dari satu papan menggunakan gergaji mini. Cobalah untuk meninggalkan sesedikit mungkin batas di luar lubang.

Tahap selanjutnya adalah menambahkan 2 6 pin header di setiap sisi, dan 2 set 3 pin terisolasi di sebelahnya, dan kemudian sepasang lagi di tengah. Inilah yang akan menahan LED SMD. Saya merasa baik untuk menghapus 2 pin yang tidak digunakan dari masing-masing kolom luar. Sisi atas papan tempat LED akan dipasang harus memiliki pin header yang terpotong sehingga hanya sekitar 1mm yang menonjol. Cobalah untuk menjaga mereka semua tingkat. Ini memungkinkan LED menonjol di atas permukaan papan.

7 LED SMD sekarang disolder di atas setiap pasangan pin. Ini adalah bagian tersulit dari keseluruhan konstruksi tetapi tidak memakan waktu terlalu lama setelah sedikit latihan. Teknik yang saya gunakan adalah menyematkan bagian atas setengah pin sehingga sudah ada beberapa solder. Kemudian pegang LED di pinset, lelehkan solder lagi dan jalankan LED ke dalamnya. Jangan terlalu khawatir tentang kualitas sambungan pada tahap ini. Lebih penting adalah untuk mendapatkan keselarasan LED sebaik mungkin, horizontal dan melintasi pin. Setelah LED terpasang maka dapat disolder dengan benar di ujung lainnya ke pinnya dan kemudian sambungan pertama disolder ulang jika diperlukan.

Polaritas dioda harus benar. Saya mengatur semua pin header luar untuk dihubungkan ke anoda. LED tengah Saya membuat orientasi yang sama dengan kolom sebelah kiri (dilihat dari muka dan dengan baris cadangan di bagian bawah. Dioda memiliki tanda samar pada katoda, tetapi juga baik untuk memeriksa dengan meteran. Dioda akan benar-benar menyala saat menggunakan rentang resistansi (katakanlah 2K) dan timah merah pada anoda dan hitam pada katoda. Mereka tetap tidak menyala sebaliknya. Ini juga merupakan metode yang baik untuk memeriksa warna jika mereka tercampur.

Setelah LED dipasang maka sisa papan dapat diselesaikan.

Di bagian bawah papan.

  1. Kawat semua katoda bersama-sama menggunakan kawat untai tunggal tipis yang tidak berinsulasi.
  2. Solder MOSFET dengan pin pembuangan yang terhubung ke string katoda
  3. Hubungkan sumber MOSFET ke pin headernya yang pada akhirnya akan menjadi 0V
  4. Kawat gerbang melalui resistor 4K7 ke pin header-nya. Adalah baik untuk melakukan root ini melalui lubang lain yang lebih rendah seperti yang ditunjukkan karena di sinilah sakelar akan terhubung.

Di bagian depan papan silang menghubungkan 3 pasang anoda.

  1. Gunakan kawat berenamel yang dapat disolder untuk menjaga profil tetap rendah.
  2. Pra-timah satu ujung setiap kawat
  3. Solder ke satu anoda.
  4. Rutekan melalui dan potong memanjang.
  5. Pra-timah dan solder ke pasangan anoda yang sesuai.

Pada titik ini adalah baik untuk melakukan tes pendahuluan setiap die dengan menggunakan multimeter. Dengan timah hitam pada katoda umum (Mosfet drain), timah merah dapat dipindahkan ke 3 pasang anoda dan anoda tunggal. LED yang sesuai harus menyala.

Langkah 4: Konstruksi Kotak

Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak
Konstruksi Kotak

Ini mengasumsikan versi kotak cetak 3D sedang digunakan. Kotak memiliki indentasi untuk setiap die dan setiap LED. Lapisan bawah di bawah setiap LED sangat tipis (0.24mm) sehingga dengan plastik putih memungkinkan cahaya bersinar dengan sangat baik dan bertindak sebagai diffuser. Ada guntingan untuk semua sakelar, dan titik pengisian daya. Baterai memiliki kompartemennya sendiri.

Pertama-tama pasang 6 sakelar tombol tekan mini dan sakelar geser di tempatnya. Pastikan mereka rata dengan bagian luar. Sakelar tombol tekan memiliki dua pasang kontak yang terhubung secara paralel. Arahkan mereka sehingga kontak switching berdekatan dengan die mereka. Gunakan beberapa resin pengaturan cepat untuk mengunci pada tempatnya.

Sekarang pasang baterai dan kotaknya di tempat yang disediakan. Itu harus cukup pas tetapi gunakan sedikit lem jika diperlukan.

Rekatkan pengisi daya LIPO di dinding yang dilengkapi dengan micro USB yang dapat diakses melalui lubangnya.

Lengkapi kabel daya dasar dengan memutar arde baterai melalui semua sakelar tombol tekan dan koneksi LIPO B- dan meninggalkan ekor babi untuk koneksi ke elektronik. Baterai + harus masuk ke B+ pada pengisi daya LIPO dan ke sakelar geser. Sisi lain dari sakelar geser harus menjadi sakelar keenam dan ekor babi untuk elektronik. Pastikan sakelar geser dalam posisi mati dan untuk sementara mengisolasi ekor babi. Anda tidak ingin korsleting baterai!

Solder pada dua ekor babi pendek yang tidak berinsulasi ke masing-masing dari 5 sakelar mati. Ini harus sedikit fleksibel.

Posisikan dan kencangkan masing-masing die pada posisinya dengan menyolder pada kedua kuncir sakelar ke papan die memastikan 0V sakelar terhubung ke sumber mosfet / titik 0V dan sisi hidup sakelar melalui ke 4K7 / gerbang MOSFET. LED di papan harus pas di ceruk dalam kasing dan kabel sakelar harus cukup untuk menahan cetakan pada posisinya.

Selanjutnya hubungkan semua anoda umum dari 5 dadu. Ini menjadi lebih mudah karena koneksi pasangan dioda tersedia di kedua sisi cetakan, tetapi ingatlah bahwa ini disilangkan pada diagonal. Jangan bingung dengan kabel merah pada gambar yang tampaknya akan mati. Itu hanya kuncir dan tidak terhubung dengan apa pun pada tahap ini.

Riasan ESP-12F

Perhatikan bahwa Anda mungkin ingin memprogram modul ESP-12F sebelum pemasangan. Setelah di-flash maka semua pembaruan lainnya dapat dilakukan menggunakan wifi OTA.

Buat regulator 3.3V pada sedikit kartu prototipe yang tersisa. Ini hanya memiliki regulator LDO di atasnya dan kapasitor decoupling. Meskipun disipasi daya sangat rendah, saya menyolder beberapa kontak bersama-sama untuk bertindak sebagai heat sink untuk perangkat. Dua kabel dapat menonjol keluar dan membuat koneksi langsung ke 3.3V / 0V dari ESP-12F.

Solder pada kabel ke pin GPIO untuk 5 jalur multipleks dan sakelar 6. Jalur driver 4 anoda LED membutuhkan resistor seri 220R / 440R yang sesuai. Seseorang dapat menggunakan resistor lubang kecil ke ESP-12F untuk ini atau saya melakukannya dengan SMD hanya ditumpuk ke lubang yang juga cukup kuat.

Terakhir, sambungkan jalur multipleks ke masing-masing pin die header dan jalur driver anoda ke rantai daisy yang sesuai.

Langkah 5: Perangkat Lunak

Perangkat lunak untuk ini didasarkan pada lingkungan Arduino ESP8266. Ini tersedia di github.

Kode tersedia di sini

Ada perpustakaan diceDriver yang menyediakan fungsi tingkat rendah yang digunakan untuk menggandakan LED dan membaca sakelar. Ini didorong oleh interupsi sehingga begitu nilai dadu ditetapkan, maka itu dapat dipertahankan sendiri.

Waktu keseluruhan dibagi menjadi interval 1 mSec per die. Periode dalam 1 mSec ini saat LED menyala dapat diatur untuk setiap die secara independen. Hal ini memungkinkan pencahayaan seimbang di berbagai warna dan juga memungkinkan peredupan dan kedipan sebagai bagian dari kontrol permainan.

Pustaka juga membaca sakelar dadu sebagai bagian dari multipleks dan memiliki rutinitas untuk 'menggulung' satu atau lebih dadu secara paralel.

Sketsa menggunakan perpustakaan untuk menyediakan pilihan mode permainan dadu dan untuk menjalankan permainan ini. Ini juga menyediakan fungsi pemeliharaan untuk mengatur wifi pada awalnya, untuk mengunduh firmware baru secara OTA dan untuk menyediakan beberapa fungsi web dasar untuk menguji dan memeriksa status perangkat.

Perangkat lunak ini dikompilasi dalam Arduino IDE. Seperti halnya ino, ia menggunakan pustaka BaseSupport untuk menyediakan fungsi dasar. Ini dikonfigurasi dalam file BaseConfig.h lokal. Kata sandi default 'kata sandi' digunakan untuk menghubungkan ke pengaturan wifi-nya. Anda mungkin ingin mengubahnya menjadi sesuatu yang lain. Anda juga dapat mengonfigurasinya dengan kredensial wifi tetap jika Anda tidak ingin menggunakan pengaturan bawaan. Demikian juga ada password default yang sama untuk proses update firmware OTA yang mungkin ingin Anda ubah. Pertama kali firmware harus dimuat melalui koneksi serial ke Arduino IDE. Ini harus mematuhi aturan flashing normal dengan GPIO0 ditarik rendah selama reset untuk memasukkannya ke mode serial flash. Ini lebih mudah dilakukan sebelum modul akhirnya disambungkan tetapi dapat dilakukan di tempat jika klip dipasang ke pin yang relevan.

Ketika firmware dijalankan untuk pertama kalinya akan gagal terhubung ke wifi lokal dan secara otomatis akan masuk ke mode pengaturan dengan mengatur jaringan aksesnya sendiri. Anda dapat terhubung ke ini dari perangkat wifi (misalnya telepon) dan kemudian telusuri ke 192.168.4.1 yang akan memungkinkan memilih wifi lokal asli dan memasukkan kata sandinya. Jika ini OK maka akan reboot dan menggunakan jaringan ini.

OTA dilakukan dengan mengekspor binari di Arduino IDE dan kemudian menjelajah ke ip/firmware di mana ip adalah ip kotak saat terhubung. Ini akan meminta/menelusuri biner baru.

Fungsi web lainnya adalah

  • setpower - mengatur daya untuk dadu (ip/setpower?dice=3&power=50)
  • setflash - set flash untuk dadu (ip/setflash?mask=7&interval=300)
  • setdice - menetapkan satu nilai dadu (ip/setdice?dice=3&value=2)
  • parameter - set parameter gulungan (ip/parameters?mask=7&time=4000&interval=200)
  • status - mengembalikan nilai dadu dan beralih status

Langkah 6: Permainan

Perangkat lunak ini memungkinkan pemilihan permainan dan permainan berjalan dikendalikan oleh saklar utama.

Awalnya sistem dalam mode pengaturan permainan dengan hanya dadu pertama yang menunjukkan '1'. Anda melangkah di sekitar 12 mode permainan yang berbeda dengan menekan sebentar tombol ini. Mati pertama pergi 1 - 6, dan kemudian tetap di 6 sedangkan dadu kedua menunjukkan 1-6.

Untuk memilih game tertentu, tekan lama tombol (> 1 detik) dan ini akan memasukkannya ke mode run game.

Dalam permainan, lemparan biasanya dimulai dengan menekan sebentar tombol ini. UNTUK kembali ke mode pilih game dari mode run kemudian tekan lama sakelar ini dan kemudian akan menampilkan nomor game seperti sebelumnya dan memungkinkan pemilihan lebih lanjut.

9 mode permainan ditentukan saat ini dengan 3 cadangan.

Game 1 hingga 5 adalah lemparan sederhana dari jumlah dadu itu. Setiap gulungan hanya melempar semua dadu. Sakelar dadu tidak berpengaruh dalam Permainan ini.

Game 6 adalah jumlah dadu yang dinamis. Tekan salah satu sakelar mati untuk memilih jumlah dadu dan kemudian sakelar utama untuk melempar dadu. Jumlah dadu dapat diubah sebelum setiap lemparan.

Game 7 adalah lemparan multi-lemparan. Semua 5 dadu terlibat. Menekan tombol utama akan menggulung semua dadu. Menekan setiap sakelar mati membuatnya berkedip. Ketika saklar utama ditekan maka hanya die yang berkedip yang akan berputar kecuali jika tidak ada yang berkedip maka semua akan berputar. Ini seperti dadu poker atau Yahtzee. Perhatikan bahwa tidak ada penegakan jumlah lemparan yang diizinkan. Itu tergantung pada integritas pemain.

Game 8 seperti Game 7 kecuali redup digunakan untuk menunjukkan mati yang dipilih tidak berkedip.

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

Direkomendasikan: