Nucleo-F303K8でADCの値をLCD(AQM0802)(i2c)に表示する(Arduino版)
2020/5/16
PlatformIO Nucleo-F303K8 AQM0802
PlatformIO Nucleo-F303K8 AQM0802
概要
Nucleo-F303K8でADCの値を以下の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-adc1 を作成/実行する
#ターゲットボードのtarget名を検索する
# (ここではNucleo-F303K8を検索する)
$ pio boards | grep -i F303K8
#出力例:
nucleo_f303k8 STM32F303K8T6 72MHz 64KB 12KB ST Nucleo F303K8
nucleo_f303k8
#target名として「nucleo_f303k8」が判明した
# プロジェクトnucleo-adc1 のディレクトリを作成する
mkdir nucleo-adc1
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;
int a0;
int a1;
int a2;
int a3;
void setup() {
Serial.begin(115200); // setup serial
// 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");
Serial.println("Hello World.");
}
void loop() {
a0 = analogRead(0);
a1 = analogRead(1);
a2 = analogRead(2);
a3 = analogRead(3);
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0);
lcd.print("A0: "+String(a0)+" "); // +" " to clear garbage
float v1 = a1 * 3.3 / 1023.0;
lcd.setCursor(0, 1);
lcd.print("V1: "+String(v1)+" "); // show voltage
//
Serial.println("A0: "+String(a0));
Serial.println("A1: "+String(a1));
Serial.println("A2: "+String(a2));
Serial.println("A3: "+String(a3));
Serial.println("------------------");
delay(500);
}
続き:
# build
pio run
# ボードをホストPCに接続する
# build&upload(flash)
pio run -t upload
# buildしないで書き込む場合は以下を実行する:
pio run -t nobuild -t upload -v
# -v は、詳細を表示するオプション
# 注意:エラーが出て書き込めない場合
# いったん、USBの接続を切って再接続すると良いようだ。
書き込み後、LCDの1行目にA0の値が2行目にA1の値を電圧に変換した値が表示される。 シリアル出力(/dev/ttyACM0)には、A0,A1,A2,A3の値が出力される。
参考情報
NUCLEO-F303K8
開発ツールPlatformIOをcli(comand line interface)で使う(Nucleo版)
以上
| 固定リンク
« 開発ツールPlatformIOでSipeed-RV(RISC-V)-Debuggerを使用する(Longan-Nano版) | トップページ | Longan-NanoでADCを使う(framework:gd32v版) »
「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)
この記事へのコメントは終了しました。
コメント