fc2ブログ

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を愛用しています。
簡単な回路図から規模の大きな回路図迄、描画の自由度があり、とても重宝しています。
STM32_SERVO_LCD.gif

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

テスト用ソースコード
下記コードを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です。ここをクリックすると英文の紹介ページが開きます。

ブートローダーの書き込みに必要な物と結線の方法
Bulupill.jpg
・STM32F103C8T6(BluePill)
 ここでは、青い基板のBluePillを使いましたが、黒い基板のBluckPillでも
 同様にブートローダーが書き込めました。
・ネット接続が出来るパソコン
・USBケーブル
・FTDI USBシリアル変換モジュール
 (変換モジュールのI/O電圧設定は3.3V側にセットします)
・ブレッドボード用ジャンパー線





実体配線図を描くfritzingを試してみました。
STM32_FTDI.gif



次回はブートローダーを書き込んだSTM32F103C8T6にLCDディスプレイと
サーボ―モーターを接続します。


皆様の参考になれば幸いです。

テーマ : 電子工作
ジャンル : 趣味・実用

プロフィール

CNC_Paradise

Author:CNC_Paradise
木工・彫刻・機械工作・電子工作が
大好きで自作のCNCを使って工作を
楽しんでます。

最新記事
最新コメント
月別アーカイブ
カテゴリ
何でも工作室
検索フォーム
RSSリンクの表示
リンク
QRコード
QR