Buat Desktop Tamagotchi: 8 Langkah (dengan Gambar)

Buat Desktop Tamagotchi: 8 Langkah (dengan Gambar)

Isi kandungan:

Anonim

Pada suatu hari saya duduk di belakang meja saya di tempat kerja dan saya mendapat keperluan aneh untuk membina sesuatu, selepas melihat sekelilingnya saya memerhatikan matriks LED dan yang mencetuskan idea di kepala saya: "I WANNA MAKE A TAMAGOTCHI".

Jadi bagi anda yang tidak tahu apa yang dikatakan Tamagotchi di sini adalah sedikit snip-it dari wikipedia:

"The Tamagotchi (た ま ご っ ち Tamagocchi?) Adalah haiwan kesayangan digital yang diproduksi di Jepun oleh Akihiro Yokoi dari WiZ dan Aki Maita dari Bandai, yang pertama kali dijual oleh Bandai pada tahun 1996 di Jepun.

Oleh itu saya mengambil mainan klasik ini untuk membuatnya ke alat desktop dengan matriks LED untuk paparan, dan Arduino untuk otak untuk menjadikannya lebih mudah untuk orang. Dengan itu berkata menyertai saya ketika kami merancang, membina dan mempersembahkan dunia pertama (Sejauh yang saya tahu) desktop Tamagotchi.

Bekalan:

Langkah 1: Mendapatkan Perkara Yang Benar

Jadi seperti mana-mana projek elektronik lain, anda perlu mendapatkan beberapa alat asas:

1) besi pematerian

2) Sesetengah wayar solder

3) Sepasang pemotong

4) Sepasang jarum hidung jarum

Pilihan: Dapatkan beberapa kancing pateri atau pam pateri untuk memperbaiki kesilapan pematerian

Sedangkan untuk elektronik senarai bahagian sedikit lebih lama, inilah yang perlu anda dapatkan:

1) ATmega328P dengan bootloader arduino + kristal 16Mhz dengan dua topi 22pF

* Anda memerlukan sesuatu untuk memprogramkan cip itu seperti platform arduino atau penyesuai FDTI

2) 4 x 74HC595 anjakan daftar

3) 2 x ULN2803 Darlington transistor array

4) 1 x DS1302 RTC + 32.768kHz Crystal

5) pemegang bateri syiling 1 x 3V + bateri.

6) 4 x butang tekan butang bersudut

7) 1 x Peizzo Buzzer

8) 4 x 8x8 modul matriks LED

9) 16 x 330Ohm resistors (anda perlu mengira nilai untuk matriks anda)

10) 2 baris baris 16 tajuk pin perempuan

11) 2 baris baris 16 tajuk pin lelaki

12) 1 baris baris 4 tajuk wanita (Untuk pengaturcaraan)

13) 5 x 100nF topi

14) 1 x 10uF topi

15) 1 x 10K perintang

15) penyambung jack kuasa

16) ketuat dinding 5V DC

17) Sekeping besar protoboard

18) Sesetengah wayar untuk sambungan

Langkah 2: Bahagian Perkakasan

Walaupun projek ini jika kebanyakan perisian menumpukan, kita perlu membina perkakasan terlebih dahulu untuk membuat kod bertulis hidup dan menyahpecutannya dengan lebih mudah.

Perkakasan terdiri daripada 2 bahagian utama: Bahagian mikrokontroler dan paparan LED.

Bahagian mikrokontroler adalah sangat lurus ke hadapan, ia adalah arduino yang berdiri sendiri (ATmega328 dengan bootloader arduino) dengan

beberapa persisian (4 butang, buzzer dan RTC), tetapi ia adalah bahagian yang paling kritikal kerana ia melakukan semua pemikiran.

Bahagian paparan LED sedikit lebih rumit dan mengambil sedikit masa untuk pateri. Litar ini terdiri daripada 4 daftar anjakan (74HC595), 2 Darlington transistor arrays (ULN2803) dan 4 8x8 matriks LED.

Seperti kebanyakan paparan LED, tidaklah menghairankan bahawa paparan perlu dikombinasi (lihat ia adalah konsep yang sangat keren) kerana memandu 16x16 LED secara individu akan mengambil 256 pin dari mikropengawal dan itu hanya bodoh.

Walaupun dengan pendekatan multiplexing, kita masih memerlukan 32 pin (16 baris + 16 tiang) pin dari mikrokontroler untuk memacu paparan yang sekali lagi kita tidak mempunyai, jadi penyelesaiannya ialah menggunakan daftar shift sebagai pengembangan I / O, 8 daftar pergeseran kecil memberi kita 32 output dan hanya memerlukan 3 baris untuk mengawal mereka semua.

Tetapi masalah tidak berakhir di sini kerana daftar anjakan tidak dapat mengendalikan tenggelam semasa 16 LED (jika baris penuh dinyalakan) pada satu pin jadi kita perlu memberikannya tangan dengan bantuan array transistor darlington yang akan bertindak seperti penampan yang boleh mengendalikan arus besar yang boleh memusnahkan daftar anjakan.

Jadi untuk recap kita menggunakan 4 daisy chained shift registers untuk mengawal paparan, 2 pertama memandu baris dan yang lain 2 memandu lajur dengan bantuan array Darlington.

Satu-satunya perkara yang perlu dikira dalam projek ini ialah nilai perintang yang akan memacu baris LED.

Formula ini sangat mudah dan seperti ini:

R = (Vsource - Vled) / Iled

Vsource ialah 5V, Vled ialah voltan ke hadapan pada LED tunggal dalam matriks dan Iled adalah arus hadapan LED yang sama.

Anda juga boleh menggunakan kalkulator dalam talian untuk membantu anda dengan ini.

Langkah 3: Konsep Pembinaan - Papan LED

Apabila saya mula membina saya ingin melihat bersih tanpa menggunakan kes (mencari kes yang betul adalah mimpi buruk) jadi saya pergi untuk

pembinaan dua helai iaitu satu papan yang memegang matriks LED dan yang kedua dengan semua elektronik.

Dengan cara ini satu-satunya perkara yang anda lihat apabila anda melihat di hadapan ialah paparan LED itu sendiri dan semua perkara lain tersembunyi di belakang paparan.

Papan pertama dengan matriks LED akan menentukan saiz yang kedua kerana anda ingin menyembunyikan papan lain di belakang paparan. Jadi letakkan perhimpunan matriks di atas papan, tanda tempat untuk memotong dan memotong papan. Potong papan kedua supaya saiznya sama dengan yang pertama. Caranya dengan gaya bangunan ini adalah untuk mempunyai proto-papan dengan saiz yang sama, jadi idea yang baik untuk pasir papan untuk mendapatkannya dengan saiz yang sama.

Kerana saya mempunyai matriks 4 8x8 LED saya terpaksa menyambungkannya bersama-sama untuk mendapatkan satu matriks 16x16 LED, itu agak mudah dan mengambil sedikit masa untuk menyambungkannya bersama-sama. Cara anda melakukannya ialah dengan menyambungkan deretan matriks mendatar dengan pada dan lain-lain dan menyambungkan lajur matriks menegak (saya membuat sambungan dengan beberapa dawai pembalut dawai nipis).

Sekarang satu-satunya bahagian yang tersisa dengan papan ini ialah menyambungkan tajuk yang akan menyambungkannya ke papan bersama, penempatan penyambung ini diputuskan oleh kedudukan suis pada papan kedua. Suis akan berada di sisi papan supaya anda tidak boleh meletakkan penyambung di tepi papan itu sebabnya penyambung ditempatkan kira-kira 4 lubang dari tepi.

Terdapat dua penyambung untuk baris dan yang lain untuk lajur.

Dan untuk menyelesaikan penampilan, saya cadangkan meletakkan kepingan kertas putih di atas matriks untuk menyembunyikan perhimpunan dan mendapatkan rupa yang bersih.

Saya melekatkan kertas ke tepi matriks supaya paparan selamat dari gam.

Langkah 4: Konsep Pembinaan - Lembaga Pemandu

Sekarang lembaga pemandu adalah bahagian paling kompleks dalam membina ini kerana ruang yang terkawal dan saya tidak boleh memberitahu anda bagaimana membinanya kerana setiap orang mempunyai gaya bangunannya.

Apa yang boleh saya ceritakan ialah penempatan komponen utama seperti butang dan penyambung. Sekarang butang harus berada di sisi papan dan paling tepat bersudut supaya mereka tidak dapat dilihat tetapi anda masih boleh menekannya.

Dari sana anda meletakkan penyambung yang akan menyertai kedua-dua papan, penyambung harus berada hampir dengan tepi yang mungkin untuk memberikan sambungan yang baik dan kukuh, iaitu cara anda meletakkan butang terlebih dahulu di pinggir dan dari situ anda menentukan di mana untuk letakkan penyambung.

nota: Memang penting untuk memastikan bahawa penyambung di kedua-dua papan bersama-sama dengan sempurna dan sisi papan siram.

Selepas bahagian-bahagian kritikal yang dilakukan anda bebas untuk membina selebihnya seperti yang anda lihat dengan betul, tetapi pastikan tiada bahagian yang pergi ke "overboard".

Saya akan mengesyorkan membina kumpulan dan menyimpan semua bahagian dalam kumpulan yang rapat antara satu sama lain untuk kemudahan pendawaian contohnya:

Penyambung tiang perlu disambungkan ke dua cip darlington dan kedua-dua peralihan mendaftarkan supaya masuk akal untuk meletakkan tandan itu dekat satu sama lain dan dengan sedikit berfikir mungkin untuk pergi dengan hanya beberapa wayar di sana sini di dalam kumpulan ini.

Juga pastikan untuk meletakkan beberapa tajuk pengaturcaraan untuk pengawal mikro untuk mod masa depan.

Langkah 5: Peraturan Permainan

Selepas menamatkan bahagian perkakasan, fikirkan tentang kod dan mekanik permainan.

Ini adalah bahagian yang paling sukar untuk saya kerana saya melihat dari awal dan terpaksa membuat peraturan saya sendiri yang tidak sesuai dengan apa-apa cara.

Permainan seperti itu, sangat mudah untuk mengeksploitasi dan melakukannya dengan baik tetapi ini bukan permainan yang serius dan ia dimaksudkan untuk menjadi alat kecil yang sejuk.

Oleh itu dengan penafian kecil ini, cara bercakap sedikit tentang peraturan permainan.

Binatang mempunyai 5 statistik asas: kesihatan, berat badan, kebahagiaan, kelaparan dan umur.

Peranan pemain adalah untuk menyeimbangkan statistik ini dengan 4 tindakan yang dimilikinya: memberi makan hewan peliharaan, bermain dengannya, bersih setelahnya dan perawatan medis.

Setiap tindakan mempunyai kesan positif dan kesan negatif dan pemain perlu membuat usaha untuk memilih kompromi terbaik.

Apabila pemain memilih untuk memberi makan haiwan itu, dia mempunyai 3 pilihan: beri dia makan daging, beri dia buah atau merawat gula-gula.

Hidangan daging membuat mata yang paling lapar dan menambah banyak berat badan, buah menimbulkan kesihatan hewan peliharaan tetapi menurunkan kebahagiaan hewan peliharaan dan permen memberikan rangsangan kebahagiaan yang besar tetapi menurunkan kesihatan dan menimbulkan berat badan hewan peliharaan.

Apabila pemain memilih untuk bermain dengan binatang peliharaan permainan Simon bermula dan bergantung pada seberapa baik pemain melakukan kebahagiaan stat menimbulkan, tetapi jika pemain melakukan sangat buruk kebahagiaan akan turun.

Dari semasa ke semasa haiwan kesayangan akan pergi ke tandas dan pemain perlu membersihkan selepasnya, masing-masing menjadikan pemain terlepas penurunan kesihatan haiwan kesayangan dan menimbulkan peluang untuk membuat haiwan kesayangan itu sakit.

Juga terdapat peluang rawak bahawa haiwan peliharaan akan jatuh sakit, peluang itu lebih tinggi jika hewan peliharaan sudah tua atau kotor. Terdapat 3 tahap kesakitan masing-masing dengan kesan negatif sendiri. Pemain boleh memberi tembakan ke pet untuk menyembuhkannya tetapi ini akan menurunkan kesihatan haiwan peliharaan (tidak ada yang suka mengambil gambar: D).

Dan sebahagian yang paling tidak sihat (untuk saya) adalah bahawa hewan peliharaan pergi secara automatik untuk tidur pada jam 23:00 dan bangun pada jam 8:00 supaya ia tidak akan mati lebih malam. Sudah tentu anda boleh menukar bahagian ini dengan keinginan anda dan menetapkan masa tidur baru untuk haiwan peliharaan.

Langkah 6: Perisian: Menu dan Animasi

Di sini kita berada di bahagian yang paling memakan masa dalam projek ini, selepas memutuskan semua ciri dan keadaan permainan, itulah masanya yang membawa mereka kepada kehidupan dengan membuat semua animasi, tetapan, tindakan dan keadaan permainan.

Untuk langkah ini saya menggunakan gabungan dua program: paint.net dan excel.

Dalam cat saya mencipta semua ikon dan skrin menu satu demi satu. Menggunakan cat adalah bantuan hebat kerana anda boleh dengan mudah menyalin, cat, memadam dan memanipulasi imej. Tidak pernah kurang bahagian ini sangat sukar untuk saya kerana saya mempunyai masa yang sukar untuk menyesuaikan dengan ikon adat yang berdiri untuk setiap tindakan, penetapan, makanan dan emosi.

Nota: Dalam cat saya menggunakan pilihan grid pixel untuk membolehkan saya mudah membahagikan bahagian dalam ke piksel dan cat setiap satu.

Selepas menamatkan kerja itu pada animasi dan ikon, saya menamakan ikon dalam kumpulan dan mula bekerja untuk membuat bitmap ikon, untuk melakukannya saya menggunakan helah kesukaan saya untuk menghasilkan bitmap.

Saya telah membuat spreadsheet excel yang membolehkan saya "cat" dengan sel-sel di kawasan tertentu dan kemudian ia meludahkan bitmap dalam format yang saya mahu.

Selepas semua ini dilakukan, ia hanya soal menangani bitmaps ke kod dan mula menulis perisian.

Langkah 7: Perisian: Kod Akhir

Bahagian utama projek ini adalah perisian dan ia adalah perkara yang memberikan projek ini sifat itu.

Sekarang saya tidak akan meneruskan kod secara terperinci di sini kerana saya telah melakukannya dalam kod itu sendiri jadi mengharapkan untuk melihat banyak komen di sana (beberapa dengan beberapa kesalahan ejaan yang mengerikan: D).

Kod ini menggunakan 3 perpustakaan tetapi mereka semua datang dengan Arduino IDE sehingga tidak perlu memuat turun apa-apa.

Saya menulis kod itu tanpa sebarang perpustakaan khas untuk menyelamatkan masalah menjaga kod terkini dan mencari perpustakaan tersebut pada masa akan datang, inilah sebab mengapa kod itu panjang dan banyak jika fungsi berbeza.

Sekarang kod itu sendiri mempunyai dua bahagian utama: gelung utama yang mengendalikan semua peraturan permainan dan tingkah laku "haiwan" dan rutin menangguhkan pemasa yang mengendalikan pemutaran paparan.

Kerja saya pada kod itu masih belum selesai kerana selalu ada perkara baru untuk menambah dan memperbaikinya, jadi saya akan mengemas kini kod dari semasa ke semasa. Tetapi buat masa ini kod itu dalam keadaan bekerja dan dipaparkan sepenuhnya.

Langkah 8: Anda Selesai! Apa selepas ini?

Yay! Kita Sudah Selesai! atau adakah kita?

Kami mempunyai Tamagotchi bangku atas sepenuhnya dengan semua fungsi asas tetapi mengapa berhenti di sana?

Terdapat banyak perkara untuk ditambah dan diperbaiki dan terpulang kepada anda untuk berbuat demikian. Jadi ambil rintangan dan tukar, ubah dan bersenang-senang dengannya!

Dan jangan lupa untuk meletakkan di atas dek anda dengan bangga dan tunjukkan penciptaan baru anda.

P.S.

Berhati-hati dan jangan lupa untuk memberi makan dari semasa ke semasa:)