Isi kandungan:

PCB Genggam Dengan Arduino (Dengan Pilihan untuk Melancarkan Tanpa Wayar!): 3 Langkah
PCB Genggam Dengan Arduino (Dengan Pilihan untuk Melancarkan Tanpa Wayar!): 3 Langkah

Video: PCB Genggam Dengan Arduino (Dengan Pilihan untuk Melancarkan Tanpa Wayar!): 3 Langkah

Video: PCB Genggam Dengan Arduino (Dengan Pilihan untuk Melancarkan Tanpa Wayar!): 3 Langkah
Video: Tonton Sampai Habis !!! Belajar Arduino Di Jamin Bisa 2024, November
Anonim
PCB Genggam Dengan Arduino (Dengan Pilihan untuk Tanpa Wayar!)
PCB Genggam Dengan Arduino (Dengan Pilihan untuk Tanpa Wayar!)
PCB Genggam Dengan Arduino (Dengan Pilihan untuk Tanpa Wayar!)
PCB Genggam Dengan Arduino (Dengan Pilihan untuk Tanpa Wayar!)

Kemas kini 28.1.2019Saat ini saya sedang mengerjakan versi seterusnya dari telefon bimbit ini. Anda boleh mengikuti projek di saluran YouTube atau Twitter saya.

Amaran! Saya menemui kesilapan dalam susun atur PCB. Butang kiri dan atas disambungkan ke pin analog sahaja. Saya memperbaikinya dengan menambahkan dua perintang penarik ke dua input. Itu bukan penyelesaian yang sempurna tetapi ia berkesan.

Saya merancang PCB untuk genggam yang berdasarkan mikrokontroler ATmega328P-AU (sama seperti di Arduino Nano), paparan OLD SSD1306 dan beberapa butang. Saya juga menambah pilihan untuk menambahkan modul radio NRF24L01 + untuk permainan berbilang pemain. Anda juga boleh menggunakan telefon bimbit ini sebagai alat kawalan tanpa wayar. Saya telah membuat pengawal tanpa wayar sebelum ini dan bahkan mempunyai satu Instructables tentang mereka. Yang anda perlukan hanyalah Arduino Leonardo atau Pro Micro.

Pegangan tangan adalah sumber terbuka sepenuhnya. Semua kod sumber bebas digunakan serta reka bentuk PCB. Saya juga mula mengekod enjin permainan berasaskan jubin sumber terbuka untuk konsol. Pada masa ini semuanya berfungsi kecuali mesin fizik mempunyai beberapa masalah dengan pecutan tinggi. Itu hanya kerana mesin fizik berjalan demi bingkai pada kelajuan yang sama dengan fungsi lukisan. Enjin fizik semestinya disebut microstepping (menggerakkan satu piksel pada masa itu untuk memeriksa apakah ada perlanggaran), tetapi saya masih perlu mengusahakannya.

Seperti yang anda lihat dari gambar, saya belum menerima bahagian SMD. Saya sedang mengembangkan kod dengan prototaip.

Saya tidak mahu mendapatkan PCB profesional. Masih bolehkah saya membina ini?

Sudah tentu. Saya sudah membuat tutorial bagaimana membina konsol ini ke prototaip PCB dengan tembaga bertitik. Anda boleh mendapatkan projek di sini:

Langkah 1: Mendapatkan Semua Bahagian

Mendapatkan Semua Bahagian
Mendapatkan Semua Bahagian

Pertama anda memerlukan semua bahagian. Anda boleh memesan PCB dari JLCPCB atau beberapa laman web lain yang menggunakan fail Gerber. Fail gerber digunakan untuk menerangkan PCB untuk pengeluarnya. Ia hanyalah fail ZIP yang mengandungi setiap perincian PCB yang dirancang.

Berikut adalah pautan untuk PCB:

Berikut adalah senarai komponen yang perlu anda beli untuk membuatnya berfungsi:

  • ATmega328P (TQFP-32)
  • Butang 8 pcs 6 x 6 x 6 mm
  • Pengayun kristal 16 MHz
  • 2 buah kapasitor bersaiz 22 pF 0603
  • Paparan SSD1306 dengan antara muka SPI. (128 x 64, monokrom)
  • Dua perintang 0603 10 kΩ

Berikut adalah senarai komponen pilihan:

  • NRF24L01 +
  • AMSD1117-3.3 (pengatur 3, 3 V untuk NRF24L01 +)
  • Kapasitor 1206 680 nF (NRF24L01 + memerlukan voltan stabil untuk beroperasi dengan betul.)
  • 2 pcs 1206 led (jika anda mahu menyalakan lampu)
  • 2 pcs 0603 perintang untuk lekapan

Langkah 2: Pasang Papan

Ini akan agak sukar untuk dijelaskan kerana saya belum membuat PCB. Saya tidak tahu ke mana bahagiannya pergi, tetapi saya harap ia akan tiba tidak lama lagi.

Seperti biasa dengan pematerian, gunakan semacam pengekstrak asap dan basuh tangan anda setelah menyentuh fluks atau pateri. Dan berhati-hati dengan besi pematerian. Ia akan menyebabkan luka bakar yang teruk jika anda menyentuhnya semasa suhu sekitar 350 darjah celcius. Sekiranya anda mengalami kecederaan dari besi pematerian, gunakan air sejuk untuk menyejukkan tempat yang terbakar

Sekiranya anda tidak pernah menyolder bahagian SMD, saya sangat mengesyorkan menonton beberapa tutorial dari YouTube. Peraturan asasnya adalah meletakkan solder pada satu pad, meletakkan cip di tempatnya dan memateri pin. Kemudian lakukan seberang dan jika ada lebih banyak pin lakukan. Anda juga boleh menggunakan fluks untuk membantu proses pematerian.

Anda juga memerlukan solder sumbu untuk menyolder mikrokontroler. Alirkan pin dengan solder dan gunakan sumbu solder untuk mengeluarkan lebihan.

Pastikan bahawa anda menyolder bahagian dengan betul. Biasanya mikrokontroler mempunyai titik untuk menunjukkan pin pertama. Biasanya PCB juga mempunyai titik untuk dipandu dengan orientasi.

Untuk bahagian SMD biasanya anda ingin menyolder bahagian kecil terlebih dahulu. Sekiranya anda menyolder kepala terlebih dahulu, anda mungkin akan memukulnya dengan besi pematerian dan melepaskan beberapa gas jahat. Saya boleh mengesyorkan urutan ini dari pengalaman. Anda tidak perlu mengikuti senarai ini, tetapi dibuat dengan akal sehat:

  1. Kapasitor
  2. LED dan perintang untuk lekapan (pilihan) [pertama anda harus menyolder perintang]
  3. Pengatur dan mikrokontroler (Pastikan anda meletakkan MCU dengan cara yang betul! Titik harus menghadap dengan cara yang sama seperti tanda [titik putih] pada PCB.)
  4. Kristal
  5. Butang
  6. Header (Header NRF24L01 + adalah tempat jari anda berada, jadi saya cadangkan menggunakan beberapa wayar untuk membolehkannya fleksibel.)
  7. Beberapa wayar untuk bateri. Kuasa utama ditandakan dengan VCC dan GND. VCC mestilah sekitar 3, 6-6 volt. Voltan tersebut terus menuju ke mikrokontroler, jadi pastikan anda tidak meletakkan voltan terlalu banyak di dalamnya.

Langkah 3: Perisian

Image
Image

Saya telah membuat beberapa permainan untuk platform seperti ini selama bertahun-tahun. Anda boleh mendapatkan kod berbilang permainan lama dari sini (kode yang dinamakan mushroom_mcp_continued_v10_converted):

github.com/Teneppa/handheld_open_source

Enjin sumber terbuka boleh didapati di sini (saya menggunakan Visual Studio untuk membuat kod sehingga terdapat banyak fail pelik):

Disyorkan: