STM32F103C8T6で遊ぶ 後編
STM32F103C8T6で遊ぶ 後編 2019年10月15日
ブートローダーを書き込んだら使ってみよう!
STM32F103C8T6と16文字2行表示のLCDを接続してテストを行います。
これも、安価に入手可能なI2C接続のLCDを使い、GNDと3.3V電源間に接続したVR 10KΩの中点をPA3のADCに入力し、
その分圧した電圧値を読み取り、電圧値とサーボ角度の表示及びSERVOモーターの角度を変えるテスト行います。
(準備するもの:STM32F103C8T6、I2C接続の16X2表示LCD、SG90サーボモーター、VR10KB、ジャンパー線等)
接続図1
私は以前から配線図を描くのに水魚堂のBSch3Vを愛用しています。
簡単な回路図から規模の大きな回路図迄、描画の自由度があり、とても重宝しています。

接続図2
fritzingは使い易くて簡単な電子工作の部品間結線を表現するのに優れています。

テスト用ソースコード
下記コードをArduino IDEにコピーして下さい。
Arduino IDEのボード設定はGeneric STM32F103C seriesを選択します。
動画をご覧ください。
皆様の参考になれば幸いです。
ブートローダーを書き込んだら使ってみよう!
STM32F103C8T6と16文字2行表示のLCDを接続してテストを行います。
これも、安価に入手可能なI2C接続のLCDを使い、GNDと3.3V電源間に接続したVR 10KΩの中点をPA3のADCに入力し、
その分圧した電圧値を読み取り、電圧値とサーボ角度の表示及びSERVOモーターの角度を変えるテスト行います。
(準備するもの:STM32F103C8T6、I2C接続の16X2表示LCD、SG90サーボモーター、VR10KB、ジャンパー線等)
接続図1
私は以前から配線図を描くのに水魚堂のBSch3Vを愛用しています。
簡単な回路図から規模の大きな回路図迄、描画の自由度があり、とても重宝しています。

接続図2
fritzingは使い易くて簡単な電子工作の部品間結線を表現するのに優れています。

テスト用ソースコード
下記コードをArduino IDEにコピーして下さい。
Arduino IDEのボード設定はGeneric STM32F103C seriesを選択します。
#include "Servo.h" #include "LiquidCrystal_I2C.h" LiquidCrystal_I2C lcd(0x27, 16, 2); //A0,A1,A2 If no jumper is used, the address is 0x27. int servoPin = PA0; //PWM int potPin = PA3; //ADC INPUT Servo servo; void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("STM32 SERVO TEST"); lcd.setCursor(0, 1); lcd.print("SERVO ANGLE"); delay(2000); lcd.clear(); servo.attach(servoPin); } void loop() { lcd.clear(); int angle; float Voltage; int reading; reading = analogRead(potPin); // PA3 Read angle = (reading/22.7); // 180/4096 Voltage = (reading/1241.21); // 3.3/4096 servo.write(angle); // Servo angle output lcd.setCursor(0,0); // On the first line lcd.print("Voltage val:"); // caption title lcd.print(Voltage); // Input Voltage value lcd.setCursor(0,1); // On the second line lcd.print("SERVO ANGLE:"); // caption title lcd.print(angle); // Input angle value delay(100); } |
動画をご覧ください。
皆様の参考になれば幸いです。
スポンサーサイト
STM32F103C8T6ボードで遊ぶ 前編
STM32F103C8T6で遊ぶ 前編 ブートローダーを書き込む方法
2019年10月10日
安価に入手可能なSTM32F103C8T6 開発ボードですが、通常ブートローダーが書き込まれていないのでオンボードの
マイクロUSBソケットからソースコードの書き込みが出来ません。 そこで、Aruduinoボードと同じようにArduino IDEから
プログラミング出来るように設定する必要が有ります。ブートローダーの書き込み方法を紹介するページが多くありますが、
私が参考にさせて頂いたページが、画像やリンクが充実していて理解し易いのでご紹介します。
参考サイトはCIRCUIT DIGGESTです。ここをクリックすると英文の紹介ページが開きます。
ブートローダーの書き込みに必要な物と結線の方法

・STM32F103C8T6(BluePill)
ここでは、青い基板のBluePillを使いましたが、黒い基板のBluckPillでも
同様にブートローダーが書き込めました。
・ネット接続が出来るパソコン
・USBケーブル
・FTDI USBシリアル変換モジュール
(変換モジュールのI/O電圧設定は3.3V側にセットします)
・ブレッドボード用ジャンパー線
実体配線図を描くfritzingを試してみました。

次回はブートローダーを書き込んだSTM32F103C8T6にLCDディスプレイと
サーボ―モーターを接続します。
皆様の参考になれば幸いです。