Daftar Isi:

Kartu Nama/Konsol Game: ATtiny85 dan Layar OLED: 5 Langkah (dengan Gambar)
Kartu Nama/Konsol Game: ATtiny85 dan Layar OLED: 5 Langkah (dengan Gambar)

Video: Kartu Nama/Konsol Game: ATtiny85 dan Layar OLED: 5 Langkah (dengan Gambar)

Video: Kartu Nama/Konsol Game: ATtiny85 dan Layar OLED: 5 Langkah (dengan Gambar)
Video: Прохождение The Last of Us part 2 (Одни из нас 2) # 6 От канализации до больницы один шаг 2024, November
Anonim
Image
Image
Keberanian
Keberanian

Halo semuanya

Hari ini saya akan menunjukkan kepada Anda bagaimana Anda dapat membuat kartu nama/konsol permainan Anda sendiri/apa pun yang dapat Anda bayangkan yang menampilkan layar OLED I2C dengan lampu latar dan Mikroprosesor ATtiny85. Dalam Instruksi ini saya akan memberi tahu Anda bagaimana PCB yang saya rancang benar-benar berfungsi, bagaimana Anda dapat membuatnya, dan apa yang dapat Anda lakukan dengan fungsi ini. Jika Anda sudah memiliki layar I2C yang terhubung ke ATtiny85, Instruksi ini masih dapat membantu jika Anda mencoba menampilkan gambar atau ingin membuat menu, game, dan banyak lagi.

Anda mungkin bertanya-tanya apa sebenarnya benda ini. Ini hanyalah papan sirkuit cetak sederhana dengan baterai terpasang, layar, tombol, sakelar hidup/mati, dan unit pemrosesan. Anggap saja sebagai Gameboy kecil, yang dapat Anda program dengan mudah untuk melakukan berbagai hal. Maju!

Langkah 1: Keberanian

Keberanian
Keberanian
Keberanian
Keberanian

Jika Anda belum melakukannya, saya sangat menyarankan Anda membuat akun di circuits.io. Ini akan memungkinkan Anda untuk menyesuaikan desain saya sesuai dengan kebutuhan Anda.

Pada langkah ini saya akan menjelaskan bagaimana Anda benar-benar bisa mendapatkan salah satu papan sirkuit tercetak (PCB) ini. Saya telah membuat PCB saya di circuits.io, alat online hebat yang dapat Anda gunakan untuk membuat skema sirkuit dan PCB. Anda dapat melihat desainnya di sini:

Jika Anda tertarik untuk mendapatkan PCB, Anda dapat memesan sebanyak yang Anda inginkan dari OSH Park menggunakan tautan ini:

Butuh beberapa saat untuk mendapatkan papan (1-3 minggu), tapi percayalah. Ini sangat berharga! Anda memerlukan bagian-bagian berikut untuk membuat kartu multi-fungsi Anda sendiri:

  • ATtiny85 dalam paket SOIC-8. Ini adalah otak dari proyek kami yang mengontrol SEMUANYA.
  • Layar OLED I2C 128x64 piksel:
  • 2 resistor 22k ohm. Ini adalah resistor pullup untuk tombol.
  • Dudukan Surface-Mount CR2032:
  • Baterai Sel Koin CR2032. Baterai kecil ini dapat memberi daya pada sirkuit untuk beberapa waktu.
  • saklar geser 3-pin. Ini adalah saklar daya!
  • Header Wanita. Anda dapat menggunakan ini untuk memprogram ATtiny85 saat berada di sirkuit!
  • Tombol 6mm:
  • Papan sirkuit tercetak (Anda dapat memesannya menggunakan tautan di atas

Peralatan:

  • Besi solder (dengan ujung halus)
  • Pateri
  • Pemotong timah

Untuk memprogram ATtiny85:

  • 6 kabel jumper pria ke pria
  • Satu kapasitor 10 mikro-farad
  • Arduino Uno atau mikrokontroler berbasis ATmega lainnya

Langkah 2: Merakit PCB

Merakit PCB
Merakit PCB
Merakit PCB
Merakit PCB

Ini sangat mudah. Yang perlu Anda lakukan adalah menyolder semua komponen ke tempatnya masing-masing, seperti yang ditunjukkan di papan tulis. Beberapa layar OLED ini datang dalam ukuran yang berbeda, jadi jika layar Anda terlalu besar untuk papan, Anda dapat menggantungnya di atas seperti pada gambar di atas, dan menekuk header di sisi lain dan menyoldernya ke lubang di mana mereka seharusnya pergi. Lihat gambar kedua jika Anda bingung.

Beberapa tips bermanfaat:

  • Titik kecil pada ATtiny perlu diorientasikan sehingga dekat dengan sakelar geser, jika tidak, Anda akan memiliki pin dalam urutan yang salah.
  • Orientasi dudukan baterai penting. Ujung dudukan dengan plus terukir harus berada di alas bawah (menunjuk ke arah resistor).
  • Orientasi sakelar, tombol, header, dan resistor tidak masalah

Jika Anda memiliki pertanyaan, silakan email saya di info[at]coniferapps.com

Langkah 3: Saatnya Mendapatkan Pemrograman

Saya membuat kombo ATtiny/layar saya bekerja menggunakan Instructable berikut: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Bahkan, saya bahkan menggunakan perpustakaan yang dimodifikasi AndyB2 dalam sketsa saya sendiri.

Cara kita akan memprogram ATtiny adalah melalui Arduino Uno. Instruksi berikut menunjukkan cara melakukannya: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Jika Anda belum menyadarinya, semua pin yang diperlukan akan mudah dipecah pada PCB dengan nomor pin berlabel di bagian belakang.

Jika Anda ingin memulai dengan contoh dasar, unggah sketsa yang ditautkan di atas ke kartu Anda. Pastikan sakelar daya dipindahkan ke kanan sebelum Anda melakukan ini. Anda tidak ingin baterai dan Uno memasok tegangan pada saat yang bersamaan! Di folder itu ada banyak file. Saya akan membicarakan ini lebih lanjut di langkah berikutnya, tetapi sebagian besar file header di sana adalah representasi heksadesimal dari gambar bitmap monokromatik. File.bmp adalah gambar yang baru saja saya sebutkan - seperti yang Anda lihat, warnanya hitam putih dan persis 128x64 piksel. Ini tidak diunggah ke mikrokontroler, tetapi saya pikir saya akan memasukkannya untuk referensi.

Langkah 4: Tentang Program Itu Sendiri

Sketsa yang saya unggah pada langkah sebelumnya adalah contoh yang sangat mendasar tentang bagaimana Anda dapat mengimplementasikan menu. Saat Anda mengklik masing-masing tombol kiri dan kanan, itu mengaktifkan penghitung dalam program. Sebuah fungsi kemudian dipanggil yang memiliki ATtiny memeriksa status penghitung ini, dan berdasarkan nomor penghitung, ATtiny menggambar gambar opsi menu yang saat ini dipilih di layar. Masing-masing sel menu yang dipilih berbeda adalah gambarnya sendiri. Jika tombol atas ditekan, ATtiny kembali memeriksa status penghitung untuk menentukan layar detail apa yang akan ditampilkan. Saat layar detail ini ditampilkan, ATtiny terus-menerus memeriksa untuk melihat apakah ada tombol yang ditekan. Setelah mendeteksi penekanan tombol, fungsi yang menggambar menu dipanggil lagi dan status menu saat ini digambar di layar, membawa kita kembali ke menu. Kedengarannya agak menakutkan jika Anda baru mengenal pemrograman, tetapi saya berjanji setelah Anda melihat kodenya, itu akan lebih masuk akal.

Setiap layar detail juga merupakan gambarnya sendiri.

Jika Anda belum menyadarinya, opsi kejutan tidak melakukan apa-apa. Kita akan membahas ini di langkah berikutnya:).

Langkah 5: Menyesuaikan Kreasi Anda

Sekarang setelah Anda melihat apa yang telah saya lakukan, saatnya bagi Anda untuk menyesuaikan kartu dengan informasi Anda sendiri. Pustaka yang saya sertakan memang memiliki fungsi untuk menggambar teks di layar, tetapi saya sangat menyarankan Anda menggunakan solusi berbasis gambar yang ketat, karena cenderung terlihat JAUH lebih baik. Saya awalnya akan menambahkan foto ke bagian program dari instruksi ini, tapi itu cukup lama untuk menjamin instruksinya sendiri. Anda dapat melihatnya di sini:

Sekarang setelah Anda mengetahui cara menambahkan foto, ada banyak hal yang dapat Anda lakukan dengan kartu tersebut. Anda dapat menggunakan menu dan layar bantuan saya, dan cukup tambahkan informasi kontak Anda sendiri. Anda bahkan dapat membuat game kecil untuk opsi "kejutan". Akan cukup mudah untuk memindahkan sprite 10x10 yang sangat kecil di sekitar layar menggunakan tombol dan memeriksa apakah sprite itu bertabrakan dengan sprite lain. Anda bisa membuat tiruan burung flappy menggunakan konsep yang sama! Jika Anda membuat sesuatu, silakan posting foto/video/file di komentar!

Hanya satu poin kecil lagi yang saya lupa sebutkan. Sejauh penyimpanan berjalan, ATtiny85 tidak memiliki banyak. Untuk program, sekitar 8kb. Sketsa saya saat ini dengan 5 gambar dan pustaka tampilan OLED menempati sekitar 7 dari 8kb tersebut. Game apa pun yang Anda buat harus sesuai dengan margin yang relatif kecil ini, jadi ini akan menjadi tantangan yang menyenangkan:).

Terima kasih telah mendengarkan saya mengoceh, dan jika Anda memiliki pertanyaan, jangan ragu untuk mengirim email kepada saya di info[at]coniferapps.com (ganti [at] dengan @). Tolong pilih saya di kontes Sirkuit Autodesk! Semoga Anda segera memiliki kartu bisnis/permainan Anda sendiri untuk dipamerkan!

Direkomendasikan: