本講座では,STM32を題材に CubeIDE / CubeMX によるプロジェクト作成,コード生成,デバッグの流れを実演を交えて学びます.本セミナでは STM32(Nucleo ボード)を用いて,組込み開発の基礎から UI 実装、A/D・I2C・LCD・SPI・UART などの周辺機能までをHALで体系的に学びます.1日目では main.c にロジックを書かない構造化手法(目的別ファイル分割)を習得し,2日目では UI 実装を通じて理解を確認しながら通信方式へ進む 実践的な構成です.
※このセミナでは,講師オリジナル基板を用いた実装済みのマイコン学習用ボードを教材として使います.そのため,電子回路組立の経験がない方でも参加できます.
※マイコン・ボード,実装済みのマイコン学習用ボード,講師作成のプログラム,およびセミナで作成したプログラムはお持ち帰り可能です.
●割引プランについて…マイコン・ボードを多数お持ちの方に
割引プランをご希望の方は,申込後,『割引プランで受講希望』 とメールでご返信ください.マイコン・ボードNucleoF446は事務局貸し出し品を使用して受講いただきます.受講料金は\3,000割引【32,000円(税込)】でご参加いただけます.なお,割引プランではマイコン・ボードNucleoF446のお持ち帰りができませんが,実装済みのマイコン学習用ボード,講師作成のプログラム,およびセミナで作成したプログラムはお持ち帰り可能です.
= 1日目 =
1.イントロダクション
(a) STM32F446RE / Nucleoボードの概要
(b) CubeIDE / CubeMX を使った開発の全体像
(c) 生成コードと自作コードの役割分担
(d) デバッガ・オシロスコープの基本
2.CubeIDE / CubeMX ライブ実演
(a) プロジェクト作成
(b) ピン設定とコード生成
(c) ビルド・書き込み
(d) デバッガでの変数確認
3.GPIO 入出力の基本実習
(a) Nucleo搭載I/Oによる基本動作確認
(b) 4つのスイッチと4つのLEDの対応制御
(c) 押下でLEDをトグルする処理の実装
(d) チャタリングとデバウンスの必要性
4.時間制御の基本実習
(a) SysTick と HAL_GetTick による時間管理
(b) HAL_Delay に頼らない周期処理
(c) デバウンス処理の実装
(d) 状態を持つ処理の考え方
5.独立ソースファイルの作成と利用
(a) .c / .h ファイルの追加
(b) 関数プロトタイプとヘッダの役割
(c) main.c から自作関数を呼び出す
(d) 自分のコードでボードを動かす
6.7セグメントLED 1桁表示
(a) 1桁7SEG表示の基本
(b) セグメント点灯パターンの作成
(c) 数字表示の実装
(d) 4桁表示への準備
7.7セグメントLED 4桁表示への拡張
(a) 1桁表示から4桁表示へ
(b) 桁切替の考え方
(c) 周期処理による表示更新
(d) 表示データの作成
= 2日目 =
8.7セグメントを用いた簡易UI実装
(a) 4つのスイッチをソフトキーとして使う
(b) 選択桁の移動
(c) 選択桁の点滅表示
(d) 輝度制御による状態表示
9.PWM / Output Compare によるUI表現
(a) タイマ機能の基本
(b) PWM / OC を使った表示制御
(c) UI表現への応用
(d) サーボ制御などへの展開
10.センサ入力への展開
(a) A/D制御によるアナログ温度センサ入力
(b) I2C制御による温湿度センサ入力
(c) 入力値の表示と活用
(d) 7SEG / 液晶表示への展開
11.液晶表示器への応用
(a) 液晶ドライバ利用の考え方
(b) 表示機能の追加方法
(c) 既存コードへの機能追加
(d) UIの発展例
12.コード構造の発展とまとめ
(a) UI処理の分離
(b) ui_app_init() / ui_app_loop() の考え方
(c) 保守しやすい組み込みコードの組み方
(d) 発展サンプル SPI/UART と持ち帰り後の学習方法
実習で使用するマイコンボード NucleoF446RE※割引プランでは事務局貸し出し品のボードを使用いたします.
講師オリジナル基板を用いた実装済みのマイコン学習用ボード※教材はセミナ終了後お持ち帰りできます.
●対象聴講者
・C言語についての基本的理解がある方.
・STM32マイコンで組み込みマイコンソフト開発に携わることになった方.
・ハード制御に必要なHAL層生成手順について理解したい方.
・HAL層のAPIを理解したい方.
・マイコンのペリフェラルを使うための例を理解したい方.
●講演の目標
・main.c を“入口”として扱い,ロジックを自作ファイルに分割できる.
・keyscan / led / seg7 などの 目的別ファイル分割の作法を理解し実践できる.
・7SEG 4桁表示(ダイナミック点灯)を自作ファイルで実装できる.
・UI 仕様をもとに自力で UI を構築できる(理解確認フェーズ).
・A/D・PWM・コールバックなど UI に必要な技術を理解する.
・I2C(DHT11)・LCD(パラレル)の基本を理解し,値を取得・表示できる.
・UI と表示を分離する context 構造 を理解する.
・自走できる受講者は CUI(UART)まで到達可能.