なんとなくBluetoothスピーカー作ってみた



先日雨に濡れて壊れてしまったBluetoothレシーバーAR-120に、外部電源をつないでみたら音が出たので、これを使って無線で使えるスピーカーを作ってみました。

IMG_4022.jpg

スピーカーは、昔多チャンネルサラウンドを試していた時に買ったスギヤマエレクトロン社Parella SEP-01という球形スピーカーです。ユニットにはFostexの8cmフルレンジユニットを使った密閉型スピーカーで、面白いのは下向きにスピーカーユニットが着いていて、周囲のどこからでも聴けるというもの。

IMG_4024.jpg

サラウンドユニットは、ただのモノラルスピーカーで底の部分に空間があります。そこに単三乾電池3個を直列につないで組み込んでしまいました。そこにAR-120から取り出した電源ケーブルをつなぎ、もともとついていたモノラルプラグを差し込んだらできあがり。

IMG_4020.jpg

電池内蔵にしたので、部屋のどこに置いても音楽が楽しめます。AR-120の出力は結構ありますし、密閉型8cmユニットも音エネルギーへの変換効率が高いので、特にアンプを内蔵することもなく、お手軽無線スピーカーのできあがり。スピーカーが良いため、音も結構良くて、あっちこっちに移動しながら聴いてます。




関連記事
スポンサーサイト

第2トリップメーター実装

IMG_3969.jpg

先日の分解整備で、なんとか動いている状態のオリジナルトリップメーターが生きているうちに、予備のトリップメーターをということで、ArduinoのEEPROMを使った実装をやってみました。

トリップメーターというのは、常にバイクに接続されていて、電源がオフになっても走行距離を保持する必要があります。Arduino UNOには、512バイトのEEPROMがのっており、電源が切れても記録を保持する事ができます。

現在、Arduinoには、前輪につけたリードスイッチから車輪の回転パルスが入っているので、それを積算すれば距離が出せそうです。そこで、下のようなスケッチを書いてみました。数値が大きくなるので、4バイトlong整数を使用しました。60センチメートル(前輪の外周の1/3)単位で計測します。上の表示の場合は、数字に0.6をかけると積算走行距離(メートル)が出ます。

また、EEPROMの書き換え回数は10万回の制限があるため、どうやって書き込むか思案した結果、入ってくるパルス(myHz)が0でかつ、保持しているmyTripがEEPROMに記録されている数値より大きくなっていた時、つまり、しばらく走行した後停車した時に一回だけ保存するようにしました。

ついでに、エンジンパルスにArduinoの処理が追いつかない部分を、digitalReadを直接レジスターを読みにいく関数で置き換える事で緩和しています。トリップメーターは、PIO3にタクトスイッチをつけてリセットできるようにしてみました。データは前輪からのリードスイッチパルス数(前輪1回転あたり3パルス)をそのままlong整数でKonashi経由でiPhoneに送っています。本物のトリップメーターとの誤差は、今のところ20kmで0.1kmくらい(0.5%)で、結構優秀。

IMG_3970.jpg

外観が、だんだんコンピュータっぽくなってきて、今後が楽しみです。

#include <Wire.h>  // I2Cライブラリ
#include <ST7032.h> //小型LCDドライブチップ用ライブラリ
#include <MsTimer2.h> //時間計測用
#include <EEPROM.h> //EEPROMライブラリ

int flagHi1;
int flagHi2;
int stllDown;
ST7032 lcd;
int counter1,counter2, myHz, myrps, myK;
long myTrip = 0;

//セットアップ
void setup(){
//初期化
flagHi1 = 0;
flagHi2 = 0;

counter1 = 0;
counter2 = 0;
myrps = 0;
myHz = 0;
myK = EEPROM.read(0);//シフトポジション用パラメーター
myTrip = EEPROMReadlong(1);//第2トリップメーター long=4バイト

pinMode(7, INPUT);//車輪回転数取得ピン PIO7
pinMode(4, INPUT);//エンジン回転数取得ピン PIO4

//i2c masterセットアップ
lcd.begin(8, 2);
lcd.setContrast(10); // コントラスト設定は電源5Vなので低め
lcd.print("Starting");
lcd.setCursor(0,1);lcd.print("K=");lcd.print(myK);
delay(2000);

//スレッド設定
MsTimer2::set(1000, calc);
MsTimer2::start();

attachInterrupt(0, resetmyK, FALLING);//pin2のスイッチ;myKリセット用
attachInterrupt(1, resetTrip, FALLING);//pin3のスイッチ;トリップリセット用

//Serial設定
Serial.begin(9600);//Konashiと通信

}
//ループ
void loop(){
int digitalin1 = PIND & _BV(7);//digitalRead(7)の高速版 車輪回転パルス
int digitalin2 = PIND & _BV(4);//digitalRead(4);の高速版 エンジンパルス

//パルスHIGH
if (digitalin1 && flagHi1 == 0){
counter1++;
flagHi1 = 1;
}

if (digitalin2 && flagHi2 == 0){
counter2++;
flagHi2 = 1;
}

//パルスLOW
if (!digitalin1 && flagHi1 == 1){
flagHi1 = 0;
}
if (!digitalin2 && flagHi2 == 1){
counter2++; //ボードによって1/2分周されているためここでもカウント
flagHi2 = 0;
}

}

void calc(){
float myshift=1.0;//シフトポジション格納用

interrupts();//関数内でi2cを使うには割り込み許可が必要

myHz = counter1;//リードスイッチパルス 毎秒何パルス(前輪回転数x3)
myTrip = myTrip + counter1;//第2トリップメーター積算
myrps = counter2;//エンジン回転数 毎秒何回(rps)
if(myrps > 250) myrps = 250;//上位はコマンド用にリザーブ
counter1 = 0;
counter2 = 0;

if(myrps > 0)
{
myshift = myK * myHz / myrps - 2; //周波数>シフトポジション計算
}

if(myHz == 0)//車輪が止まっていて、、、(EEPROM書き込み回数保護)
{
if(myTrip > EEPROMReadlong(1))//かつトリップメーターの数値が変化していれば、、
{
EEPROMWritelong(1, myTrip);//EEPROMに数値を書き込む
lcd.clear();lcd.print(myTrip);lcd.print("*");//書き込み時に*を表示
lcd.setCursor(0, 1);lcd.print(myHz);lcd.print("Hz");
delay(500);//*が視認できるように少し待つ
}
}

lcd.clear();lcd.print(myTrip);
lcd.setCursor(0, 1);lcd.print(myHz);lcd.print("Hz");

Serial.write(255);//Konashiにこれからデータ送ると教える
Serial.write((int)myshift);//konashiへデータ転送
Serial.write(myHz);
SerialWritelong(myTrip);//トリップメーターの値はリードスイッチ積算パルス数を送る
}

void resetTrip(){
myTrip = 0;
EEPROMWritelong(1, myTrip);//第2トリップメーターリセットボタンでリセット
}

void resetmyK(){
myK = 23;
EEPROM.write(1, myK);//シフトポジションパラメーターリセット
}

//This function will write a 4 byte (32bit) long to the eeprom at
//the specified address to adress + 3.
//http://playground.arduino.cc/Code/EEPROMReadWriteLong
void EEPROMWritelong(int address, long value)
{
//Decomposition from a long to 4 bytes by using bitshift.
//One = Most significant -> Four = Least significant byte
byte four = (value & 0xFF);
byte three = ((value >> 8) & 0xFF);
byte two = ((value >> 16) & 0xFF);
byte one = ((value >> 24) & 0xFF);

//Write the 4 bytes into the eeprom memory.
EEPROM.write(address, four);
EEPROM.write(address + 1, three);
EEPROM.write(address + 2, two);
EEPROM.write(address + 3, one);
}

//This function will return a 4 byte (32bit) long from the eeprom
//at the specified address to adress + 3.
long EEPROMReadlong(long address)
{
//Read the 4 bytes from the eeprom memory.
long four = EEPROM.read(address);
long three = EEPROM.read(address + 1);
long two = EEPROM.read(address + 2);
long one = EEPROM.read(address + 3);

//Return the recomposed long by using bitshift.
return ((four << 0) & 0xFF) + ((three << 8) & 0xFFFF)
+ ((two << 16) & 0xFFFFFF) + ((one << 24) & 0xFFFFFFFF);
}

//EEPROMWritelongを改変したシリアルに連続4バイト書き出すコード
void SerialWritelong(long value)
{
//Decomposition from a long to 4 bytes by using bitshift.
//One = Most significant -> Four = Least significant byte
byte four = (value & 0xFF);
byte three = ((value >> 8) & 0xFF);
byte two = ((value >> 16) & 0xFF);
byte one = ((value >> 24) & 0xFF);

//Write the 4 bytes into the eeprom memory.
Serial.write(four);
Serial.write(three);
Serial.write(two);
Serial.write(one);
}
関連記事

土砂降り雨天ツーリング

IMG_3935.jpg

今年のお盆休みは雨続きです。晴れ間を狙ってツーリングに出かけても、結局途中で土砂降りの雨にあうはめに。お陰で、自分の雨装備の実力を確認することができました。かつて、水に濡れると10分で走れない状態になっていたVTも、見違える様にタフになりました。

まず、ゴアテックスのグローブとオーバーソックスは、値段の分きっちり仕事してくれました。特にソックスは、水たまりに突っ込んで靴の中がプール状態になっていても、まったく水を通しませんでした。足先に水がたまっているぶにょぶにょした感触を感じられるほどの余裕っぷり。

ホンダのカッパはさすがに股のところが浸みてきてしまいました。ズボンだけでも買い換えた方が良さそうです。下だけホームセンターの安物を使い捨てるのも手かもしれません。

あと、当然と言えば当然なのですが、ヘルメットに貼付けてあったBTレシーバーはお亡くなりになりました。まず音が出ないのと、電池の充電ができません。特に音が出ないのは重症で、分解してバッテリー直結すればiPhoneと接続はできるのですが、音がまったく出ないため、使い回しもできません。ちょっと勿体ないことをしました。使い勝手はとても良かったので、アマゾンに注文したら翌日の朝には届きました。次からはちゃんとプラグを抜いてゴムをかぶせるようにしよう。

iPhoneまわりや、マイコンをおさめたポーチの中は、カウルのおかげもあって大丈夫でした。これだけの悪天候の中でも、中枢が生きていてくれると本当に心強いです。

土砂降りの中でもスピードをまったく落とさないどころか、道が空いているためにとばしてる車が結構います。ろくに保険も入っていなさそうなので、雨の日は家で大人しく工作しているのが良いですね。

(追記)

新しいレシーバーが到着したので、今度こそ壊さない様にとこういうの買ってきました。

IMG_3940.jpg

これを、ヘルメットに付けたレシーバーにかぶせると、、、

IMG_3938.jpg

IMG_3937.jpg

あら、まあ、ぴったり。見てくれは例によって悪いですが、この状態で操作もできるので、文句は言いません。100均で売ってます。


Logitec iPhone5/4/4S/3GS/3G スマートフォン対応 Bluetooth レシーバ タフバッテリー AR120シリーズ ブラック LBT-MPAR120BKLogitec iPhone5/4/4S/3GS/3G スマートフォン対応 Bluetooth レシーバ タフバッテリー AR120シリーズ ブラック LBT-MPAR120BK
(2011/04/08)
ロジテック

商品詳細を見る



関連記事

板取川の川霧



DSCF3805.jpg

最近、岐阜のマイナーな清流に凝っています。長良川には何本もの支流が流れ込んでいて、板取川もそのひとつです。長良川も、他の川に比べればきれいですが、これらの支流は本当に水が透き通っています。ここのところの雨続きでも、川はあまり濁らずに、湿度と水温の関係で、このような川霧を見ることもできます。

DSCF3816.jpg

さらに上流は、まさに幽玄の世界。野生のリスや黄セキレイなどを見ることができました。

DSCF3827.jpg

DSCF3826.jpg

透明な水面を霧が覆っている様子。どこまでが現実なのかわからないような、不思議な気分になります。この後は、予想通り大雨になって、パンツまで濡れて帰ってきました。


関連記事

やりすぎたかもorz

夏休みの工作的に、いろいろと作り込んできましたが、動いたと思ったのはほんの一瞬でした。どうも焼き切ったフォトカプラあたりから不調が広がって、現在はデジタルIOとUART通信が排他的に動いたり動かなかったり状態。この際、デジタルIOはあきらめてシフトポジションだけ残そうかと、かなり弱気になっています。未完成ながら、現在のメーターまわりを撮影してみました。



シフトポジションは、あるとやっぱり便利ですね。ただし、Arduinoのメインループがせいぜい100Hzでしかデータを取れないために、現在のところエンジン回転数が5000〜6000回転あたりを超えると勝手にシフトダウンがはじまります。高速道路だと巡航で8000回転くらいになるので、これは問題です。

Konashiを接続するために取り出した各種センサーラインがまだ生きており、おおむねArduinoは安定動作しているため、LED表示を発展させたサブパネルでHUDを作ってしまおうかとか、相変わらず懲りてない面も。最近、小型有機ELパネルがかなり安いんですよね。

電子工作が行き詰まったので、しばらくさぼっていた通常整備をしました。チェーンをきれいにして、伸びをチェック。わずかに緩んでいたのを引っ張っておきました。セルが回りにくい感じがしたため、バッテリーがそろそろやばいかと思い、充電器にセットしてみると問題なし。液面も下がっていません。となるとセルモーター回りがいよいよやられてきたのかも。タイヤ空気圧、エンジンオイルも問題なさそうなので、明日はあまり混んでいなさそうなところへふらっと行ってこようかな。

関連記事

Intelligent VT計画(シフトポジションインジケーター)



さて、Arduinoで前輪の回転数とエンジン回転数を取り込めるようになると、この二つを使って現在のシフトポジションを計算できます。実はiPhoneをVTに載せようと思った時に欲しかった機能の一つです。無ければ無いで全然困らないのですけど、あるとちょっとうれしい。

前輪に付けた磁石からのパルスとエンジン回転数のパルスの比を計測して、場合分けによってKonashiに現在のシフトポジションを送る方法が一般的です。しかし、低速域では前輪からのパルス数が足りなくて、うまく計算できません。そこで、まず磁石を3個に増やしました。

IMG_3895.jpg

さらに、場合分けが多いとプログラミング修正も面倒なので、もっと簡単にシフトポジションを計算できる方法を考えてみました。

table.jpg

まずエンジン一回転あたり前輪が何回転するか(h)を計算します。VT250FEでは、1速のとき、エンジン1回転で前輪のリードスイッチは0.158回パルスを発します。そしてここがポイントですが、エンジン20回転で、前輪からは約3回のパルスが返ってきます。2速では4回、3速では5回という感じになり、6速まで1回ずつパルスが増えていきます。

これより、前輪パルス/エンジン回転数に係数20をかけて、2を減ずれば、現在のシフトポジションがでます。この単純な計算をArduinoにやらせて、シリアル経由で整数部分だけKonashiに送ればいいわけです。

IMG_3894.jpg

実験中の様子。こういう感じで基板がそのままメーターパネルになっているのもなかなか萌えですな。しかし、iPhoneを取り除けばノーマルに戻るという大原則に反するのです。

IMG_3902.jpg

相変わらず頼りない検出部ですが、仙台ツーリングでも壊れなかったので、そのまま使っています。ちなみにリードスイッチの寿命は1000万回から1億回だそうで、計算では6000キロから6万キロくらい使えるはず。壊れたらもう少しましなマウントを考えます。

IMG_3904.jpg

最後に、また100均でポーチを買って来て、今度は右側にとりつけました。中で配線がショートして、LEDとフォトカプラが死んだのは秘密。ちょっと詰め込み過ぎだよなー。

(追記)実際に少し走行してみると、シフトポジションが1低く表示されます。エンジン回転数にノイズが乗って約1割高めにサンプリングされているようです。上で使った係数「20」を「23」まで上げることで、実際のシフトポジションと合う事が判明。念願のシフトポジション表示機能が実装されました。


void calc(){
int myshift;//シフトポジション用変数

interrupts();//関数内でi2cを使うには割り込み許可が必要

myHz = counter1;
myrps = counter2;
counter1 = 0;
counter2 = 0;
lcd.clear();lcd.print(myrps);lcd.print("rps");
lcd.setCursor(0, 1);lcd.print(myHz);lcd.print("Hz");
if(myrps > 0)
{
myshift = 23 * myHz / myrps - 2; //周波数>シフトポジション計算
}

Serial.write(myshift);//konashiへ
}


(追記)かなりやっつけで実装したシフトポジションインジケーターですが、使ってみると非常に便利です。コーナーのRに応じて、何速で走るかも、ある程度考えて決めることができるようになりました。燃費に関しても、延々と5速で走っていたりという事が無くなり、高めのギアで走るようになって多少良くなっているのではないかと思います。ニュートラルランプの信号も、直接Arduinoに入れて、きちんと表示できるようにしました。


関連記事

Intelligent VT計画(コード解説:I2C編)

ArduionoとKonashiを接続するために調べた事項を、忘れないうちに記述します。

I2Cは、複数のマスターノードとスレーブノードを2本の通信線(SCL, SDA)だけで接続し、アドレス管理によってデータ通信をおこなう規格です。LCDディスプレーや、各種センサーが、I2Cに対応しており、マイコン分野では成長株です。

ArduionoもKonashiもI2Cに対応していますが、どうもKonashiのI2Cは評判がよくありません。LCDを2種類、音声合成ボードをひとつつないでみましたが、どれも確実性に欠けました。ですので、Konashiでは、I2Cの使用はお勧めしません。

ArduinoのI2Cは非常に安定しています。今回使ったLCD基板用も、すぐ対応するライブラリーやコードが見つかり、動作も安定していました。


#include <Wire.h> // I2Cライブラリ
#include <ST7032.h> // 小型LCDドライブチップ用ライブラリ
ST7032 lcd;//lcdの出力先をつくる
int myrpm, myHz;//とりあえずの表示用変数

///////セットアップ///////

void setup(){
myrpm = 0;
myHz = 0;

//-----i2c masterセットアップ-----//

lcd.begin(8, 2); //Wire.begin()はいらないみたい
lcd.setContrast(10); // コントラスト設定 5V用
lcd.print("Starting");
delay(2000);
}

///////ループ///////
void loop(){
lcd.clear();lcd.print(myrpm);lcd.print("rpm");
lcd.setCursor(0, 1);lcd.print(myHz);lcd.print("Hz");
delay(100)
}


今回使った2つのライブラリー。Wire.hはビルトインされたもので、ST7032.hはここからいただきました。

通信の手順は簡単です。今回使った小型ボードは3.3V用ですが、5Vで動かしているため、setup()でコントラスト値を低くしないと真っ黒になってしまいます。3.3VのI2C変換基板を使えば良いのでしょうが、5Vで動いているので、、、。

I2Cは、比較的遅い通信なので、loop()でわざとdelayを入れています。これで、Arduinoが持っている変数を表示する準備が整いました。



関連記事

Intelligent VT計画(接続回路図とArduinoコード)

とりあえず貼付けるだけ。解説は後日加筆します。

Arduino2.jpg



#include <Wire.h> // I2Cライブラリ
#include <ST7032.h> // 小型LCDドライブチップ用ライブラリ
#include <MsTimer2.h> // 時間計測用
int flagHi1;
int flagHi2;
ST7032 lcd;
int counter1,counter2, myHz, myrps;

//セットアップ
void setup(){
//初期化
flagHi1 = 0;
flagHi2 = 0;
counter1 = 0;
counter2 = 0;
myrps = 0;
myHz = 0;

pinMode(5, INPUT);
pinMode(4, INPUT);

//i2c masterセットアップ
lcd.begin(8, 2);
lcd.setContrast(10); // コントラスト設定 5V用
lcd.print("Starting");
delay(2000);

//スレッド設定
MsTimer2::set(1000, calc);
MsTimer2::start();

//Serial設定
Serial.begin(9600);

}
//ループ
void loop(){
int digitalin1 = digitalRead(5);//D5-Hz 車輪回転数
int digitalin2 = digitalRead(4);//D4-rps エンジンパルス
//パルスHIGH
if (digitalin1 == HIGH && flagHi1 == 0){
counter1++;
flagHi1 = 1;
}

if (digitalin2 == HIGH && flagHi2 == 0){
counter2++;
flagHi2 = 1;
}

//パルスLOW
if (digitalin1 == LOW && flagHi1 == 1){
flagHi1 = 0;
}
if (digitalin2 == LOW && flagHi2 == 1){
counter2++; //ボードによって1/2分周されているので下がりでもカウント
flagHi2 = 0;
}
}

void calc(){
int myshift;//シフトポジション用変数

interrupts();//関数内でi2cを使うには割り込み許可が必要

myHz = counter1;
myrps = counter2;
counter1 = 0;
counter2 = 0;
lcd.clear();lcd.print(myrps);lcd.print("rps");
lcd.setCursor(0, 1);lcd.print(myHz);lcd.print("Hz");
if(myrps > 0)
{
myshift = 20 * myHz / myrps - 2; //周波数>シフトポジション計算
}

Serial.write(myshift);//konashiへ
}
関連記事

Intelligent VT計画(ArduinoとKonashiの接続)



さて、手に入れたArduinoを使って、早速Konashiと接続実験です。はじめはi2cを使って接続を試みたのですが、Konashiのi2cは出来が悪くて、つながったりつながらなかったり。一回繋がらなくなると、しばらく繋がらなくてイライラしたり。原因はKonashiのi2cの速度が遅すぎるらしいのでどうしようもありません。

そこで、ArduinoとKonashiの接続はUARTによるシリアル接続に変更。Arduino(Tx) -> Konashi (Rx)の接続は、5V -> 3V変換が必要です。ここを参考にして、ありあわせのダイオードと抵抗で接続したらうまくいきました(参考ページ)。

DSCF3783.jpg

Arduinoには、小型のi2c-LCD基板を使ったモニター用シールドを作ってみました。秋月の8文字x2行の小型LCDです。プルアップ抵抗などのついた変換基板と合わせて600円で買ってきました。本来3.3V仕様ですが、Arduinoのi2cが5V仕様なので、ちょっと無理して5Vで直結しています。そのためプログラムで設定するコントラスト値は10と、かなり低めです。ちなみに表示そのものは、ST7032ライブラリーを使って、非常に簡単にできました。

DSCF3785.jpg

Konashi側は、インプット用シールドを少しいじって、シリアル通信と、車輪回転数取り込み回路を作り、Arduinoに送れる様にしました。5V-3V変換が少々面倒。デジタルタコメーターからの12Vライン、GND、信号線もインプットシールド経由でArduinoへ。実はデジタルタコメーターのO(+)端子には、マニュアルには書いてありませんが、エンジンパルスを1/2分周した5V信号が出ています。ですので、ArduinoでHIGH>LOW/LOW>HIGHの変換をキャッチすることで、エンジンからのパルスを簡単に取り込めるようにできます。信号線を12Vと並走させてノイズがひどかったので、0.1uFのコンデンサを介してノイズをGNDに逃がしたところ、きれいなパルスが取り込めるようになりました。

次回は、ソフトウエアの作り込みをします。

関連記事

Intelligent VT計画(Arduino導入)

アナログメーターパネルと、iPhoneの融合を目指して進めているIntelligent VT (iVT)計画ですが、ここらで少し方向性を整理したいと思います。これまで実装した部分が、東北ツーリングでも安定動作してくれたので、次の段階に進みたいというのもあります。

(1)オリジナルメーターパネルには手を加えない。

(2)iPhoneとVTの接続は無線。

このふたつが、基本項目です。メーターパネルに表示されている情報に加え、iPhoneに表示したいのは

・地図
・時計
・現在の進行方向
・目的地の方向と直線距離

になります。これらはiPhoneに搭載されている通信機能とGPS機能で実現できています。

今後iPhoneに表示したいものに

・エンジン回転数
・各種警告灯類(方向指示器、ニュートラルランプ、オイル警告灯)
・オドメーター
・トリップメーター
・外気温

があります。

エンジン回転数は、ビットトレードのキットを使い、LED表示までできていますので、これをiPhoneにも取り込みたいと考えています。

警告灯類と外気温は、スイッチサイエンスのkonashiで取り込みに成功していますが、まだいろいろと手を加えたい部分があります。

オドメーター、トリップメーターについては、ホイールに接着した磁石とリードスイッチでがんばっています。しかし、iPhoneに直接シグナルを取り込むのは精度も使い勝手も悪い事が分かっています。

これらの問題の解決に、Arduinoを考えています。実は、出張で上京した際に、一通りパーツをそろえてしまいました(テヘ♪)。Arduinoはkonashiに比べて無線機能こそ持っていませんが、安価で結構いろいろできます。konashiはIO部分だけしかいじれませんが、Arduinoは自律動作して、内部で計算や表示なども行えます。

まず、現在のkonashiでは難しい、エンジン回転数とホイール回転数の表示をしてみたいと思います。そのため、一旦konashiははずして、Arduino単独での計測、表示に移ります。




関連記事
ブログ内検索
ガソリン価格

gogo.gs
天気予報
高速道路検索
プロフィール

habingovt

Author:habingovt
バイク(RZ250R&SDR)をおりて二十余年。仕事で体調を崩したときに、ともだちからVT250Fというバイクを譲り受けました。4半世紀を生き抜いてきたバイクにまたがり、ふたたび走り始めたら、なんだかだんだん楽しくなって、バイクも自分も元気になってきました。目標は、また北海道を自由に走り回ること。いつ倒れるかも分かりませんが、生暖かい目で見守ってやってください。



@habingofit

リンク
最新記事
目指せ北海道(ありがとう北海道編) Aug 14, 2017
目指せ北海道(夕張編) Aug 14, 2017
目指せ北海道(オホーツク編) Aug 14, 2017
目指せ北海道(上陸編) Aug 14, 2017
目指せ北海道(準備編) Aug 14, 2017
VT250Fで目指せ北海道ライブ(ファイル保存編) Jul 17, 2017
VT250Fで目指せ北海道ライブ(実践編) Jul 08, 2017
VT250Fで目指せ北海道ライブ(組立編) Jul 07, 2017
VT250Fで目指せ北海道ライブ(準備編) Jun 28, 2017
川浦(かおれ)渓谷 Jun 11, 2017
最新コメント
カテゴリ別
Thanks for Visiting
Youtube Live
準備中
目指せ北海道ブログショップ
RSSリンク