Nucleo-F303K8でLCD(AQM0802)(i2c)を動かす
2020/5/5
PlatformIO Nucleo AQM0802
PlatformIO Nucleo AQM0802
概要
Nucleo-F303K8で以下のLCD(AQM0802)(i2c)を動かす。(Arduino版)
(ホストPCとしてはubuntuを想定している)
I2C接続小型LCDモジュール(8×2行)ピッチ変換キット(AE-AQM0802)
(基板上のプルアップは有効にしている)
PlatformIOのインストール
python3 -m venv pio_env
source pio_env/bin/activate
pip3 install platformio
インストール後も、本ツールを使用する場合
同じディレクトリで以下を実行する:
source pio_env/bin/activate
# 「source」は、「.」でも良い
準備
以下を実行して、udevのrulesを登録する:
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
sudo udevadm control --reload-rules
sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER
接続
以下の表のように、ボードとLCDを接続する:
F303K8 | AE-AQM0802 |
---|---|
3V3 | VDD |
RESET | NC |
D5 | SCL |
D4 | SDA |
GND | GND |
NC: None Connection
テスト用プロジェクト sample-nucleo を作成/実行する
#ターゲットボードのtarget名を検索する
# (ここではNucleo-F303K8を検索する)
$ pio boards | grep -i F303K8
#出力例:
nucleo_f303k8 STM32F303K8T6 72MHz 64KB 12KB ST Nucleo F303K8
nucleo_f303k8
#target名として「nucleo_f303k8」が判明した
# プロジェクトsample-nucleo のディレクトリを作成する
mkdir sample-nucleo
cd sample-nucleo
# 以下を実行して必要なファイルを作成する
pio init --board nucleo_f303k8
# platformioを編集する
nano platfomio.ini
#以下の内容に編集する:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:nucleo_f303k8]
platform = ststm32
board = nucleo_f303k8
framework = arduino
upload_protocol = stlink
debug_took = stlink
続き:
# LCD(ST7032)ライブラリをインストールする
pio lib install 445
# テスト用のmain.cppを作成する
nano src/main.cpp
以下の内容に編集する:
#include <Arduino.h>
#include <Wire.h>
#include <ST7032.h>
// initialize the library with the numbers of the interface pins
//LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
ST7032 lcd;
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(8, 2);
lcd.setContrast(30); // should be changed to fit your board
// Print a message to the LCD.
lcd.print("HelloWLD");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(String(millis()/1000)+" sec");
}
続き:
# build
pio run
# ボードをホストPCに接続する
# build&upload(flash)
pio run -t upload
# buildしないで書き込む場合は以下を実行する:
pio run -t nobuild -t upload -v
# -v は、詳細を表示するオプション
# 注意:エラーが出て書き込めない場合
# いったん、USBの接続を切って再接続すると良いようだ。
書き込み後、LCDに表示がでればOKである。
参考情報
NUCLEO-F303K8
開発ツールPlatformIOをcli(comand line interface)で使う(Nucleo版)
以上
| 固定リンク
« Longan-NanoのLCDに動画を表示する | トップページ | プログラミング言語RustをSTM32F3Discovery/Nucleo-F303K8ボードで動かす(STM32F3xx) »
「linux」カテゴリの記事
- platfomioを使ってnaitive(linux/windows)のプログラムをビルドする方法(2021.03.10)
- micro:bit Yotta開発ツール(linux版)(2021.01.09)
- PlatformIOをRaspberryPi4で動かしてみる(実験)(2020.10.20)
- headless RaspberryPiインストール方法(v2)(2020.10.20)
- wio-terminalのファームウェア・アップデートについて(linux版)(2020.10.15)
「PlatformIO」カテゴリの記事
- NuEVI/NuRADのビルド(2022.08.18)
- Wio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする(2022.02.03)
- uncannyeyesスケッチをplatformioでビルドする(2022.01.31)
- LovyanGFX-Display ライブラリを使用したスケッチをplatformioでビルドする(2022.01.30)
- Wio-Terminal/M5Core2のWiFiAnallyzer(2022.01.24)
「Arduino」カテゴリの記事
- platformioのために新しいユーザーを設定する(2022.02.06)
- MAKER_PI_RP2040でI2Cを使う(Arduino編)(2022.01.09)
- M5Stamp-PICO Arduino Install(2021.12.12)
- M5Stamp-C3 Arduino Install(2021.12.12)
- Arduino-CLIのインストール(2021.05.19)
「Nucleo」カテゴリの記事
- MicroPython/CircuitPython Performance Test(2021.02.07)
- MicroPython(F767ZI) Network Samples(2021.01.03)
- MicroPython(F767ZI)でStartwars(AsciiArt)を動かす(2020.12.29)
- NUCLEO-F767ZIにMicropythonをインストールする(v2)(2020.05.22)
- Nucleo-F303K8でADCの値をLCD(AQM0802)(i2c)に表示する(Arduino版)(2020.05.16)
コメント