2017年07月19日

フリーテルの雅に DOOGEE X5 のバッテリーは使えるのか。

FreetelのMIYABIというスマートフォンに DOOGEE X5/X5S/X5Pro の
バッテリーは交換できるのか試してみました。

大きさは、Doogee X5 のバッテリーが
W=60.2, H=69.3, D=4.0(端子部4.6mm)で、
BP-MIYABI は
W=60.0, H=75.0, D=3.8 でした。

bp1.jpg

実際に装着すると、端子の位置と配列は同じでしたが、長さが短いため約5mmの隙間が空きます。
手元に転がっていたバルサ材を5mm×4mmに加工して隙間を埋めました。
また、端子部の厚みの都合で、裏カバーを閉じても僅かに浮き上がります。

bp2.jpg

充電もOKで問題なく使えているようでした。
情報をくださった方に感謝します。
posted by MON at 00:20| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2017年04月30日

3M baud対応のUARTモジュールを使ってWS2812BをVB.netから制御する



16x16(256個)のWS2812Bのモジュールを中国から輸入して、VB.netから制御しました。
インターフェースは、様々なサイトの情報を吟味した結果、、
3Mbaud対応のUARTモジュールから 7-n-1 で制御できそうだと考え実験した結果ばっちりでした。

WS2812B_bit.PNG

マーク/スペース反転&レベル合わせのためにダイオードで0.6V電源電圧を落としたTC7S04Fを一個挿入しています。
コード及び詳しい説明はgithubに上げました。
https://github.com/7m4mon/ws2812b.vb

実際のアプリは↓のような感じです。
WS2812B_IFO_screenshot.png

書き込むフォントを選べたりスクロールしたりSocketServerを持っていてネット経由で操作できたりします。

posted by MON at 16:44| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月30日

ダイソーの木製パズルにマグネットテープを貼る

daiso-pazzle-1.jpg

誤って逆さまにすると全ピース落下する(2回やった)ので
別の100均で買った薄手のテープ付きマグネットを貼り付けました。
磁力も丁度良く、0,8mm出っ張ることで指の掛かりも良くなったようです。

おまけ
市販の木製パズルはつまみが付いているものがあり、真似て付けてみました。
3mmの穴を空けてザクリ加工して、M3の皿ネジを差し込みます。
で、直下に6mmの穴を空けてダイソーのネオジム磁石を埋め込みます。

daiso-pazzle-2.jpg daiso-pazzle-3.jpg

意外と吸着力が強く、幼児がつまんで外すのは難しかったようです。
posted by MON at 12:57| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月29日

ダイソーのワイヤーネットでストーブガードを作る

そろそろストーブガードが必要かなぁと市販品をみると、結構良いお値段するみたいでした。
ちょっと検索するとみんなワイヤーネットでDIYしているようなので我が家もこれで行こうと。

stove_guard.JPG

ダイソーでワイヤーネットを4枚買ってきて、ストーブの周りを囲います。
それだけでは前後方向に動いてしまうので、その辺に転がっていた棒を切って3mmの穴を空けて結束バンドで固定。

stove_guard2.JPG

まぁ良い感じなのではないでしょうか。
posted by MON at 14:37| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月10日

VB.netやC#で同じ色かどうか調べる

VB.netやC#で同じ色かどうか調べる場合、Color構造体のARGBが一致していても
Array.IndexOf(colorArray, pixelColor) が -1 を返すことがあります。
これは、Colorを名前で定義している場合に発生するようで、
名前で作ったColorとFromArgbで作ったColorは別物らしいです。

つまり、
Dim BlackColorFromName As Color = Color.Black

Dim BlackColorFromArgb As Color = Color.FromArgb(255, 0, 0, 0)

Debug.Print(If(BlackColorFromName = BlackColorFromArgb, "一致", "不一致"))
とすると、不一致になります。

よって、下記のような関数を作って回避することにしました。


なんだかなぁ。
posted by MON at 00:00| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月03日

GetPrivateProfileInt で読んだ負の値を浮動小数点型にキャストする

GetPrivateProfileInt という.iniファイルから設定を読み取る関数があるのですが、
負の値をdouble型やfloat型にキャストすると、 -2147483648 となってしまいます。
回避するには
value = (double)(int)GetPrivateProfileInt("settings", "value", 0, ini_filename);
といった感じで、一度intにキャストすると上手くいきました。
本来、GetPrivateProfileIntの戻り値はUINTなので、負の値はとれないはずですが…

保存の方は
sprintf(ini_write_buff, TEXT("%d"), (int)(value));
WritePrivateProfileString("settings", "value", ini_write_buff, ini_filename);
といった感じなので負の値でも問題ありません。
posted by MON at 12:08| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月24日

電動ターテーブルの駆動をタミヤのユニバーサルギアボックスにしてみた

turntable_fa130-1.JPG

turntable_fa130-2.JPG

以前自作した電動ターンテーブルの駆動をタミヤのユニバーサルギアボックスにしてみました。
ユニバーサルギアボックスの出力を垂直方向にして、ギア比を最大とし、2.4VでFA-130モーターを駆動します。
ウォームギアで大きな減速比が稼げるはずなので、いけるかなぁと。
MDFパネルに下穴を空けてギアボックスを木ねじで固定。
足は24mmの角棒を24mmで切ってボンドで固定しました。
丁度良い長さのM3ネジを調達してイモネジでシャフトに固定しました。

結果は、、、非常にうるさいわ非力だわで失敗に終わりましたとさ。
posted by MON at 23:45| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月19日

USB切替機を自作してみた。

移行時など諸事情でPCを2台交互に使っていると、自分の意図していない方を
操作してしまうことが多々あります。
誤って意図しない方のPCでDeleteボタンを連打しちゃったりすると
どこから消したのか分からず、被害は甚大です。
そこで、2回路2接点のトグルスイッチを使ってUSB切替機を作ってみました。

usb_selector.jpg

D+とD-をトグルスイッチで切り替え、GNDは共通です。
5Vは先に立ち上げる側のPCから供給し、もう一方はNCとしておきます。
Q965+WindowsVistaだと認識に7秒くらい、H110+Windows10だと認識は1秒程度です。
キーボードとマウスの切り替えなので、ロースピードモード(1.5Mbps)は大丈夫ですが
それ以上のスピードだと、難しいかもしれません。
posted by MON at 14:28| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年10月04日

ELECOMの人差し指トラックボール DEFT M-DT1DRBK レビュー

deft1.jpg

机のスペースの都合もあり、デスクトップでは人差し指トラックボールを使っています。
知らぬ間にELECOMから新商品が出ていて、なかなか評判も良さそうだったの購入しました。

簡単に感想を箇条書きすると…
・無線の届く距離がTM-400より大幅に伸びたので、離れたところから操作出来るようになった。
・Trackball Explorerと同じく親指酷使系なので、スクロールはIntellimouse Trackballのような薬指か、TM-400のような人差し指が良かった。
・チルトホイールが硬い。
・Bluetooth対応なら良かった。
・多ボタンは普通に便利。
・ボールが小さいように思えるが、使ってみると意外とイケる。
 (比較するとこんな感じ)
deft2.jpg

総じて操作感はTBEと似ています。
ニッチな市場なので、出来ればよく売れて、永く販売して欲しいと思います。

追記:4ヶ月ほど使用したところ、ホイール操作が誤作動するようになってしまいました。
   修理センターに送付して1週間ほどで新品交換となりました。
   そもそも保証期間が購入後6ヶ月というのは短いと思います。
   今回のホイール部の故障は個別不良ではなく本製品の弱点と思われるので、
   少しでも永く使えるよう、チルトやセンターボタン押下の操作は控えたいと思います。
posted by MON at 23:59| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年09月21日

FKB8744とTM-400の改造

fkb8744-1.JPG

思うところあって FKB8744 という、ちょっと古いキーボードを再入手しました。

このキーボードは NumLock/CapsLock/ScrollLock の状態表示LEDが付いていないのですが
基板にパターンは準備されているので、LEDをハンダ付けするだけでOKです。

分解して、右上の基板にLEDを付けて

fkb8744-2.JPG

適当に穴を空けて

fkb8744-3.JPG

完成です。(10年ぶり2度目)
PS/2キーボードですが、USB変換ケーブルを挟めば、まだ現役で使えます。

トラックボールもTM-400(CT-100/T-RB22)という、ちょっと古いものを使っているのですが
ホイールボタンの効きががイマイチになっていました。
数回、組み直したのですが改善しなかったので、マイクロスイッチの上の部分に
小さい丸シールを数枚重ねたものを貼り付けました。

TM-400-1.JPG

絶好調です。
ただ、USB-PS/2変換ケーブルを通すとユーティリティソフト(SetPoint)が使えないので
こちらはUSBポートにレシーバーを接続する必要があります。
posted by MON at 22:19| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年07月26日

Patriotの 960GB SSD

Windows10のクリーンインストール用に あきばお〜 の謎 SSD 960GB(19,999円+税)を買ってみました。

差し出されたのは、Patriot Memory Blast PBT960GS25SSDR で、メーカー保証3年でした。
コントローラは Phison S10で、DRAMキャッシュは1024MB搭載です。
https://patriotmemory.com/product/blast-solid-state-drives/
ファームウェアは現時点で最新の12.2でした。

せっかくなのでベンチマークを取ってみました。

pat960g-1.png

十分に速いので満足^^
1TBのHDDを約2万円で買ったのが2008年の春でした。
それから8年間、個人で扱うデータ量はそれほど増えてないのかなぁと思います。

参考
http://ascii.jp/elem/000/001/153/1153143/
http://akiba-pc.watch.impress.co.jp/hotline/20080301/etc_hdd.html
posted by MON at 23:16| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年06月28日

電動ターンテーブルの製作

ダイソーのターンテーブルを使って電動ターンテーブルを自作してみました。

daiso_turn1.jpg

使ったのはキッチンコーナーにあったCOLOR KITCHEN ターンテーブル (KI-15-6/A016 59/4933712133338)です。
一度分解して足を取り、ピンバイスで台座部分に穴を開け、MDFパネルに取り付けました。

daiso_turn2.JPG

モーターは12Vの小型ユニポーラステッピングモーターです。ステッピングモーターなので任意のステップで任意の角度、回転数を指定できます。最速で1回転あたり40秒程度になりました。
ステッピングモーターの制御プログラムはCCSのサンプルプログラムEX_STEP.CをベースにPIC16FF88向けに改造したものです。



駆動部はレインボープロダクツの平ギヤ(1.0モジュール/20歯/軸径5mm)を使用しています。
ターンテーブルのフチに戸当たりの防音スポンジテープを貼り付け、ギアが滑らないように絶妙に食い込ませています。

使用した感じでは、500ml缶は回りますが、900mlのペットボトルは脱調してしまうので
使用可能重量はは500〜800g程度でしょう。

ベルトドライブにしたいところですが、良いガイドが見つからなかったですし、
(八幡ねじの溝ゴム No.108 がよさげだけど、量り売りしてないみたい…)
ダイソーのターンテーブルは結構ガタガタしてるので、あまりお金をかけるのはなぁ…
posted by MON at 18:22| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年05月15日

Core2Duo E8400(Wolfdale-6M/45nm)の開腹

JUNKのCore2Duo E8400(Wolfdale-6M/45nm)を手に入れたので割ってみました。

e8400-up2.jpg

接着剤をカッターで剥がして、マイナスドライバーでゴリゴリと…

e8400o0.JPG

パキッ!
おおっ!?ええっ!?

e8400o1.JPG

コアがヒートスプレッダ側に!ソルダリングだったか(^^;

e8400-up0.JPG

キャッシュがダイの半分ほどを占めていて、コアが2つあるのが分かります。
後藤氏のコラムのダイ写真と同じマップが見れて満足です。
http://pc.watch.impress.co.jp/docs/2007/0206/kaigai_2.jpg
http://pc.watch.impress.co.jp/docs/2007/0206/kaigai334.htm

486なんかは整然とボンディングワイヤが付いていて観察しがいがあったものですが、
最近のは拡大してもよく分かりません…
posted by MON at 00:12| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年04月25日

中華製 安デジタルノギスのDRO化

dro1.JPG

中華製 安デジタルノギスをDRO化したので、メモ程度に記事を作成しました。
http://nomulabo.com/caliper/

---
週末にaitendoのリアル店舗に行ったのですが、
場所がなんと、昔々faithの事務所が入っていたビルでした。
まさかもう一度あのビルに足を踏み入れるとは……不思議……
posted by MON at 22:23| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年04月02日

ダイエー 東大島 店 の 授乳室 情報

2階の「赤ちゃんルーム」に授乳・おむつ替えスペースがあります。

daiei1.jpg

カーテンの奥にオムツ替え台とソファがあります。

daiei2.jpg

オムツを捨てるビニール袋とゴミ箱、おむつの自動販売機はありましたが、お湯はありませんでした。

(この記事の写真はパブリックドメインとします。)
posted by MON at 17:14| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年03月20日

Felicaの非保護領域に任意のデータを書き込んでみる(VB.net)

おサイフケータイには、自由に読み書きできるFelicaのエリアが、16バイト×24ブロック(384バイト)あります。
felicalib.dllには書き込む手段も提供されているようなので試してみました。
ちなみに、modFelicaLib.vb のコメントを手直しするとこんな感じです。

'【関 数 名】felica_write_without_encryption
'【第1引数】[in] f felicaハンドル (felica構造体のポインタを指定する)
'【第2引数】[in] servicecode サービスコード
'【第3引数】[in] addr ブロック番号
'【第4引数】[in] *buf データ(16バイト)のポインタ
'【戻 り 値】エラーコード



ちょっとアプリをこしらえて、、、サービスコード70C9に試してみると、、、

felica_np_rw_sc.png


無事に書き込めました。

write_result.png


・・・384バイトかぁ・・・アイコン入れるとか・・・
posted by MON at 00:12| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年03月17日

Felicaで既知のサービスコードとブロック番号に書かれている文字列を読み取る(VB.net)



Felicaでちょっと遊んでいるのですが、とあるカードには、とあるサービスコードのとあるブロック番号に
とある文字列が書き込まれていて、それを読みだすといろいろ便利なことが出来そうです。
ということで、ここのページで公開されている「CFelicaLib.vb」に機能を追加しました。

    '=============================================
    '【関 数 名】read_string
    '【第1引数】[in]  Integer  サービスコード
    '【第2引数】[in]  Byte  ブロック番号
    '【戻 り 値】[out] String   文字列
    '---------------------------------------------
    ' 既知のサービスコードとブロック番号から文字列を読み取る
    '=============================================
    Public Function read_string(ByVal serviceCode As Integer, ByVal address As Byte) As String
        Try
            '------------
            ' エラー処理
            '------------
            If f_ptr = IntPtr.Zero Then
                Return ""
            End If

            '----------
            ' 変数定義
            '----------
            Dim rStr As String
            Dim buf(15) As UInt8

            '-------------------------
            ' 変数bufのアドレスを取得
            '-------------------------
            Dim gch As GCHandle = GCHandle.Alloc(buf, GCHandleType.Pinned)
            Dim b As IntPtr = gch.AddrOfPinnedObject().ToInt32

            '-------------
            ' 指定したサービス、アドレスから読み取り
            '-------------
            felica_read_without_encryption02(f_ptr, serviceCode, 0, address, b)
            rStr = System.Text.Encoding.ASCII.GetString(buf) 'HexToAsc(buf)

            '--------------
            ' メモリの解放
            '--------------
            gch.Free()

            '------------
            ' 結果を返す
            '------------
            Return rStr
        Catch ex As Exception
            MessageBox.Show(ex.Message, "read_str()")
            Return ""
        End Try
    End Function
 

作者の白執事様に感謝します。
posted by MON at 21:26| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
【今是昨非】http://nomulabo.com/