DevBoy - bagaimana saya membuat proyek perangkat sumber terbuka dan meluncurkan proyek di Kickstarter

Halo teman-teman!

Nama saya Nikolai, saya sudah lama menjadi pembaca Habr, tapi entah bagaimana itu tidak berhasil dengan menulis artikel. Sudah waktunya untuk memperbaiki situasi ini, terutama karena hanya ada alasan - saya baru saja meluncurkan sebuah perusahaan di Kickstarter untuk mengimplementasikan perangkat open source.



Siapa yang peduli - saya minta kucing.

Kebetulan bahwa sejak kecil saya memiliki akses ke teknologi canggih waktu saya ( Atari 65XE, ZX-Spectrum, EC1841, dll. ), Yang telah ditentukan tidak hanya pilihan profesi, tetapi juga menanamkan hobi yang sangat baik ( menurut saya ) - pemrograman dan mengembangkan sesuatu.

Di masa depan, nasib memberi saya kejutan lain - kemungkinan emigrasi ke Amerika Serikat tiga tahun lalu. Pada saat yang sama, saya beruntung dua kali - segera saya menemukan pekerjaan tepat di area yang saya inginkan: C ++ dan mikrokontroler.

Mulai saat ini, hobi saya menerima " dorongan " baru. Pertama, saya bertemu dengan mikrokontroler STM32 yang sangat baik dari ST Microelectronics ( sebelum itu, saya mencoba-coba Atmel AVR ). Kedua, dari gaji pertama, saya membeli printer 3D. Intinya, saya perfeksionis - di satu sisi itu bagus - Anda melakukan hal-hal dengan jujur, dan di sisi lain ... kadang-kadang tidak mungkin membawa proyek sampai akhir hanya karena itu tidak keluar " sempurna ". Pencetakan kasing dan kemungkinan memesan papan sirkuit cetak sebenarnya telah membawa kemungkinan menciptakan proyek ke tingkat yang baru.

Dan suatu kali, memilah-milah berbagai modul yang dipesan untuk membangun osiloskop sederhana dan mencoba menempatkannya di atas sebuah papan tempat memotong roti, saya teringat mainan yang telah saya beli sejak lama ketika saya kuliah: GameBoy . Setelah dengan cepat memperkirakan kemungkinan tata letaknya, saya memutuskan: Saya akan melakukannya! Dan segera sebuah ide muncul di kepalaku: " Tapi tidak hanya tombol yang digunakan! Kadang-kadang joystick digunakan, kadang-kadang tikungan digunakan ... mengapa tidak membuat modul yang bisa dilepas? ". Dan pekerjaan mulai mendidih: menyolder prototipe, pemrograman, mengembangkan dan mencetak kasus, pemrograman lagi ... sebagai hasilnya, memegang prototipe yang berfungsi, sampai pada kesadaran bahwa ide itu tidak buruk. Sekali lagi, semuanya berputar dengan cara baru, hanya tahap pemesanan papan sirkuit cetak ditambahkan, dan tidak hanya untuk mainboard tetapi juga untuk semua modul, karena Cocok tidak dapat ditemukan. Selain itu, karena Cina adalah papan pembuatan 10 buah, segera memutuskan untuk membuat seri kecil. Ngomong-ngomong, setelah membuat seri ini, saya menyadari bahwa menyolder lebih lanjut secara manual ( artinya seri kecil lebih dari 10 buah ) bukanlah suatu pilihan.

Hasilnya, ternyata:



Fitur Ringkasan:

  • Berdasarkan mikrokontroler STM32F415RG, inti Cortex-M4 beroperasi pada frekuensi 168 MHz
  • ROM 1024 KB dan RAM 192 KB
  • Layar 2,8 "dengan resolusi 320x240 piksel dan warna 16-bit
  • Layar sentuh resistif
  • Dua slot untuk modul input, 4 I / O ( 2 di antaranya dapat mendigitalkan sinyal menggunakan ADC ) di masing-masing
  • Slot ekspansi dengan garis I / O dari hampir semua pin mikrokontroler
  • Slot kartu SD
  • Dan tentu saja Open-source

Perangkat itu sendiri dari semua sisi:



Dan inilah pinout dari konektor ekspansi:



Di dalam, semuanya terlihat seperti ini:



Berikut ini adalah modul dengan mikrokontroler:



Maka pinout-nya:



Modul Layar:



Dan pengisi daya baterai lithium:



Dan akhirnya, bagian terakhir - korps:





Hal oranye adalah pendorong. Menghapus modul masih merupakan tugas. Akibatnya, bius ini ditemukan. Ketika modul dimasukkan, itu mendorong mereka dan tombol-tombol di bagian belakang rata dengan kasing. Jika modul perlu dilepas - kami menekan tombol dan menekan modul ke atas. Maka Anda dapat dengan mudah dan mudah menariknya keluar.

Kode sumber layak mendapatkan artikel terpisah. Mungkin saya akan menulisnya nanti. Dari perangkat lunak pihak ketiga, System Workbench untuk STM32 , STM32CubeMX dan FreeRTOS digunakan. Ini semua adalah proyek gratis. Pembungkus C ++ FreeRTOS, tugas-tugas pemeliharaan layar, layar sentuh, suara dan input ditulis untuk ini.

gambar

Output grafis sangat menarik - prototipe dengan mikrokontroler STM32F103 dapat menampilkan permainan tipe Mario dengan frekuensi 15 frame per detik dengan resolusi 320x240 dan hanya memiliki 20 KB RAM di papan ( framebuffer dikecualikan ), sedangkan pembatasan kemungkinan besar karena frekuensi SPI . Pada STM32F415 dengan frekuensi SPI dua kali lipat, 30 frame per detik keluar.

Kesimpulannya, saya akan meninggalkan tautan:


Saya akan berterima kasih jika Anda membagikan tautan ke proyek dengan teman-teman Anda - sekarang yang utama adalah untuk mendapatkan massa yang kritis dari orang-orang untuk memulai reaksi berantai - perlu sebanyak mungkin orang yang tertarik belajar tentang proyek tersebut.

Jika Anda bertanya kepada saya tentang rencana jangka panjang, apa yang saya inginkan pada akhirnya, jawabannya akan sederhana: buat perusahaan dengan ideologi perangkat lunak terbuka dan perangkat keras terbuka, lakukan hal favorit Anda dan bantu orang lain bagaimana Adafruit dan Sparkfun melakukannya.

Jika tiba-tiba teks tampak kacau - jangan menilai dengan ketat, sudah hampir jam 1 pagi ... ajukan pertanyaan dalam komentar - Saya akan mencoba menjawab.

Source: https://habr.com/ru/post/id423499/


All Articles