メインコンテンツまでスキップ

Arduino フレームワークによる LED 点滅

Arduino フレームワークを使用して BlackPill STM32 ボード上の LED を点滅させてみましょう。

Arduino フレームワーク​

このチュートリアルでは、Arduino フレームワークを使用して STM32 ボード上の LED を点滅させます。 Arduino フレームワークは、シンプルで使いやすい API を提供するため、初心者に人気があります。 Arduino フレームワークは、STM32 ハードウェアの低レベルの詳細を抽象化し、STM32 マイクロコントローラー用のコードの作成を容易にします。

事前準備​

このチュートリアルでは、以下の機器を使用します。

BlackPill STM32 ボード​

MCU:STM32F411CEU6 ボード: WeAct Black Pill V2.0 回路図

安価なクローン BlackPill STM32 ボードは 4 ドル以下で購入できます。他の STM32 ボードを使用することもできますが、platformio.ini ファイルと LED ピン番号を変更する必要があります。

ファームウェアを基板に書き込むために使用します。安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。

開発環境の準備​

VSCode と PlatformIO​

PlatformIO は、VSCode 拡張機能マーケットプレイスからインストールできます。

STM32CubeProgrammer​

ファームウェアを基板に書き込むためのツールです。

リポジトリの取得​

git clone --branch blackpill-led-blink-arduino https://github.com/yuichiroaoki/stm32-tutorial.git
cd stm32-tutorial

クイックスタート​

  1. BlackPill STM32 ボードを ST-LINK V2 書き込み器に接続します。

    ST-LINK V2 Clone
    上の画像のように、ST-LINK V2 と BlackPill STM32 ボードを接続します。

  2. ST-LINK V2 書き込み器を PC に接続します。

  3. VSCode でプロジェクトフォルダーを開きます。

  4. 左側のサイドバーの「PlatformIO」タブをクリックし、「Upload」ボタンをクリックしてファームウェアをボードにアップロードします。

    PlatformIO tab

これで、BlackPill STM32 ボード上の LED が点滅しているのが確認できるはずです。

注記

青色 LED は抵抗を介して 3.3V に接続され、その後 PC13 に接続されるため、LED をオンにするには PC13 を LOW に設定、オフにするには HIGH に設定する必要があります。

ブラックピル LED

回路図

コード​

GitHub

STM32 ボード上の LED を点滅させる完全なコードは次のとおりです。

main.cpp
#include <Arduino.h>
#include <WSerial.h>

#define LED_PIN PC13

void setup() {
Serial.begin(115200);

pinMode(LED_PIN, OUTPUT);
delay(3000);
Serial.println("Start!");
}

void loop() {
Serial.println("LED off!");
digitalWrite(LED_PIN, HIGH);
delay(1000);
Serial.println("LED on!");
digitalWrite(LED_PIN, LOW);
delay(1000);
}

BlackPill STM32 ボードの場合、LED ピンは PC13 です。ボードに応じてピンを変更する必要があります。

USBシリアル通信​

  1. BlackPill STM32 ボードを USB 経由で PC に接続します。
  2. Ctrl+Shift+P を押し、PlatformIO: Monitor を選択してシリアルモニターを開きます。

次のメッセージが表示されるはずです。

Start
LED off!
LED on!
LED off!

USB 経由でボードと通信するには、platformio.ini ファイルに次の行を追加します。

platformio.ini
[env:genericSTM32F411CE]
platform = ststm32
board = genericSTM32F411CE
lib_archive = false
framework = arduino
upload_protocol = stlink
monitor_speed = 115200
build_flags =
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D PIO_FRAMEWORK_ARDUINO_SERIAL_WITHOUT_GENERIC

参考文献​