電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

3Dプリンタ買いました3 Easythreed K2

da Vinci nano wを買ったことを話しましたが、とにかく出力に時間がかかり1日1,2個しか作ることができないのと、シルクPLA等の純正ではないフィラメントを試したくサブ機としてEasythreed K2を買いました。

最大造形サイズは100x100x100mmです。
Amazonや日本のショップでは取り扱いが無く、Aliexpressで購入したのですが、送料込で11,000円台でした。

初めは各所で話題になっているEasyThreed X1で良いかと思いましたが、コントローラが本体と別れているのが邪魔になりそうで、一緒になったのがあれば良いと思ってたらちょうど良いEasythreed K2を見つけました。

ちなみにEasyThreed X1は冷却ファンを追加すると造形が結構変わるようです。
Easythreed K2は同じエクストルーダーを使用してますが、初めから搭載済みでした。これを知らずに本体とは別の店で冷却ファンを注文してしまい、皮肉にも本体と同じ日に届きました。

また、同じ形でコントローラ部分がOLEDではなく、ボタンの物はAmazonにありました

オープンデザインのRepRapをベースとしているので、スライサーは付属のもの以外でも色々なものを使用することができます。
低価格ながらもCPUにARMを搭載したメインボードを使用しています。ファームウェアはオープンソースのMarlinを使用しているようです。

da Vinci nano wと質力結果を比較してみます。
スライサーはda Vinci nano wが純正ソフト、Easythreed K2はCuraを使用しました。

レイヤーピッチ0.2mmの通常品質の設定で高さ5cmのモデルを出力しました。

左がda Vinci nano wで、右がEasythreed K2です。
Easythreed K2は側面の平面では積層が目立ちますが、上部の平面は比較的滑らかできれいです。
価格差もあるのでさすがに品質は違いがありそうです。
しかし、モデルによってはそんなに差は無く、スライサーの設定で化けそうです。

黒:da Vinci nano w, ピンク:Easythreed K2

レイヤーピッチを0.1mmにしたり、その他パラメータをいじると、結構精密に出力されました。

低価格と言っても出力されたものサイズは結構正確で、例えばラズパイのケースを作ったとしても期待した通りのサイズになります。
品質にこだわりたいなら高い方が良いですが、ちょっと試したい場合やとりあえず1台持っておきたいと思ってる場合は、最適な機種だと思います。
もちろん3Dプリンタに慣れたら、もっと良い機種が欲しくなるとは思いますが。

実はda Vinci nano wが故障し、サポートに連絡したら保証の範囲か届いてみないとわからない。保障の範囲でない場合は修理を断ったとしても往復送料と診断料で2万円は支払わないといけない、修理する場合は更に1万円以上かかりそうで、購入時の価格を上回ってしまうとのことでした。
保証の範囲内かどう判定されるかわからないので送るのは結構ギャンブルだと思いました。
このサポートの悪さとランニングコストの高さから修理せずに処分し、別にメインとする他の機種を買うことにしました。
既に注文済みなので、今後届いたらレポートする予定です。
結局光造形のELEGOO Mars 2は結構手間がかかるのですでに使用頻度は少なくなっておりメイン機にはなりませんでした。

3Dプリンタ買いました2 ELEGOO Mars 2

前回3Dプリンタを買ったことを話しましたが、光造形の3Dプリンタも買ってしまいました。
今回はELEGOO Mars 2です。

色々と物色してたところ、つい前から気になっていた光造形のELEGOO Mars 2を買ってしまいました。Amazonで約27,000円でした。
Proと比較すると脱臭機能が無いのですが、初めから無臭に近い水洗いできるレジンしか使うつもりが無かったので、あまり気になりませんでした。

ELEGOO Mars 2の一番の特徴はスクリーンにモノクロLCDを採用したことで、レジンを固めるための露光時間が2秒で済みます。(前のモデルは6秒)
光造形方式は線ではなく面で出力するため、積層方式と違い移動時間ではなく高さで時間が決まります。
da Vinci nano wで12時間ほどかかった高さ5cmほどの造形物も3時間しないうちに終わりました。

ここで参考として出力したものの比較をしました。
高さ3cmほどのモデルです。

左がda Vinci nano wで、右がELEGOO Mars 2です。
このサイズの場合は両方とも出力時間は1.5時間ほどでした。
da Vinci nano wは積層跡やバリが目立ちますが、ELEGOO Mars 2は全く分かりません。
特に注目してもらいところは、出力の精度です。

横幅が3mmしかないドアの部分に注目してもらいたいのですが、ELEGOO Mars 2は窓枠どころかドアノブまで判別できます。

ここまでは絶賛していましたが、やはり欠点があります。
光造形方式は液体を扱う以上、出力後の洗浄や本体の後片付けの際に色々手間がかかります。気軽に持ち出して使用するようにはいきません。
また造形物の強度も弱いです。薄い部分に穴が開いたり、細い場所がすぐに折れたりします。

あと、レジンは絶対に水洗いできるものが良いです。
やってみると洗浄も結構大変なので、水道水で洗える方が絶対に良いと思います。

光造形は光造形なりの苦労もあったので、そのうちメモ代わりに書きたいと思います。

3Dプリンタ買いました da Vinci nano w

そろそろ3Dプリンタが十分に安くなったので、買ってしまいました。
XYZprintingのda Vinci nano w (ダヴィンチ ナノ W)です。

はじめは1万円程の格安機種を考えていたのですが、3Dプリンタは初めてなので確実な方が良いと思い国内でもある程度シェアが大きくネットでもネタが多いXYZprintingの物にしました。
機種は置き場所も考えda Vinci nano wにしました。

試しに出力した結果です。

速く出力させるために高さ元々11cmほどのデータを3cmに縮小しています。
設定は詳細にして解像度も0.1mmで出力して2時間ほどかかりました。
写真で見ると拡大されるので結構粗が目立ちますが、普通に見た感じでは思ったより良く出力されています。

ネットで形状データが結構あるので、Raspberry PI nanoのケースを作ってみました。

またどこかで見たことあるマップを出力してみました。

実験も兼ねて色々出力しながら試してます。出力に時間がかかるため出力したいものが順番待ちしている状態で、購入して2週間ほど経ちますがフル稼働してます。
この機種はフィラメントのリールにNFCチップがあり素材や残りの量を管理しているため、純正品以外のフィラメントは使用できません。600g(200m)で4,000円程します。上の家のデータで1.2m、Raspberry PI nanoのケースで4.5mほどで出力時間を考えてもそう簡単になくなるものではありませんが。

同じ機種を考えてる方はWifiで通信できるWの方を強くお勧めします。
Wifiの設定を済ませたら、出力するデータを無線で送ったり、印刷の状態も確認できるので非常に便利です。

大きいものを出力している間にも他の物を出力したり、純正には無い金属みたいな光沢のシルクフィラメントや中華製の安いフィラメントも試してみたいので、1万円程の格安プリンタをもう1台買おうと計画しています。

KZ ZSN pro X 私的レビュー

Aliexperssでセールの時にKz金銀混合メッキアップグレードケーブルと一緒にKZ ZSN pro Xも買いました。
久々の低価格イヤホンです。

まず音を聞いた時にKZ ZSTと似てると思いました。既にKZ ZSTは手放して明確な比較はできませんが、全く同じ印象を受けて懐かしい感じがしました。

ドライバは1BA+1DDで、やや低音よりのドンシャリ型と言ったところでしょうか。
低音よりと言っても、KZ AS12と同じく、最近のKZとしては控えめでそんなに強くはありません。

以前の低価格のKZでは低音が固く感じ、バスドラムが「ドドドド」と聴こえてたのが、「ドンドンドンドン」と聴こえるようになって解像度が上がった感じです。

KZ AS12と比較するとさすがに音が軽く感じますが、価格帯を考えると結構進化してると思います。(特に低音域)

他のイヤホンがあるので音楽を聴くときのメインにはなりませんが、この低価格帯のイヤホンを探す場合はお勧めできるものだと思います。

KZ AS12 + Kz金銀混合メッキアップグレードケーブルでゴージャスに

KZ AS12 私的レビューでお話したKZ AS12ですが、これにAliexperssでセールの時に800円くらいで買ったKz金銀混合メッキアップグレードケーブルに変えてみました。

元々KZ AS12はゴールドの見た目に惹かれて購入したことを話しましたが、これにKz金銀混合メッキアップグレードケーブルをつけると、無駄にゴージャスになりました。

今までは2000円くらいのシルバーケーブルを使用していたのですが、音質の変化や違いは正直わかりません。
初めから付属しているケーブルと比較すると、音がクリアになって解像度が上がったように感じます。

KZは商売のためかわからないですが、全体的に付属のケーブルはあまり良いものではないので、リケーブルすることをお勧めします。

MSXで遊ぶ!MegaFlashROM SCC + SD

以前も一度書いた内容ですが、RAMありバージョンに買い替えたので、構成を修正して再掲載します。

MegaFlashROM SCC+ SD 1slot + 512K RAMを買ってみました。

販売ショップ:MSX Cartridge Shop

ものすごく便利だと思ったのは、RAMが128KB以上あるとファイルメンテナンスツールのMultiMenteが起動し、ROMやDSKイメージファイルを選択するだけで自動的にフラッシュにROMイメージを書き込んだり、DSKイメージを仮想ディスクに設定したりできます。
128KB以下の機種ではDOSコマンドライン上でコマンドを使って使用します。

FS-A1STとHB-F1XVでは電源投入時の起動では追加RAMが認識されず、リセットすると認識されました。

はじめ戸惑うポイントの操作メモを書いておきます。

ROMイメージ

一度FlashにROMイメージを書き込むと毎回Flashの内容が起動されるので、元に戻すときはFlashを削除する

手順

カーソルキー (↑)を押しながら起動
リカバリーモードの画面になるので、F1キーで"F1 : Erase MegaFlashROM"を選択するとFlashが削除される

DSKイメージ

一度仮想ディスクに設定すると毎回仮想ディスクの内容が起動されるので、元に戻すときは仮想ディスクの設定ファイルを削除する

手順

0を押しながら起動
フロッピーディスクエミュレーションを無効にしてNEXTORが起動されるので、NEXT_DSK.DATファイルを削除する

ディスクイメージ変更

ディスクイメージファイルの拡張⼦に.FDx (x=1~9)を使⽤ると、複数の仮想ディスクを設定でき、ディスクアクセス時に数字キーを押すことにより切り替えができる。
切り替えのタイミングはディスクアクセスが始まる瞬間なので、"ディスク2をセットしてリターンキーを押してください"のようなシチュエーションの場合は、2を押しながらエンターを押す。


GBDK(ゲームボーイの開発環境)メモ - キー入力

久しぶりの開発メモです。
ゲームボーイの開発環境のGBDKについて、キー入力のメモです。

開発環境について

過去のエントリーを参照してください
blog-e.uosoft.net

取得方法

キー入力はGBDKのファンクションの joypad() で取得できます。
gb.h をインクルードしてください。

joypad() のキーは8ビットの値で、押されているキーのビットが1で返されます。
ビットのマスクは gb/gb.h (includeフォルダ直下のgb.hを読めばこちらのファイルも読まれる)で定義してあります。
joypad()で取得した値と取得したいキーのマスク値をANDして、0でなければ押されている状態となります。

UINT8 key;
key = joypad();
if (key & J_A) {
    // Aボタンが押されている場合
} else {
    // Aボタンが押されていない場合
}

各ボタンのマスク値

定義 マスク(16進数) マスク(2進数)
J_START 0x80 10000000
J_SELECT 0x40 01000000
J_B 0x20 00100000
J_A 0x10 00010000
J_DOWN 0x08 00001000
J_UP 0x04 00000100
J_LEFT 0x02 00000010
J_RIGHT 0x01 00000001

サンプルソース

押されているキーを表示します。

#include <stdio.h>
#include <gb.h>

void main()
{    
    UINT8 key;

    while(1) {
        key = joypad();
        
        if (key & J_START) {
            gotoxy(1, 1);
            printf("START\n");
        } else {
            gotoxy(1, 1);
            printf("      \n");
        }
        
        if (key & J_SELECT) {
            gotoxy(1, 2);
            printf("SELECT\n");
        } else {
            gotoxy(1, 2);
            printf("      \n");
        }
        
        if (key & J_B) {
            gotoxy(1, 3);
            printf("B\n");
        } else {
            gotoxy(1, 3);
            printf("      \n");
        }
        
        if (key & J_A) {
            gotoxy(1, 4);
            printf("A\n");
        } else {
            gotoxy(1, 4);
            printf("      \n");
        }
        
        if (key & J_DOWN) {
            gotoxy(1, 5);
            printf("DOWN\n");
        } else {
            gotoxy(1, 5);
            printf("      \n");
        }
        
        if (key & J_UP) {
            gotoxy(1, 6);
            printf("UP\n");
        } else {
            gotoxy(1, 6);
            printf("      \n");
        }
        
        if (key & J_LEFT) {
            gotoxy(1, 7);
            printf("LEFT\n");
        } else {
            gotoxy(1, 7);
            printf("      \n");
        }
        
        if (key & J_RIGHT) {
            gotoxy(1, 8);
            printf("RIGHT\n");
        } else {
            gotoxy(1, 8);
            printf("      \n");
        }
        
    }
}

ゲームボーイパーフェクトカタログ (G-MOOK)

ゲームボーイパーフェクトカタログ (G-MOOK)

  • 発売日: 2018/10/29
  • メディア: ムック
ゲームボーイコンプリートガイド

ゲームボーイコンプリートガイド

  • 発売日: 2019/08/01
  • メディア: Kindle版