【保存版】鉄道部品とbveを連動させる方法!入力編の付録プログラム
このプログラムを使用して鉄道部品とパソコンを接続する為には以下の機器が必要です。
こちらからお求め下さい。
使い方や設定方法はこちらをご覧下さい!
ワシ丸ドットコム!【保存版】鉄道部品とbveを連動させる方法!入力編
#include "Keyboard.h"
int key2 = 0;
int key3 = 0;
int key4 = 0;
int key5 = 0;
int key6 = 0;
int key7 = 0;
int key8 = 0;
int key9 = 0;
int key10 = 0;
int key11 = 0;
// キー入力フラグ
void setup() {
pinMode( 2, INPUT_PULLUP); // 非常ブレーキ 1
pinMode( 3, INPUT_PULLUP); // EBリセット DELETE
pinMode( 4, INPUT_PULLUP); // 車掌SW開 リード「2」
pinMode( 5, INPUT_PULLUP); //
pinMode( 6, INPUT_PULLUP); // ATS確認 F2
pinMode( 7, INPUT_PULLUP); // 警報持続 INS
pinMode( 8, INPUT_PULLUP); // ATS解放 Home
pinMode( 9, INPUT_PULLUP); // ATS-P ブレーキ解放 END
pinMode( 10, INPUT_PULLUP); // 車掌SW 機械式
pinMode( 11, INPUT_PULLUP); // 車掌SW閉 リード「3」
Serial.begin(9600);
Keyboard.begin(); // キーボード開始
}
void loop() {
if( digitalRead(2) == LOW ){
if( key2 == 0 ){
key2 = 1;
Keyboard.press('1');//非常ブレーキ
}
}else {
if( key2 > 0 ){
key2 = 0;
Keyboard.release('1');//非常ブレーキ
}
}
if( digitalRead(11) == LOW ){
if( key11 == 0 ){
key11 = 1;
Keyboard.press('3');//
}
}else {
if( key11 > 0 ){
key11 = 0;
Keyboard.release('3');//
}
}
if( digitalRead(3) == LOW ){
if( key3 == 0 ){
key3 = 1;
Keyboard.press(KEY_DELETE);//EB
}
}else {
if( key3 > 0 ){
key3 = 0;
Keyboard.release(KEY_DELETE);//EB
}
}
if( digitalRead(4) == LOW ){
if( key4 == 0 ){
key4 = 1;
Keyboard.press('2');//車掌SWリードタイプ
}
}else {
if( key4 > 0 ){
key4 = 0;
Keyboard.release('2');//車掌SWリードタイプ
}
}
if( digitalRead(6) == LOW ){
if( key5 == 0 ){
key5 = 1;
Keyboard.press(KEY_F2);//ATS確認
}
}else {
if( key5 > 0 ){
key5 = 0;
Keyboard.release(KEY_F2);//ATS確認
}
}
if( digitalRead(7) == LOW ){
if( key6 == 0 ){
key6 = 1;
Keyboard.press(KEY_INSERT);//警報持続
}
}else {
if( key6 > 0 ){
key6 = 0;
Keyboard.release(KEY_INSERT);//警報持続
}
}
if( digitalRead(8) == LOW ){
if( key7 == 0 ){
key7 = 1;
Keyboard.press(KEY_HOME);//ATS解放 復帰
}
}else {
if( key7 > 0 ){
key7 = 0;
Keyboard.release(KEY_HOME);//ATS解放 復帰
}
}
if( digitalRead(9) == LOW ){
if( key8 == 0 ){
key8 = 1;
Keyboard.press(KEY_END);//ATS-P ブレーキ解放
}
}else {
if( key8 > 0 ){
key8 = 0;
Keyboard.release(KEY_END);//ATS-P ブレーキ解放
}
}
if(digitalRead(10)==LOW){
if( key10 == 0){
key10 = 1;
Keyboard.print("2");//車掌SW開
}
}
if(digitalRead(10)==HIGH){
if( key10 == 1){
key10 = 0;
Keyboard.print("3");//車掌SW閉
}
}
if(digitalRead(10)==HIGH){
if(key10 == 1){
key10 = 0;
}
}
delay(100);
}
arduinoはこちらで買えます^ ^
対応USBもお忘れなく!
このプログラムを説明しているYouTube動画はこちらです!
ワシ丸ドットコム!No.31