ショップ

取扱説明書

  • 準備中

製品概要

STM32F072-MINI
STM32F303-MINI

マイクロコントローラーに要求される性能や機能の向上を背景に、ARM Cortex-M シリーズをコアとした STM32 が広く利用されるようになってきました。

STM32F072-MINIはARMCortex-M0をコアとする STM32F072CBT6、STM32F303-MINIはARMCortex-M4 をコアとするSTM32F303CBT6を搭載し、ブレッドボード上で IoT 機器の開発や実験を手軽に行うための開発ボードとして開発されました。STM32F072-MINIは開発ボードに要求される代表的な機能をバランスよく搭載した開発ボードとなっています。一方、STM32F303-MINIはデジタル処理の性能や容量を高めるとともに、高機能なアナログ機能を統合した開発ボードとなっています。STM32F072-MINIとSTM32F303-MINIは、STM32 を使用し様々な応用に取り組みたい人に最適な開発ボードです。

STM32-MINIは以下のような特徴を持っています。

  • STM32F072-MINIはSTM32F072CBT6(48MHz, 128KFLASH, 16KRAM)を、STM32F303-MINIはSTM32F303CBT6(72MHz, 128KFLASH, 32KRAM)を搭載しています。
  • STM32F303-MINIは、4つのオペアンプ(PGA)を内蔵しています。
  • 単色のLED2個の他にWS2812B タイプのカラー LEDを1個を搭載しています。
  • OLED ディスプレイ (別売: www.amazon.co.jp/dp/B0CP46CSWV/ )を接続する端子を装備しており、グラフィックスや文字の表示を行うことができます。
  • Arduino IDE でプログラム(スケッチ)を開発できます。
  • 開発ボードへのファームウェア等の書き込みは、USB 接続で STM32CubeProgrammer を使用して行うことができます。
  • ドロップアウトが 300mV と少ない 800mA の電圧レギュレータを搭載し、STM32F072CBT6/STM32F303CBT6に安定した電源を供給できます。

Arduinoプログラミング

LEDの点滅

STM32-MINIに搭載されているLED1,LED2を交互に点灯させる例です。

void setup() {
  pinMode(PA13, OUTPUT); // LED1
  pinMode(PA14, OUTPUT); // LED2
}

void loop() {
  digitalWrite(PA13, HIGH);
  digitalWrite(PA14, LOW);
  delay(1000);

  digitalWrite(PA13, LOW);
  digitalWrite(PA14, HIGH);
  delay(1000);
}

カラーLED

STM32-MINIにはWS2812タイプのカラーLEDが搭載されています。そのカラーLEDの点灯例です。

#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel strip(1, PC14, NEO_GRB + NEO_KHZ800);

int color[][3] = {
  {255,0,0},
  {255,255,0},
  {0,255,0},
  {0,255,255},
  {0,0,255},
  {255,0,255},
  {0,0,0},
  {255,255,255},
  };

void setup() {
  strip.begin();
  strip.setBrightness(50);
  strip.show();
}

void loop() {
  static int idx = 0 ;

  strip.setPixelColor(0, strip.Color(color[idx][0], color[idx][1], color[idx][2]));
  strip.show();

  idx++ ;
  idx %= 8 ;

  delay(1000) ;
}

OLEDディスプレイ

CN2にI2C制御のOLED(別売り)を接続して文字や図形で様々な情報を表示することができます。以下の例は文字の表示例です。

STM32は使用するI2C信号によっては、Wire(I2C)もしくはI2Cを使用した周辺機器の初期化を行う前に、I2Cの接続に使用する信号線を指定する必要がありますが、CN2のI2C1(PB6,PB7)はWireのデフォルトに設定されており追加設定なしで使用できます。

#include <U8g2lib.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

void setup(void) {
//  Wire.setSCL(PB6) ; // I2C1はWireのデフォルトなので設定が必要ない
//  Wire.setSDA(PB7) ;
  u8g2.begin();

  u8g2.setFont(u8g2_font_6x10_tf);
//  u8g2.setFontRefHeightExtendedText();
  u8g2.setDrawColor(1);
  u8g2.setFontPosTop();
  u8g2.setFontDirection(0);

  u8g2.clearBuffer();
  u8g2_ascii_1();
  u8g2.sendBuffer();
}

void loop() {
  delay(1000) ;
}

void u8g2_ascii_1() {
  char s[2] = " ";
  uint8_t x, y;
  for( y = 0; y < 6; y++ ) {
    for( x = 0; x < 16; x++ ) {
      s[0] = y*16 + x + 32;
      u8g2.drawStr(x*7, y*10, s);
    }
  }
}


回路図

STM32F072-MINI
STM32F303-MINI

関連製品

SENSOR-BITS3

STM32-MINIに加速度、ジャイロ、温度、湿度、照度のセンサーを追加し、機能を強化します。