Memulai dengan Board Pengembangan STM32 (STM32F103C8T6) menggunakan Arduino IDE |
Arduino akan menjadi pilihan pertama bagi banyak penghobi (termasuk saya) dan insinyur ketika mereka memulai dengan elektronika. Namun, ketika kita mulai membangun lebih banyak proyek dan menggali lebih dalam, kita akan segera menyadari bahwa Arduino tidak siap untuk kebutuhan industri dan CPU 8-bitnya dengan kecepatan clock yang sangat lambat tidak memberikan daya yang cukup untuk proyek-proyek kita. Namun, beruntunglah kita sekarang memiliki board pengembangan STM32F103C8T6 (Blue Pill) STM32 yang baru di pasaran, yang dapat dengan mudah mengungguli Arduino dengan CPU 32-bit dan arsitektur ARM Cortex M3-nya. Keuntungan lainnya adalah kita dapat menggunakan Arduino IDE yang sama untuk memprogram STM32 Boards kita. Jadi dalam tutorial ini, mari kita mulai dengan STM32 untuk mengetahui dasar-dasar tentang board ini dan membuat LED bawaan berkedip menggunakan Arduino IDE.
Selain board STM32 Blue Pill yang digunakan dalam tutorial ini, ada banyak board STM32 populer lainnya seperti board pengembangan STM32 Nucleo. Jika Anda tertarik, Anda juga dapat melihat ulasan tentang board STM32 Nucleo 64 dan jika Anda ingin belajar cara menggunakannya dan memprogramnya menggunakan STM32 CubeMX dan TrueStudio, Anda dapat melihat tutorial untuk memulai dengan STM32 Nucleo64.
Bahan yang Dibutuhkan:
1. STM32 – (BluePill) Development Board (STM32F103C8T6)
2. Programmer FTDI
3. Breadboard
4. Kawat Penghubung
5. Laptop dengan Koneksi Internet
Pengenalan tentang Board STM32 (Blue Pill)
Board STM32, juga dikenal sebagai Blue Pill, adalah Board pengembangan untuk Mikrokontroler ARM Cortex M3. Board ini terlihat mirip dengan Arduino Nano namun memiliki kinerja yang lebih tinggi. Board pengembangan ini ditunjukkan di bawah ini.
Board-board ini sangat murah dibandingkan dengan board Arduino resmi dan juga perangkat kerasnya bersifat sumber terbuka. Mikrokontroler yang digunakan pada board ini adalah STM32F103C8T6 dari STMicroelectronics. Selain mikrokontroler, board ini juga memiliki dua osilator kristal, satu adalah kristal 8MHz, dan yang lainnya adalah kristal 32 KHz, yang dapat digunakan untuk menggerakkan RTC internal (Real Time Clock). Karena fitur ini, MCU dapat beroperasi dalam mode tidur yang dalam sehingga ideal untuk aplikasi yang menggunakan baterai.
Karena MCU beroperasi dengan tegangan 3,3V, board ini juga dilengkapi dengan IC regulator tegangan 5V hingga 3,3V untuk mensuplai daya ke MCU. Meskipun MCU beroperasi pada 3,3V, sebagian besar pin GPIO-nya tahan terhadap 5V. Pin-pin MCU tertata rapi dan diberi label sebagai pin header. Terdapat juga dua LED onboard, satu (berwarna merah) digunakan untuk indikasi daya, dan yang lainnya (berwarna hijau) terhubung ke pin GPIO PC13. Board ini juga memiliki dua pin header yang dapat digunakan untuk mengubah mode boot MCU antara mode pemrograman dan mode operasi, kita akan mempelajari lebih lanjut tentang ini nanti dalam tutorial ini.
Beberapa orang mungkin bertanya-tanya mengapa board ini disebut sebagai "Blue Pill" (Pil Biru), sejujurnya saya tidak tahu. Mungkin karena board ini berwarna biru dan dapat meningkatkan performa proyek Anda, seseorang mengusulkan nama ini dan namanya tetap begitu. Ini hanya asumsi dan saya tidak memiliki sumber untuk mendukungnya.
Spesifikasi STM32F103C8T6
Mikrokontroler ARM Cortex M3 STM32F103C8 yang digunakan dalam board Blue Pill. Berbeda dengan nama "Blue Pill", nama Mikrokontroler STM32F103C8T6 memiliki makna di baliknya
- STM » adalah singkatan dari nama produsen, STMicroelectronics.
- 32 » adalah singkatan dari arsitektur ARM 32-bit.
- F103 » menandakan bahwa arsitektur ini adalah ARM Cortex M3.
- C » 48-pin.
- 8 » memiliki 64KB Flash memory.
- T » tipe kemasan adalah LQFP.
- 6 » rentang suhu operasi -40°C hingga +85°C.
Jika Anda ingin mengetahui lebih banyak tentang fitur teknis dari Mikrokontroler ini, Anda dapat merujuk ke Datasheet-nya. Anda juga mungkin tertarik dengan Manual Referensi dan Lembaran Errata dari Mikrokontroler ini yang juga terdapat dalam tautan tersebut.
Rincian Pin STM32
Seluruh pin-out board STM32 Blue Pill ditampilkan di bawah ini. Seperti yang dapat Anda lihat, setiap pin diberi label dengan rapi. Penyandian juga mirip dengan board Arduino. G digunakan untuk menandakan pin ground, 3.3V menghasilkan tegangan 3.3V yang teratur, dan pin 5V dapat digunakan untuk mensuplai daya ke board atau mendapatkan +5V jika ditenagai melalui micro USB. LED onboard terhubung ke pin PC13 pada Mikrokontroler.
Pemrograman STM32 Blue Pill - Cara Memprogram STM32F103C8T6
STM32 hanyalah salah satu mikrokontroler dari keluarga STMicroelectronics. Jadi, semua metode yang ada untuk memprogram chip ARM dapat digunakan juga untuk board STM32. Salah satu IDE yang terkenal dan sering digunakan adalah Keil ARM MDK dan selain itu kita juga dapat menggunakan IAR workbench, Atollic TrueStudio, MicroC Pro ARM, Crossworks ARM, Ride 7, PlatformIO+STM32, dll.
Namun yang membuat board ini sangat populer adalah kemampuannya untuk diprogram dengan Arduino IDE. Dengan cara ini, orang-orang dapat memulai dan membangun proyek dengan STM32 dengan cepat karena banyak yang sudah familiar dengan Arduino IDE dan bahasanya yang mudah digunakan serta library yang tersedia secara luas. Jadi dalam tutorial ini, kita akan menggunakan Arduino IDE untuk memulai dengan STM32F103C8T6.
Diagram Sirkuit
Untuk memprogram board STM32 Blue Pill langsung dari Arduino IDE, kita perlu menggunakan board Serial FTDI. Board ini terhubung ke pin Rx dan Tx dari STM32 seperti yang ditunjukkan di bawah ini.
Pin Vcc dari board FTDI terhubung ke pin 5V STM32 untuk mensuplai daya ke board. Ground terhubung ke Ground STM32. Pin Rx dan Tx dari board FTDI terhubung ke pin A9 dan A10 STM32 masing-masing. Di mana A9 adalah pin Tx dari MCU STM32 dan A10 adalah pin Rx.
Memprogram STM32 melalui Board Micro USB tanpa Serial
Anda mungkin bertanya-tanya mengapa kami tidak menggunakan port micro-USB untuk memprogram board seperti board Arduino lainnya. Sebenarnya, kami dapat melakukannya, tetapi untuk tutorial ini kami memilih untuk tidak melakukannya. Board pengembangan STM32 Blue Pill saat dibeli tidak dilengkapi dengan bootloader untuk membuatnya kompatibel dengan Arduino IDE. Namun, bootloader ini dapat diprogram ke board STM32 dan kemudian port micro-USB dapat langsung digunakan untuk mengunggah program. Tetapi saat dokumentasi artikel ini dibuat, bootloader ini memiliki beberapa bug dan masih dalam tahap pengembangan. Jika Anda ingin informasi lebih lanjut, Anda dapat melihat artikel tentang Memrogram STM32 Blue Pill menggunakan port USB.
Mempersiapkan Arduino IDE untuk STM32 (Blue Pill)
Ikuti langkah-langkah di bawah ini untuk mengunduh dan mempersiapkan Arduino IDE agar dapat digunakan dengan board pengembangan STM32.
Mengunggah Kode Contoh untuk stm32f103c8t6
digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Cara Kerja Program Blink STM32
Jika program telah berhasil diunggah, Anda seharusnya melihat LED hijau berkedip dengan interval 1 detik seperti yang ditampilkan dalam video di bawah ini. Anda juga dapat mengubah program untuk meningkatkan atau mengurangi keterlambatan.
/*
circuitdigest.com
Sample STM32 Blink Program for Blue Pill board
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin PC13 as an output.
pinMode(PC13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Belajar Memrogram STM32F103C8T6 dengan Arduino IDETutorial Memprogram STM32
Tutorial Pemrograman STM32f103
Tutorial Lengkap Pemrograman STM32 dengan Arduino IDE
Cara Memprogram STM32F103C8T6
Rincian Pin STM32 Blue Pill dan Cara Penggunaannya
Cara Mengunggah Program Blink dari Arduino
Cara Mengunggah Kode Contoh untuk STM32F103C8T6
Cara Menggungah Kode Untuk STM32F103C8T6
Panduan Lengkap Memprogram STM32
Panduan Praktis STM32
STM32F103C8T6 adalah
Arduino IDE
STM32 CubeMX
STM32 Nucleo64
STM32 CubeMX adalah
STM32 Nucleo64 adalah
Tidak ada komentar:
Posting Komentar