midohajiフォト Twitter

2012-01-11

Android はじめました

00:45

 さて年始早々の電話のトラブルやらあれやらこれやらで、Android始めました。

 auのARROWS Zとやらです。店で決めました。2ch見たらスレが燃え上がっててワロタ。

 (以前のiPhoneは、電話のみ生きてて、持ってはいます。電源ボタンがひどく渋いのと電池の減りがひどい感じです。あと数ヶ月は多分出るのは出れます)

 アドレス帳もひどくタイムスリップしてしまっているので、もし連絡来てないよ!って人がいましたら前の携帯に送ってください。

 で、いきなりAndroidの壁に当たる。

 ……電池持たない。


 ということで、まず遊んだりメモとかまとめるアプリとか入れる前にTaskerを入れました。

 これがすごい。

 簡単に言うと、電話の設定変更や「状態変更」、メッセージやら着信やらの「イベント」等に対して、一連の作業を「タスク」として行うアプリです。

 要は、

 ★画面OFFになった

  →データ通信OFF,自動シンクロOFF

 ★画面ONになった

  →データ通信ON,自動シンクロON

 なんて感じの事ができます。

 これで、色々設定したところ、ちゃんと一日電池が持つようになりました。

 せっかくなので、作ったものを公開します。


画面OFF後2分でデータ通信OFF

 2分のゆえんは画面OFFしていきなりデータ通信がOFFになると、メール送信中でぽちっと画面を消したりしたときに困る。

 ので、コネコネしてあります。

Profile: 省電力スリープ
 [Context]
	Event: Display Off
	State: Not Power [ Source:Any ]
	State: Not Variable Value [ Name:%NOECO Op:Maths: Equals Value:1 ]
  [Enter]
	A1: Perform Task [ Name:savestate Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 
	A2: Perform Task [ Name:offdelay Stop:On Priority:5 %par1: %par2: Return Value Variable: ] 

サブルーチン

BlueTooth,Wifi,WiMAXの状態を保存。

 [Task]savestate
	A1: Variable Set [ Name:%ZBLUE To:%BLUE Do Maths:Off Append:Off ] 
	A2: Variable Set [ Name:%ZWIFI To:%WIFI Do Maths:Off Append:Off ] 
	A3: Variable Set [ Name:%ZWIMAX To:%WIMAX Do Maths:Off Append:Off ] 

2分待って、モバイルデータ通信をOFFにして、さらに全Bluetooth,WiFi,WiMAXをOFF。

 [Task]offdelay
	Abort Existing Task
	A1: Stop [ With Error:Off ] If [ %par1 ~ stop ]
	A2: Wait [ MS:0 Seconds:0 Minutes:2 Hours:0 Days:0 ] 
	A3: Perform Task [ Name:moboff Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 
	A4: Perform Task [ Name:alloff Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 

さらなるサブルーチン

モバイルデータ通信OFF

 [Task]moboff
	A1: Mobile Data [ Set:Off ] 

全部OFF

 [Task]alloff
	A1: Bluetooth [ Set:Off ] 
	A2: WiFi [ Set:Off ] 
	A3: WiMax [ Set:Off ] 

スリープから復帰(Unlock)

 ・復帰時、スリープ時の状態を(できるだけ)再現する。

 ・復帰時、一部データのSyncを行う。

Profile: スリープオフ
 [Context]
	Event: Display Unlocked
	State: Not Power [ Source:Any ]
 [Enter]
	A1: Perform Task [ Name:loadstate Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 
	A2: Perform Task [ Name:execsync Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 

サブルーチン

 [Task]loadstate
	Abort Existing Task
	A1: Perform Task [ Name:offdelay Stop:Off Priority:5 %par1:stop %par2: Return Value Variable: ] 
	A2: WiFi [ Set:Toggle ] If [ %ZWIFI !~ %WIFI ]
	A3: WiMax [ Set:Toggle ] If [ %ZWIMAX !~ off ]
	A4: Bluetooth [ Set:Toggle ] If [ %ZBLUE !~ off ]
 [Task]execsync
	A1: Perform Task [ Name:mobon Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] 
	A2: Wait [ MS:0 Seconds:10 Minutes:0 Hours:0 Days:0 ] 
	A3: Synker [ Configuration:Synchronize 3 providers. Continue Task After Error:On ] 
	A4: Perform Task [ Name:moboff Stop:Off Priority:5 %par1: %par2: Return Value Variable: ] If [ %RUN+%ACC = 0 ]
 [Task]mobon
	Abort Existing Task
	A1: Mobile Data [ Set:On ] 

 これで、画面OFF時に3分まってMobileDataをOFFに。

 アンロック時にMobileDataをONにするような感じです。

 画面OFFして、3分待っている間にアンロックされたときのために、synkoffdelayに再突入時、前回タスクを終わるようにAbort Existing Taskをしておいて、引数がstopの場合はそのまま終了(つまり前回タスクをキャンセルするのみ)するようにしてあります。

 後は、アプリ起動時に通信が無いと困る物に関して、Enter・Exitでmobon,moboffする物とかあります。(その時に%RUNに1入れます)

 最後にちょっと便利なタスクも作ったり。

・不在着信があった時、番号とその場所をGoogleカレンダーに記録する

Profile: 不在着信記録
	Event: Missed Call [ Caller:* ]
 [Enter]
	A1: Get Location [ Source:Net Timeout (Seconds):80 Continue Task Immediately:Off Continue Task After Error:On ] 
	A2: Get Location [ Source:GPS Timeout (Seconds):90 Continue Task Immediately:Off Continue Task After Error:On ] 
	A3: Calendar Insert [ In / For (Minutes): Calendar:Google:プライベート Title:不在着信 %CONUM at %LOC(%LOCN) Description:GPS https://maps.google.co.jp/maps?q=%LOC
Net https://maps.google.co.jp/maps?q=%LOCN Location: Available:Off ] 
	A4: Mobile Data [ Set:On ] 
	A5: Synker [ Configuration:Synchronize 1 providers. ] 

 落としたときにも役立ちそうですが、役立たせたくないですね。

 あと、TaskerからBackupで取り出したまま載せればよかったんですが、あまりに雑念としていたので少しまとめていると、中途半端になってしまいました

2011-12-31

Arduinoを引き続き遊んでたり

23:08

年の瀬の買い物とか終わって、帰ってきてから今日もちょっと遊びました。

昨日はtoneで和音が出ないことにびっくりしましたが、まぁ

マイコンなら当たり前」

というところで、今日適当に作ってみました。

和音出してる部分のスケッチはこちら。

http://codr.cc/s/fd0506ff/cpp

デューティー比は同時発音数で変わります。聞こえる感じに。

周波数から今のマイクロ秒を基準に今発声しているべきかしていないべきか決めて、

全部の音数ぶん足して、前回と違ったら出力してるだけです。

いかにもマイコンらしくないものになりました。

なんで全部10倍なんだろう。とかあんまり気にしないでください。

で、作った後に何作ろうか悩んでて。

どうせなら入力があったら音を出す、とかそんな感じがいいかな、とか。

悩んだ結果、これになっちゃいました。

D

2011-12-30

Arduinoをはじめてみました。

22:46

先日、母親から学研大人の科学」を二冊いただきました。

付録つきの。「電子ブロックmini」と「4Bitマイコン GMC-4」です。

かなり没頭してしまいました。特にマイコンのほうに。

ハンドアセンブルとか何年ぶりにやったんだろう、と思いながら、結局アセンブラエミュレータを書きました。

もうちょっと綺麗にしたら公開します。


と、同時期に自分用人生初のマイコンArduino買いました。3200円です。

正直言って、かなり期待してたんですが、予想以上でした。


とりあえず、マイコンといえばLEDだよな。と思って、定番ナイトライダーを作成。

最初はdigitalWriteとやらで順番に光らせてたんですが、これじゃTTLでも出来るよな、と思って。

ちょっと頑張ってみよう……

と思ってたら、ほとんど頑張らずにPWMで調光できました。ただ単純にanalogWriteするだけ。

これに完全にテンション上がっちゃって、スケッチを公開しつつ動画撮っちゃいました。

D

スケッチはこちら。http://codr.cc/s/3270ec7d/cpp

スケッチを見ての通り、三角関数なんかも使ってます。

sinテーブルを自分で用意して、端数は線形補間……なんてことはしなくても大丈夫です。

っていうか、各LEDの状態を式で書けるとか凄い。

PICは全部アセンブラだったんで、こう書けるとやっぱり便利ですね。


今後、多分何か作るとすると、ATmega328で作ると思います。楽なんで。


で、先に経験しとこう、と思ってひとつ余分にATmega328と、最低限必要な部品を買っておきました。

ブートローダー書き込み済みなんてのが売ってるんですね。ちなみに全部で1000円ちょいです。


「だがしかし、この家には5Vの電源なんていうものは無い」


って事で、それもついでに作ることに。

とりあえず電源の回路図と材料。これぐらいは普段適当にやっちゃいますが、Twitterにつぶやくときに書きました。

基本的に材料あわせです。コンデンサなんか露骨に使い古しです。

f:id:midohaji:20111230215809j:image:w400

・100μF 電解コンデンサ2個

・0.1μF 積層コンデンサ2個

・LM7805 一個。

シリコンハウス共立で買った謎の電源アダプタ(8V 500mA)

ざくざくっと、でも電源なんである程度丁寧に作って。

f:id:midohaji:20111230215810j:image:w400

負荷かけて電圧測定。

f:id:midohaji:20111230222337j:image:w400

いい感じです。

完成後、ATmega328を単体で使うために……と、外してブレッドボードに組んでみました。

抜くときピンを曲げそうになってあぶなかったのと、交換用のATmegaを押し込みすぎて危なかったのは秘密です。

回路図はそこかしこに載ってるので省略。

(Vcc,GND,AVcc,もういっこのGNDを結線,X1とX2間に1MΩ、クリスタル、両端から22pFでグランドへ繋いだぐらいです)

部品的には

単線のワイヤを数本と、ジャンパワイヤ

・16MHzのクリスタル

・抵抗 1MΩ

コンデンサ 22pFを2個、0.1μF一個(パスコンです)

どうせ怪現象で動かないとか、壊しちゃうとかするんだろうなぁと思ってたんですが、これがあっさり動いちゃいました。

D

ここまでやって、あまりにとっ散らかってたので一旦撤収。

片付けた後、寝る前に最後のだけ作って、初日は終了としました。

電子ブロックと繋いで、おっさんホイホイです。

イントロは最初作るつもり無くて、付点音符の処理を完全に考えてなかったので無理してます。

D

これも稚拙ながらスケッチを上げておきます。http://codr.cc/s/48c20c63/cpp


動画は全部iPhoneです。これも初めてyoutubeにアップしたりしましたが、滅茶苦茶楽でした。

改めて、凄い時代。

その後GMC-4を触ると、また不思議な気持ちになります。

2011-08-28

RV125Efi オイル交換

23:09

 今日は以前からずっと言っていた、オイル交換をやっとこさ行いました。

 用意した物は以下。

 オイル

  スクーター用1Lという安い物がホームセンターにありました。これで。

 工具

  15mmのレンチです。

 オイル受け

  オイルの容量が800mlなので、手近なもので代用。

  インスタント焼きそばのカップに、ビニール袋敷いて、ティッシュを一巻きほどほどいて入れます。

f:id:midohaji:20110828230601j:image:w400

 で、とりあえず古いオイルを抜きます。

 ドレンボルトはエンジン左側、このボルトです。

f:id:midohaji:20110828230559j:image:w400

 下にオイル受けを(飛び出てくる事を予期した位置に)置いて、ドレンボルトを外します。

f:id:midohaji:20110828230557j:image:w400

 出てきたオイルは真っ黒でしたw

 ここでヤバい、と思う事態が。

 800ml最初に焼きそばのカップに入れてみたらよかったのに……

 なみなみ入ってしまいました

f:id:midohaji:20110828230556j:image:w400

 で、ドレンボルトをもう一度締めてから、反対側の口からオイルを入れます。

 少なめに入れて、キャップに付いてるオイルレベルゲージで確認。

 先っぽから段差の間に来たら、そこでokです。

 オイルレベルゲージは、油量の確認時はねじ込まないように。

f:id:midohaji:20110828230554j:image:w400

f:id:midohaji:20110828230552j:image:w400

 所要時間、あたふたして約30分。

 慣れると15分ぐらいで出来そうな感じです。

 肝心の調子はあまり体感は感じませんが、まぁ気持ちはいいですよね。

 ただ、少し吹けないような、という感じです。何故……

 

2011-08-14

RV125 クラッチ・ブレーキ

22:58

 先日、RV125で笠置まで行こうと走っていたのですが、突然、車のクリープ現象のような感じでクラッチが切れずジワジワ進むようになりました。

 これはまずい、とバイク屋に見てもらったところ、「クラッチのスプリング割れてるんじゃ?」との一言。


 テール下と車体左後半分のカウルを外して、ボルトを外し、クラッチ露出。

 インパクトレンチでバインと外したところ。


「あー、これなんでこんなになっちゃうまで……」


 そもそもクラッチのシュー部分が全く残っておらず、金属で噛んでる状態。さらに案の定スプリング割れ。

「とりあえずスプリングはこれ(廃材のスプリング)はめとくから、とりあえず自走で帰って、どっかでクラッチシュー手に入れておいで。残ってれば中古でも良いぐらい。うちは取り寄せ出来ないから」


 との事で帰宅。

 さらに帰宅中、ブレーキまで鳴き出す始末。


 インターネットで色々探してみたのですが、ブレーキパッドはすぐに見つかったものの、クラッチが全然見つからない。

 最終手段、ヤフーオークション落札しました(新品)。

 ブレーキパッド

  KN企画様、FA-305SX(リア)BP-192SX(フロント)、各\1900

 クラッチシュー

  K&S SYM RV150(型番不明)\4800

  ↑商品説明に、RV180,150,125共通とあったので。

 以上を注文し、本日到着。勇んでまたバイク屋に行きました。

「お昼休み見てあげるから、とりあえず先にバラしといてw」

 とドライバーをレンチを渡されたので、言われるがままに分解。


 とりあえずブレーキパッド。

 フロントブレーキのキャリパーは簡単に外れたものの、リアのキャリパーが、社外マフラーの裏にあるので、開けにくい。

「ラチェットレンチとか使わないほうがいいですよねぇ」

「どれ……別にここはいいよ」

 との一声で分解。

 ブレーキパッドはまぁ、無難に交換できました。

 若干、リアが、残ってるのに鳴いて効かず、と怪現象も起こっていたものの、少し硬くなってるだけだとのこと。すぐに直りました。

 それより、フロントがあとほんの少ししか無かったのに驚き。


 次はクラッチシューです。

 とりあえず開ける。

f:id:midohaji:20110814225656j:image:w400

 新しいのは、Assyなので、外して付けるだけでいい。

f:id:midohaji:20110814225655j:image:w400

 で、はめる。

f:id:midohaji:20110814225654j:image:w400

 これでOk!

と思ったのですが……

「ありゃ……アウター入らないw」

「マジすか!!」


 微妙に大きいよう……。


「うーん、まぁ大丈夫」

 アウターを持って奥に入る店員さん。


『チュイイイ』←多分グラインダーの音

「口のところの盛り上がりに引っかかってたから」


 綺麗に削いで来てくれました。有難い。

 という事で、再度挑戦。


 で、入った上、ちゃんとタイヤが回るようにはなったのですが。

 真ん中のボルトを止めると駄目w少し回る。


「あー、太いんじゃなくて、分厚いんだね、少し。

 そのうち削れるだろうから、まぁしばらく様子見よう」

 ってことで、完了。

 磨り減った部品たちよ、今までありがとう。

f:id:midohaji:20110814225653j:image:w400

 皆様ご注意ください。

「使える」=「ポン付け可能」では無いようです。

 あと1000円出せば純正部品買えたのになぁ。


 そのまま、神戸まで慣らし運転。

 本当にすぐに、アイドリングクラッチは切れるようになったものの、少しスロットルを開けるとすぐに繋がるように。超低速回転で発進、止まるときも最後の最後までエンブレがかかるように。

 インジェクションだからか、レスポンスが凄く良くて、スロットル開けると繋がる、ちょっと戻すとつんのめる感じで、しばらくは気を使って運転しないとベルトに悪そうです。ガツンと開ければ後は無段階変速、という雑な感じじゃないような。


 が、なんと燃費が今のところ40Km/L以上っぽいです。二人乗りで。

 丁寧な運転での燃費向上以上に、多分今までクラッチがかなり滑ってたんじゃないかなぁ、と。

 走ってる感じも全然違うし。です。

 次の給油が楽しみ。

 逆に純正じゃなくて、こういう特性だと思って乗るとこれはこれで面白くなってきました。


 神戸ハーバーランドにて。

f:id:midohaji:20110814231413j:image:w400