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

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
    Connect the ST-LINK V2 programmer to the Blackpill STM32 board as shown in the image above.

  2. ST-LINK V2 プログラマをコンピュータに接続します。

  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 経由でコンピュータに接続します。
  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

参考文献