概要
手の不自由な友人のために、外部SW押すだけでパソコンの動画フォルダを選んで連続再生できるようなシステムを作りました。
STM32マイコンと Tera Term マクロ、動画再生に smplayer を使いました。
*** SW 押した時の動作 ***
・SW1 押すと・・・C:_AV2\DATA\ にある動画を連続再生
・SW2 押すと・・・C:_AV2\DATA2\ にある動画を連続再生
・SW3 押すと・・・C:_AV2\DATA3\ にある動画を連続再生
・SW4 押すと・・・C:_AV2\DATA4\ にある動画を連続再生
構成
・パソコン側: 通信ソフト TeraTerm 4.95 動画再生ソフト smplayer
・マイコン:STM32F103C8T6
・その他:ブレッドボード・ワイヤー・タクトSW
マイコン側のソフト
押したSWにより 0~4 の数値をパソコンへ送ります。
void setup() {
Serial.begin(9600);
pinMode(22,INPUT_PULLUP);
pinMode(23,INPUT_PULLUP);
pinMode(24,INPUT_PULLUP);
pinMode(25,INPUT_PULLUP);
}
void loop() {
if (digitalRead(22)) Serial.println("1");
else if (digitalRead(23)) Serial.println("2");
else if (digitalRead(24)) Serial.println("3");
else if (digitalRead(25)) Serial.println("4");
else Serial.println("0");
}
パソコン側のソフト
パソコンを起動すると、Startup にある TeraTerm マクロを実行します。
マイコンから 0~4 の数字を受取り、その数値より再生するフォルダを変えて動画を再生します。
① _START.ttl ファイルに以下を記述
(注意)
・COM_PORT 番号は必要の応じて変更する
・再生する動画は C:_AV2\DATA 等に入っていることを想定
COM_PORT = '6'
BAUDRATE = '9600'
COMMAND = '/C='
strconcat COMMAND COM_PORT
strconcat COMMAND ' /BAUD='
strconcat COMMAND BAUDRATE
connect COMMAND
:L1
val=0
while val=0
recvln
str2int val inputstr
endwhile
if val=1 exec 'C:\_AV2\smplayer.exe C:\_AV2\DATA'
if val=2 exec 'C:\_AV2\smplayer.exe C:\_AV2\DATA2'
if val=3 exec 'C:\_AV2\smplayer.exe C:\_AV2\DATA3'
if val=4 exec 'C:\_AV2\smplayer.exe C:\_AV2\DATA4'
pause 3
goto L1
end
② Tera Term の起動で ①のマクロファイルを指定して起動するショートカットを作成
プロパティ-リンク先を以下にする
C:\Program Files (x86)\teraterm\ttpmacro.exe C:_AV2_START.ttl
③ ② をスタートアップフォルダ(以下)へ登録する
C:\Users\△△\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
-
minosuke
さんが
2020/05/03
に
編集
をしました。
(メッセージ: 初版)
-
minosuke
さんが
2020/05/03
に
編集
をしました。
ログインしてコメントを投稿する