- STM32 Nucleo 64 Development Board Hardware Explanation
- Pemrograman STM32 Nucleo 64 Development Boards
- Memulai STM32F401
- Kesimpulan
- Video
Bagi kebanyakan orang di luar sana, papan pengembangan tertanam pertama yang akan mereka kerjakan kemungkinan besar adalah Papan Arduino. Tetapi, seperti semua orang setuju, Arduino Anda hanya dapat membawa Anda sejauh ini dan suatu hari Anda harus pindah ke platform mikrokontroler asli. Proses ini dapat dibuat jauh lebih mudah dengan papan pengembangan STM32 ini karena dapat mendukung semua perisai Arduino untuk membantu Anda di sisi perangkat keras dan juga memiliki banyak perpustakaan dan fungsi bawaan untuk membantu Anda di sisi perangkat lunak. Juga membiasakan diri dengan Mikrokontroler STM32 akan membantu Anda menjelajahi modul pengembangan lain dengan mudah dari ST seperti SensorTile.Box yang telah kami ulas sebelumnya. Jadi dalam artikel ini, mari kita lihat papan Pengembangan STM32 Nucleo-64 ini secara lengkap dan pelajari cara menggunakannya.
Sekarang ada banyak versi papan STM32 yang tersedia dan yang satu ini di tangan saya disebut STM32F401 Nucleo-64. Nama STM32 menunjukkan bahwa kami memiliki Mikrokontroler 32-bit di papan pengembangan kami, dan nama Nucleo-64 menunjukkan bahwa mikrokontroler tersebut memiliki 64 pin. Demikian pula, ada banyak versi papan Nucleo 64 lainnya seperti STM32F103, STM32F303, dll, tetapi setelah Anda mempelajari tentang satu papan, semua papan lainnya sangat mirip.
STM32 Nucleo 64 Development Board Hardware Explanation
Mari kita mulai dengan membuka kotak Papan Pengembangan kita. Seperti yang Anda lihat, paket lengkap hanya terdiri dari papan pengembangan kami dan kartu instruksi. Kartu instruksi menyebutkan spesifikasi pengontrol, pinout-nya, dan di bagian belakang, kami memiliki beberapa informasi tentang cara memulai dan opsi toolchain yang tersedia.
Melihat lebih dekat pada papan, kita dapat menemukan bahwa papan tersebut dibagi menjadi dua wilayah. Bagian atas adalah debugger dan pemrogram ST-Link / V2 sedangkan bagian bawah adalah papan pengembangan Anda yang sebenarnya. Dengan cara ini Anda dapat dengan mudah memprogram dan men-debug papan Anda di luar kotak hanya dengan kabel USB tambahan yang dapat dihubungkan ke port mini USB di papan.
Pada tampilan pertama, papan mungkin tampak memiliki banyak jumper dan komponen, tetapi semuanya ada untuk memudahkan kita. Dua jumper yang Anda temukan di kedua sisi papan CN11 dan CN12 sebenarnya adalah jumper dummy, jumper ini dapat digunakan untuk tujuan lain jika diperlukan di masa mendatang. Dua jumper di CN2 digunakan untuk menghubungkan bagian pemrogram dan debugger dengan papan pengembangan kami. Di masa mendatang, Anda dapat menghapus jumper ini untuk menggunakan pemrogram untuk mikrokontroler ST lainnya melalui pin ini. Dan pin konektor JP1 ini dapat ditutup untuk membatasi arus USB hingga 100mA, jika dibiarkan terbuka arus maksimum akan menjadi 300mA. Di sini kami memiliki LED Tricolor (LD1) yang menyala sebagai Merah ketika papan dinyalakan dan berubah menjadi hijau ketika papan berhasil diprogram dan berubah menjadi oranye ketika ada kegagalan komunikasi.
Pindah ke bagian pengembangan kita memiliki komponen terpenting di sini, Mikrokontroler STM32F401RET6. Ini adalah Mikrokontroler 64-Pin 32-bit dengan prosesor ARM Cortex M4 yang beroperasi pada 84MHz. Ia juga memiliki 512 Kb Flash dan 96KB SRAM. Mikrokontroler memiliki 10 pengatur waktu 16-bit dan 32-bit dan satu ADC 12-bit. Ia juga memiliki tiga USART, tiga I2C, empat SPI dan satu USB 2.0 untuk komunikasi eksternal. Anda dapat memeriksa Lembar Data STM32F401 untuk mendapatkan informasi teknis lebih lanjut.
Sekarang inilah bagian yang menarik, seperti yang saya katakan sebelumnya, papan mendukung semua perisai Arduino. Papan ini memiliki dua set konektor, pin betina untuk perisai Arduino yang sangat cocok dengan ESP8266 Wi-Fi Shield dan Semtech Arduino LoRa Shield seperti yang Anda lihat pada gambar di bawah.
Jantan lainnya disebut pin morpho ST yang dapat digunakan untuk memanfaatkan pin reaming pada mikrokontroler 64-pin kami. Kemudian kami memiliki tombol reset di sini dan tombol yang dapat dikonfigurasi pengguna yang terhubung ke pin PC13 dan juga LED di sini yang terhubung ke pin D13 seperti Arduino. Untuk memberi daya pada papan, kita dapat menggunakan port USB atau langsung memberikan 5V yang diatur ke E5V atau ke pin 5V di sini. Ingatlah untuk mengubah pelompat ini untuk menunjukkan bagaimana Anda menyalakan papan; U5V menunjukkan papan didukung oleh USB. Kami juga memiliki pin jumper menarik lainnya di sini yang disebut IDD yang dapat digunakan untuk mengukur berapa banyak arus yang dikonsumsi mikrokontroler Anda dengan menghubungkan ammeter ke pin ini.
Pemrograman STM32 Nucleo 64 Development Boards
Datang ke bagian perangkat lunak, papan memiliki perpustakaan besar dan dukungan pemrograman dan dapat diprogram menggunakan Keil, meja kerja IAR dan banyak IDE lainnya. Tetapi yang menarik adalah mendukung lingkungan pengembangan ARM Mbed dan STM32Cube. Demi artikel ini, saya memutuskan untuk menggunakan platform ARM Mbed karena ini adalah alat online dan menurut saya sangat menarik karena Anda tidak hanya dapat menggunakan papan ST tetapi banyak papan pengembangan lain yang menggunakan mikrokontroler ARM.
Bagi mereka yang baru, ARM MBED adalah platform pengembangan online yang disediakan oleh ARM sendiri dan memberi Anda sistem operasi tertanam, layanan cloud, dan fitur keamanan untuk dengan mudah membuat solusi tertanam berbasis IoT. Ini adalah komunitas open source yang sangat besar dan untuk mendapatkan detail tentangnya akan membutuhkan artikel terpisah.
Memulai STM32F401
Namun, untuk memulai, gunakan kabel mini USB untuk menyambungkan papan pengembangan STM32 dengan komputer Anda. Setelah dinyalakan, Anda akan melihat LED LD1 dan LD3 menyala merah, dan LED LD2 yang dapat diprogram akan berkedip dalam warna hijau seperti ini.
Anda juga akan melihat flash drive baru di komputer Anda yang disebut "NODE_F401RE". Buka dan Anda akan menemukan dua file yaitu details.txt dan mbed.htm seperti gambar di bawah ini.
Anda dapat meluncurkan file Mbed.htm untuk langsung mulai memprogram papan Anda secara online menggunakan arm Mbed. Tapi, sebelum kami sampai di sana, kami telah menginstal driver yang diperlukan dan mendaftar untuk Mbed. Cari perangkat lunak driver STSW-link009 dan unduh langsung dari situs web ST, instal driver dan pastikan perangkat ditemukan dengan benar di pengelola perangkat Anda seperti yang ditunjukkan di sini.
Kembali ke platform mbed Anda untuk mendaftar di MBED.com dengan kredensial Anda. Kemudian, klik file MBED.HTM dan Anda akan disambut dengan halaman berikut.
Gulir ke bawah dan klik " Open Mbed compiler ". Seperti yang Anda lihat, compiler telah mengenali platform kami sebagai Nucleo-F401RE dan memberikan kami banyak program contoh dasar. Untuk saat ini, izinkan saya memilih " kode LED Blinky " dan memodifikasinya sehingga LED mati setiap kali saya menekan tombol push.
Setelah kode siap seperti yang ditunjukkan di bawah ini, Anda dapat mengklik tombol kompilasi, yang akan memberi Anda file bin, cukup salin file bin dan tempelkan di flash drive Anda untuk memprogram papan Anda. Anda akan melihat LED LD1 berubah menjadi Hijau setelah pemrograman selesai. Sekarang tekan tombol biru dan Anda akan melihat LED Hijau mati. Seperti itu, Anda dapat mencoba salah satu program contoh untuk mempelajari berbagai fungsi papan. Anda juga dapat kembali ke halaman utama untuk mendapatkan dokumen teknis dan dukungan komunitas lainnya.
Anda juga dapat menonton video yang ditautkan di bagian bawah halaman ini, untuk melihat ulasan lengkapnya di papan ini.
Kesimpulan
Secara keseluruhan saya percaya, papan ini adalah pilihan yang sangat baik jika Anda mencoba untuk meningkatkan keterampilan Anda dan mengembangkan aplikasi tingkat lanjut. Dengan dukungan perangkat keras praktis dan komunitas online, kurva pembelajaran papan ini juga cukup sederhana, jadi Anda mungkin ingin mencobanya. Saya harap, Anda menikmati artikel ini dan belajar sesuatu yang bermanfaat darinya. Jika Anda memiliki pertanyaan, tinggalkan di bagian komentar di bawah atau gunakan forum kami untuk pertanyaan teknis lainnya.