0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pro Microで遊ぶ(1) Lチカ編

Posted at

この記事でわかること

  • Pro Microとは?
  • Platform IOを使ったマイコン開発環境の構築
  • Arduino言語を使ったLEDの点滅制御

Pro Microとは??

開発環境

  • OS: Windows 11
  • Editor: VSCode
  • IDE: Platform IO

Platform IO

一般的なマイコン開発はマイコンを販売しているメーカーが独自にIDEをだしており、それを使用することが多いです。

  • STMicro → STMCubeIDE
  • Microchip → MPLAB IDE
  • Renesas → e² studio
    いろんなマイコンを今後も触りたいので、各マイコンボードごとにIDEをいれて環境構築して、、、を繰り返していると大変なのでVSCode上で動作するPlatform IOを使用します。VSCodeの拡張機能からボタン1つでインストール可能です。
    Pasted image 20250830154800.png

プロジェクトを作成する

インストール後、左のアイコンタブに出現します。
アリさんマークをクリック→ PIO Home → OpenでPlatform IOのHomeタブが開きます。
Pasted image 20250830155327.png

Quick Accessの New Projectを選択すると、Project Wizardが立ち上がるので下記項目を設定します。

  • Name: Projectの名前
  • Board: 開発するマイコンボードの選択(今回はSparkfun Pro Micro 5V/16MHz)
  • Framework: Projectで使用するFramework(Pro Microを選択すると Arduinoが選択可能になります)
  • Location: プロジェクトを作成するディレクトリを指定
    Pasted image 20250830161755.png

プロジェクトを作成するとplatformio.iniというプロジェクトの設定ファイルが表示されます。
シリアルスピード、必要なLibraryなどを設定できます(今回はdefaultで使用します)。
Pasted image 20250830171315.png

実際のプログラムを書くファイルはsrcディレクトリ内のmain.cppです
デフォルトではmyFunction関数が実装されていますが、実行してもマイコン上では何もわかりません
Pasted image 20250830174944.png

Lチカプログラムを書いてみる

マイコンボード上にあるLEDが2つあるのでそちらを点滅させるプログラムを作成します。
LEDを光らせるためにはマイコンのGPIOピンをHighに切り替える必要があります。Arduino言語ではdigitalWriteを使用してgpioのhigh/lowを切り替えれます。

digitalWrite(pin, value);
  • parameterは下記のとおりです。
    • pin : ピン番号
    • value : HIGH/LOW

ちなみにArduino系マイコンはD13をよくLEDに接続されていることもあってか、いろんな記事ではLチカ記事で↓のようにプログラムされますが、ProMicroはD13にはLED接続されていないので動作しません。

void loop() {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);
}

ProMicroはLED_BUILTIN_TXLED_BUILTIN_RXで動作します↓

void loop() {
    digitalWrite(LED_BUILTIN_RX, HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN_RX, LOW);
    delay(1000);
    digitalWrite(LED_BUILTIN_TX, HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN_TX, LOW);
    delay(1000);
}

ちなみにマクロ定義↓↓17番ピンと30番ピンに割り振られていて

#define LED_BUILTIN 13
#define LED_BUILTIN_RX 17
#define LED_BUILTIN_TX 30

datasheet上でも17番、30番と記載あります
datasheet.png

実行

プログラムを書き込むときは下の→マークを押します
upload.png

こんな感じで実行ログが出て
Pasted image 20250830202459.png

光ったーーーーー(緑色LEDも見にくいですが光ってます)
Videotogif.gif

まとめ

今日のまとめです。

  • ProMicroはSparkfun社のマイコンボード
  • Platform IOはVSCode上で動作するいろんなマイコンを開発できるIDE
  • ArduinoでLチカするにはdigitalWrite関数を使う
  • ProMicroのLEDピン番号はD30とD17(D13には実装されていないので注意!)
    今回はここまで、しばらくはProMicroで遊びつつせっかくなので自作キーボードとか作ってみたいですね😶‍🌫️
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?