Isi kandungan:

Ular di Papan Roti: 3 Langkah (dengan Gambar)
Ular di Papan Roti: 3 Langkah (dengan Gambar)

Video: Ular di Papan Roti: 3 Langkah (dengan Gambar)

Video: Ular di Papan Roti: 3 Langkah (dengan Gambar)
Video: KUNCI JAWABAN Teka-Teki MOS/OSPEK MKANAN & MINUMAN Snack Tahun Ajaran 2022 2024, November
Anonim
Ular di Papan Roti
Ular di Papan Roti
Ular di Papan Roti
Ular di Papan Roti
Ular di Papan Roti
Ular di Papan Roti

"Ada permainan di telefon anda?"

"Tidak tepat."

Pengenalan:

Mudah dikendalikan, mudah diprogram, dan diabadikan oleh Nokia 6110, Snake telah menjadi projek kegemaran di kalangan jurutera. Ini dilaksanakan dalam apa saja dari matriks LED, LCD, pencahayaan rak buku, dan bahkan tingkap seluruh bangunan. Kami akan menerapkan Snake di papan roti kecil dan layar OLED. Orang sudah tentu membuat pemain ular yang lebih kecil, tetapi ini secara khusus menggunakan papan roti, menghilangkan keperluan untuk merancang PCB atau solder.

(Anda hanya boleh membuat aplikasi di telefon anda, tetapi kami tidak melakukan sesuatu kerana mudah.)

Prasyarat:

Pemahaman asas mengenai litar, cara membuat papan roti, dan pemahaman pengaturcaraan yang kukuh di Arduino.

Bekalan

  • Arduino Nano
  • 2 perintang yang cukup tinggi (1kOhm)
  • Papan roti kecil
  • 2 butang tekan
  • 22 wayar teras pepejal AWG
  • 128 x 64 OLED

Ini adalah pautan afiliasi Amazon jadi saya mendapat sedikit komisen untuk setiap penjualan. Sekiranya anda belum mempunyai bekalan ini dan ingin menyokong projek saya yang akan datang, ikuti pautan ini!:)

Langkah 1: Papan roti

Papan roti
Papan roti
Papan roti
Papan roti
Papan roti
Papan roti

Untuk membuat produk akhir kami, jelas kami harus memasang perkakasan untuk memprogram dan menguji projek kami. Gambarajah sistem untuk projek ini agak mudah, kerana hanya melibatkan 4 komponen.

1. Letakkan:

Keluarkan komponen anda dan letakkan di papan, pastikan semuanya sesuai. Bayangkan wayar dan pin apa yang akan anda gunakan dan untuk tujuan apa. Pastikan wayar yang anda jangkakan tidak melintas, kerana itu membuat papan roti yang lebih kemas. Tuliskan titik apa yang perlu anda sambungkan! Walaupun ini adalah papan roti sederhana, ia akan menjadikan hidup anda lebih mudah semasa proses pendawaian dan secara umum. Oleh kerana betapa kecilnya ruang kerja kami, ini adalah langkah yang sangat penting.

Catatan:

Kerana OLED menggunakan bas I2C, pin A4 dan A5 mesti digunakan. Ukuran papan roti tidak membenarkan rel elektrik dan tanah, jadi saya menggunakan beberapa trik untuk membuat semuanya berjalan lancar. Voltan positif untuk butang dibekalkan oleh pin D13 dan A2. Saya mendapati bahawa pin Arduino bukan sahaja dapat menyalurkan arus, tetapi juga arus tenggelam, jadi saya menggunakan A3 sebagai landasan untuk butang kanan. Untuk memaksimumkan ruang di papan roti, saya menggantung separuh Nano dari papan dan menyokong pin sisi kiri dengan sekeping busa.

2. Keluarkannya:

Dengan sepasang pelucut wayar dan wayar teras pepejal 22 AWG yang mencukupi, pasangkan komponen anda dengan kemas. Menggunakan teras kukuh untuk membuat projek papan roti separa kekal adalah kunci, kerana anda boleh memangkasnya panjang, tidak seperti kabel pelompat. Pastikan anda tidak meninggalkan terlalu banyak panjang pada wayar anda, ia akan menjadikan papan tidak kemas. Potong bahagian bawah perintang tarik sehingga sesuai dengan papan.

(Anda juga boleh mengikuti apa yang telah saya lakukan di atas.)

Langkah 2: Program dan Ujian

Program dan Ujian
Program dan Ujian

Untuk menyelamatkan diri dari sakit kepala di kemudian hari, pastikan OLED dan butang berfungsi sebagaimana mestinya dengan membuat program ujian asas.

1. Merancang, merancang, merancang:

Melompat tepat ke dalam kod bukanlah amalan yang bijak. Percayalah, saya telah mencuba! Itulah sebabnya anda harus menggariskan bagaimana program anda berfungsi. Carta alir program adalah cara yang cukup mantap untuk merancang apa yang perlu dilakukan oleh kod anda dan pasti akan memastikan anda sentiasa berada di landasan yang betul. Ambil milik saya misalnya (di atas)

2. Kod, kod, kod:

Terus terang, projek ini adalah latihan pengaturcaraan yang lebih besar daripada latihan perkakasan. Satu-satunya perpustakaan yang saya gunakan ialah perpustakaan OLED Adafruit, tidak termasuk perpustakaan GFX dan Wire yang menyokong.

Membuat anda memasang perpustakaan OLED Adafruit melalui pengurus perpustakaan Arduino IDE.

Saya tidak dapat mendokumentasikan setiap baris kod yang saya tulis, tetapi berikut adalah beberapa petua:

Petua:

Komen:

- Pertama dan terpenting, tulis komen yang kemas dan berguna semasa anda membuat kod. Nanti anda dan orang lain yang membaca kod anda pasti mengucapkan terima kasih.

Ingatan:

- Dengan projek yang lebih kompleks seperti ini, SRAM menjadi komoditi yang cukup panas. Di perpustakaan Adafruit, buffer OLED 128 x 64 mengambil 1 kB sahaja, iaitu kira-kira separuh memori dalam ATMega328p. Oleh itu pengurusan memori pintar lebih penting daripada sebelumnya.

- Dengan struktur data yang besar, data yang disimpan akan terkumpul dan memakan banyak ruang. Untuk mengurangkan jejak memori pemboleh ubah saya, saya menggunakan jenis data yang lebih kecil (seperti pendek dan bait) apabila saya dapat.

- String biasanya disimpan di SRAM, tetapi menggunakan fungsi F () akan memasukkannya ke dalam PROGMEM sebagai gantinya, menyimpan memori berharga.

Millis:

- Untuk mencapai masa kitaran permainan yang lebih tepat, gunakan fungsi milis (). Terdapat banyak tutorial dan contoh yang baik dalam talian.

Pra-definisi:

- Gunakan arahan #define preprocessor sebagai cara mudah untuk menetapkan nilai kekal dalam kod.

Ujian:

- Uji kod anda semasa anda pergi. Akan jauh lebih mudah untuk menghilangkan bug.

Langkah 3: Nikmati

Bersenang-senang dengan permainan ular baru anda!

(Saya tahu saya menang dengan 20 mata dalam video di atas, anda boleh menetapkan syarat kemenangan lebih tinggi dalam kod saya.)

Perkara yang perlu dikembangkan:

  • Bateri untuk mudah alih
  • Butang lebih selamat
  • Permainan ular yang lebih kecil
  • Masih banyak permainan?

Disyorkan: